目錄
發展史:
機器語言:打孔機→彙編語言→C,Pascal,Fortran面向過程;C++面向過程/對象;Java跨平臺的純面向對象;.NET跨語言;
原理:
源代碼——【.java】源文件——編譯產生【*.class】類文件——虛擬機JVM運行main()產生結果
【源文件.包含類,類包含一系列指令或方法,指令或方法類似於一個函數過程】
Java特點
- 面向對象
- 與平臺無關,提供程序運行的解釋環境(虛擬機)
- 健壯,吸收C/C++優點,但去除其影響程序健壯性的部分(指針,內存的申請與釋放)
核心機制
- JavaVituralMachine:不同平臺有不同虛擬機JVM(以字節碼class文件爲機器指令的CPU),實現了“一次編譯,隨處運行”。(跨平臺)【屏蔽底層操作系統,在接口之上直接編程,“分層”的理念】
- GarbageCollection垃圾收集機制(自動):提供系統級線程跟蹤存儲空間的分配情況。JVM空閒時檢查並釋放可被釋放的存儲器空間。【健壯】
基本概念
java是解釋型語言:JVM一行一行解釋*.class文件,生成計算機理解的文件格式。
C,C++是編譯型語言:直接可以編譯成計算機理解的文件格式(.exe)。
J2SDK:software development kit(軟件開發包),用戶開發需要SDK/JDK/j2se。
JRE:java runtime environment(java運行環境),用戶運行需要JRE。
配置環境變量:
- path:win系統執行命令要搜尋的路徑,
- classpath:java編譯運行時要找的class所在路徑。
驗證:java執行java程序,javac編譯java程序。