01-初识Java
?
? ? 本文主要用于初識Java,分別從由來、主要特點、簡單的運行機制、Windows下環境變量配置、文件命名規則等方面進行了簡單的介紹。非入門人員可以直接忽略。
Java 簡介
Java是由Sun Microsystems公司于1995年5月推出的Java面向對象程序設計語言和Java平臺的總稱。由James Gosling和同事們共同研發,并在1995年正式推出。?Java可運行于多個平臺,如Windows, Mac OS,及其他多種UNIX版本的系統。
?? ?Java分為三個體系:
JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺標準版)
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺企業版)
JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)。
?? ?2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名以取消其中的數字"2":J2EE更名為Java EE, J2SE更名為Java SE,J2ME更名為Java ME。
主要特性
?? ?Java語言是簡單的:
?? ?Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,而是引用。并提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。
?? ?Java語言是面向對象的:
?? ?Java語言提供類、接口和繼承等面向對象的特性,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。
?? ?Java語言是分布式的:
?? ?Java語言支持Internet應用的開發,在基本的Java應用編程接口中有一個網絡應用編程接口(java net),它提供了用于網絡應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分布式應用的重要手段。
?? ?Java語言是健壯的:
?? ?Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
?? ?Java語言是安全的:
?? ?Java通常被用在網絡環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網絡下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。
?? ?Java語言是體系結構中立的:
?? ?Java程序(后綴為java的文件)在Java平臺上被編譯為體系結構中立的字節碼格式(后綴為class的文件),然后可以在實現這個Java平臺的任何系統中運行。這種途徑適合于異構的網絡環境和軟件的分發。
?? ?Java語言是可移植的:
?? ?這種可移植性來源于體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。
?? ?Java語言是解釋型的:
?? ?如前所述,Java程序在Java平臺上被編譯為字節碼格式,然后可以在實現這個Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器對這些字節碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。
?? ?Java是高性能的:
?? ?與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術的發展越來越接近于C++。
?? ?Java語言是多線程的:
?? ?在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable)的構造子將一個實現了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創建的對象即為線程。值得注意的是Thread類已經實現了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,并提供多線程之間的同步機制(關鍵字為synchronized)。
?? ?Java語言是動態的:
?? ?Java語言的設計目標之一是適應于動態變化的環境。Java程序需要的類能夠動態地被載入到運行環境,也可以通過網絡來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
高級語言的運行機制
????編譯型語言:運行效率高、移植性差。如C、C++、FORTRAN、Pascal。
???? 解釋型語言:運行效率低,不能脫離解釋器獨立運行。如Ruby、Python。
???? 偽編譯型語言:如VB。先被編譯成P-代碼并將解釋引擎封裝在可執行性程序內,當運行程序時,P-代碼會被解析真正的二進制代碼。
Java程序的運行機制
????Java程序先經過編譯生成一種平臺無關的字節碼文件(也就是*.class文件),然后通過Java解釋器(JVM)針對不同平臺進行解釋執行。
Window下Java環境變量配置
????(1)JAVA_HOME指明JDK安裝路徑
???? (2)Path項下添加:%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;
?????(3)在CLASSPATH項添加:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(要加.表示當前路徑)
????注:
???? ??? 若使用1.5版本以上的JDK時則不需要第三步。
Java源文件命名規則
必須是”.java“后綴
若文件中有public類則源文件必須與public類名相同(所以一個源文件中最多只能有一個public類)
JRE和JVM的區別
????JRE(JavaRuntimeEnvironment,Java運行環境),也就是Java平臺。所有的Java 程序都要在JRE下才能運行。JDK的工具也是Java程序,也需要JRE才能運行。為了保持JDK的獨立性和完整性,在JDK的安裝過程中,JRE也是 安裝的一部分。所以,在JDK的安裝目錄下有一個名為jre的目錄,用于存放JRE文件。
?????JVM(JavaVirtualMachine,Java虛擬機)是JRE的一部分。它是一個虛構出來的計算機,是 通過在實際的計算機上仿真模擬各種計算機功能來實現的。JVM有自己完善的硬件架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。Java語言最重 要的特點就是跨平臺運行。使用JVM就是為了支持與操作系統無關,實現跨平臺。
?? ?Oracle官網中提供的結構:
參考:
https://docs.oracle.com/javase/8/docs/index.html
http://www.runoob.com/java/java-intro.html
總結
- 上一篇: 阻碍企业数字化转型的十个“拦路虎”
- 下一篇: 推荐一款配有强大数据管理和可视化ETL的