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