Core Java(一)
一. 緒
1.軟件:按照特定順序組織的計算機數據和指令的集合。
?? 軟件開發:借助開發工具與計算機語言制作軟件
2.計算機語言:用于人與計算機通訊的語言
?? 分為機器語言,匯編語言,高級語言
?? 高級語言分為編譯行語言和解釋型語言
?? 編譯型語言:源程序編譯成二進制代碼的可運行程序,然后運行??? 源代碼-->機器碼???????? 執行速度快,效率高,依賴編譯器,跨平臺性差
?? 解釋型語言:源程序翻譯一句執行一句,知道結束 ?? 源代碼-->中間代碼(字節碼文件)-->機器碼???? 執行速度慢,效率低,依賴解釋器,跨平臺性好
通俗的講,編譯語言是在編譯后可以直接運行,而解釋語言的執行需要一個解釋環境。java很特殊,java程序也需要編譯,但是沒有直接編譯稱為機器語言,而是編譯稱為字節碼,然后用解釋方式執行字節碼。
?
——常用的DOS命令
???????打開DOS控制臺的方式
???????????????1、開始—程序—附件—命令提示符
?????????????????2、開始—運行—cmd—回車
?????????????????3、win+r—cmd—回車
???????常用的DOS命令
????????d: 回車 盤符切換
????????dir(directory):列出當前目錄下的文件以及文件夾
????????md (make directory) : 創建目錄
????????rd (remove directory): 刪除目錄
????????cd (change directory)改變指定目錄(進入指定目錄)
????????cd.. : 退回到上一級目錄
????????cd\: 退回到根目錄
????????del (delete): 刪除文件,刪除一堆后綴名一樣的文件*.txt
????????exit : 退出dos命令行
????????cls : (clear screen)清屏
?
——Java語言平臺版本
???????J2SE ?Java SE(Java 2 Platform Standard Edition)標準版
???????是為開發普通桌面和商務應用程序提供的解決方案,該技術體系是其他兩者的基礎,可以完成一些桌面應用程序的開發。
???????J2ME(Java 2 Platform Micro Edition)小型版
???????是為開發電子消費產品和嵌入式設備提供的解決方案。
??????
???????J2EE(Java 2 Platform Enterprise Edition)企業版
???????是為開發企業環境下的應用程序提供的一套解決方案,該技術體系中包含的技術如 Servlet、Jsp等,主要針對于Web應用程序開發。
?
????——配置環境變量
????????????? 我的電腦(右鍵)—>屬性—>高級系統設置—>高級—>環境變量
??????????????——JAVA_HOME
?????????????????????系統變量自帶是沒有JAVA_HOME這個變量,變量值就是JDK安裝的路徑,需要自己編輯如下:
?
??????????????——PATH
??????????????????????PATH在系統變量中本來就是存在的,在最前面輸入Bin的路徑(用分號隔開其他路徑),編輯如下:
$JAVA_HOME%\bin
C:\java\jdk\bin
?
?
???????????????——CLASSPATH?
???????????????????????系統自帶的變量是沒有CLASSPATH的,需要添加
??????????????
?
?
?
????????這是 Java 的環境配置,配置完成后,可以啟動 Eclipse 來編寫代碼,它會自動完成java環境的配置。
????????注意:如果使用1.5以上版本的JDK,不用設置CLASSPATH環境變量,也可以正常編譯和運行Java程序。
???????????????????——測試JDK是否安裝成功
???????????????????????1、"開始"->"運行",鍵入"cmd";
???????????????????????2、鍵入命令: java -version、java、javac 幾個命令,出現以下信息,說明環境變量配置成功;
?
?
?——Java語言的主要特性
1.跨平臺性
軟件不受計算機硬件和操作系統的約束,而在任意計算機環境下正常運行
在Java語言中, Java自帶的虛擬機很好地實現了跨平臺性。
2.面向對象
3.安全性(魯棒性)
4.多線程
多線程是指允許一個應用程序同時存在兩個或兩個以上的線程,用于支持事務并發和多任務處理。 Java除了內置的多線程技術之外,還定義了一些類、方法等來建立和管理用戶定義的多線程。
5.簡單易用
?
——JRE與JDK
???JRE(Java Runtime Environment ???Java運行環境)
???????包括Java虛擬機(JVM Java Virtual Machine)和Java程序所需的核心類庫等,如果想要運行一個開發好的Java程序,計算機中只需要安裝JRE即可。
???????JDK(Java Development Kit ???Java開發工具包)
???????JDK是提供給Java開發人員使用的,其中包含了java的開發工具,也包括了JRE。所以安裝了JDK,就不用在單獨安裝JRE了。
???????其中的開發工具:編譯工具(javac.exe) ?打包工具(jar.exe)等
???????簡單而言:使用JDK開發完成的java程序,交給JRE去運行。
?
——Java的跨平臺性
?
?
????????因為有了JVM,所以同一個Java程序在三個不同的操作系統中都可以執行。這樣就實現了Java程序的跨平臺性。也稱為Java具有良好的可移植性。
????????Java語言是跨平臺的,而JVM不是跨平臺的。
?
????????——Bytecode(字節碼文件)
???????????????字節碼文件是經過編譯器預處理過的一種文件,是JAVA的執行文件存在形式,它本身是二進制文件,但是不可以被系統直接執行,而是需要虛擬機解釋執行,由于被預處理過,所以比一般的解釋代碼要快,但是仍然會比系統直接執行的慢。
??????????????機器碼,完全依附硬件而存在,并且不同硬件由于內嵌指令集不同,即使相同的0 1代碼 意思也可能是不同的~換句話說,根本不存在跨平臺性~比如~不同型號的CPU,你給他個指令10001101,他們可能會解析為不同的結果。
?????????????????我們知道JAVA是跨平臺的,為什么呢?因為他有一個jvm,不論那種硬件,只要你裝有jvm,那么他就認識這個JAVA字節碼,至于底層的機器碼,咱不用管,有jvm搞定,他會把字節碼再翻譯成所在機器認識的機器碼。
?
——GC????垃圾回收器
????????Java的內存管理實際上就是對象的管理,其中包括對象的分配和釋放。
?????? 對于程序員來說,分配對象使用new關鍵字;釋放對象時,只要將對象所有引用賦值為null,讓程序不能夠再訪問到這個對象,我們稱該對象為“不可達的”,GC將負責回收所有“不可達”對象的內存空間。
? ? ?? gc會開啟線程清理內存,不是及時回收的,根據內存效率,如果真的內存緊張了,才會回收,或者系統處于空閑狀態,才會回收,所以說gc優先級較低,為的就是提高運行效率,程序員無法對其控制,由虛擬機控制,我們只能提出建議,但是人家不一定接受。
??????System.gc()/Runtime.gc() ?????????//代碼作用建議垃圾回收此處進行工作
?
?
?
?
什么是跨平臺性?
???????通過Java語言編寫的應用程序在不同的系統平臺上都可以運行。
原理是什么?
???????只要在需要運行java應用程序的操作系統上,
先安裝一個Java虛擬機(JVM Java Virtual Machine)即可。由JVM來負責Java程序在該系統中的運行。
?
為什么JDK中包含一個JRE呢?
??????其一,開發完的程序,總需要運行一下看看效果。
??????其二,也是最重要的,JDK中的開發工具其實都是java語言編寫的應用程序,為了方便使用才打包成exe文件,如果沒有JRE,那么這些工具是運行不了的。
轉載于:https://www.cnblogs.com/wcoding/p/8526001.html
總結
以上是生活随笔為你收集整理的Core Java(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】谷歌的速成课程(二)
- 下一篇: RxJava2学习笔记(3)