java学习笔记1--开发环境平台总结
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note1.html,轉(zhuǎn)載請注明源地址。
1.Java程序設(shè)計(jì)語言
Java程序設(shè)計(jì)語言是一種高級語言,它用我們熟悉的字詞、句等表述需要計(jì)算機(jī)為我們做的事情。大多數(shù)程序設(shè)計(jì)語言,都要經(jīng)過編譯或解釋以便能在計(jì)算機(jī)上運(yùn)行。
在Java程序設(shè)計(jì)語言中,所有源代碼寫在一個(gè)擴(kuò)展名是.java的純文本文件里。這些源文件通過Java編譯器(javac.exe)編譯成.class文件。.class文件不包含本地處理器的代碼,而包含Java虛擬機(jī)機(jī)器語言代碼,它是一種在Java平臺上被解釋器解釋的平臺無關(guān)代碼,稱之為“字節(jié)碼”。
Java執(zhí)行工具(java)用來運(yùn)行.class文件,它是一個(gè)解釋程序,又稱“Java虛擬機(jī)”,它負(fù)責(zé)解釋分解并執(zhí)行每個(gè)Java字節(jié)碼指令。下圖反映這個(gè)過程:
Java虛擬計(jì)算機(jī),可以認(rèn)為Java字節(jié)碼像機(jī)器指令碼一樣。任何Java解釋器,不論是開發(fā)工具的,還是運(yùn)行applet的web瀏覽器,都可認(rèn)為是運(yùn)行的Java虛擬計(jì)算機(jī)。Java虛擬機(jī)在許多不同的操作系統(tǒng)都是有效的,所以同樣的.class文件有能力運(yùn)行在Windows、Solaris、 Linux、MacOS等多種操作系統(tǒng)下,如圖:?
2.Java平臺?
平臺是程序運(yùn)行的硬件和軟件環(huán)境。我們已經(jīng)了解的一些流行平臺像Windows、Linux、Solaris和MacOS等。多數(shù)平臺被描述成操作系統(tǒng)與硬件的復(fù)合體。Java平臺不同于其它平臺,它是一個(gè)純軟件平臺,在其它硬件基礎(chǔ)平臺上運(yùn)行,如下圖:
Java平臺有兩個(gè)部分:
Java虛擬機(jī)(Java VM)
Java應(yīng)用程序接口(Java API)
? Java虛擬機(jī)是Java平臺的基礎(chǔ),是在各種不同的硬件基礎(chǔ)平臺上的接入口。Java字節(jié)碼程序就是由它解釋并執(zhí)行,同時(shí)提供程序的運(yùn)行環(huán)境。
? Java API是一個(gè)巨大的,提供許多有用功能的,軟件組成的集合體。Java API被組合在庫中,由相關(guān)的類和接口構(gòu)成,這些庫稱做“包”。下圖表示運(yùn)行在Java平臺上的程序。圖中顯示,Java API和虛擬機(jī)把程序與硬件隔離開,Java程序通過API在VM上運(yùn)行。?
3.Java術(shù)語
JVM - java虛擬機(jī)
JVM將 java 字節(jié)碼程序翻譯成機(jī)器語言。然后由計(jì)算機(jī)執(zhí)行。
JRE - java 運(yùn)行環(huán)境
JRE 是由JVM 和 java platform 核心類以及相關(guān)支撐文件組成。
API - Application programming interface.
API 是rules(syntax) :在java技術(shù)中如何編程。
API包括數(shù)百個(gè)類——公司預(yù)先編好的代碼,你可以在編程中充分利用它們的功能。
JDK — java developer’s kit (java開發(fā)工具包) JDK 包含JVM和其他工具,以及所有的API和相關(guān)的文件。 JDK 是java 技術(shù)的舊名(1999年11月以前采用), JDK1.1 是最后版本。 Java 2 — Java 2 Platform, J2 SDK –java技術(shù)的新名稱。 SDK — Software Development Kit4.Java虛擬機(jī)
JVM提供以下定義:
-
指令集(Bytecodes 是JVM的機(jī)器指令)。
-
寄存器組
-
類文件格式
-
棧
-
垃圾回收“堆”(實(shí)現(xiàn)內(nèi)存的動態(tài)分配和自動回收)
-
內(nèi)存區(qū)域?
Java程序執(zhí)行時(shí),首先虛擬機(jī)對要執(zhí)行的class文件裝載,然后對字節(jié)碼進(jìn)行驗(yàn)證,最后用解釋器對字節(jié)碼解釋執(zhí)行,下圖是jvm的邏輯構(gòu)造:
加載代碼 — 類裝配器
加載程序運(yùn)行所需要的所有的類。類裝配器將本地文件系統(tǒng)的類的名字空間與從網(wǎng)絡(luò)資源來的類的名字空間分開。這樣就限制了特洛伊木馬程序,因?yàn)楸镜仡惪偸鞘紫燃虞d。
一旦所有的類被加載,可執(zhí)行程序的內(nèi)存布局就被確定了。內(nèi)存地址被分配給符號引用表,查找表被建立。由于內(nèi)存的布局出現(xiàn)在運(yùn)行時(shí)刻,防止了對于代碼域的未授權(quán)的訪問。
驗(yàn)證代碼 — 字節(jié)碼驗(yàn)證器
java代碼在你的機(jī)器上執(zhí)行前要經(jīng)過幾個(gè)測試。字節(jié)碼驗(yàn)證器測試代碼段的格式,檢查代碼段是否有非法代碼(偽造指針,對象上的非法存取,試圖改變對象類型等)。
所有網(wǎng)絡(luò)來的類文件都要經(jīng)過字節(jié)碼驗(yàn)證。
執(zhí)行代碼 — 解釋器
5.建立Java平臺和開發(fā)環(huán)境
1.建立Java平臺
Java平臺的建立只需安裝JDK或JRE就可以完成。JRE是Java運(yùn)行環(huán)境(Java Runtime Environment)縮寫,如果僅僅用來運(yùn)行Java程序,僅安裝JRE就可以了。如果需要開發(fā)和運(yùn)行Java程序,就必須安裝JDK。
第一步:下載JDK。
第二步:運(yùn)行JDK安裝程序。
以上兩步比較簡單,不贅述
第三步:設(shè)置JDK環(huán)境變量。
通常JDK安裝完成后需要設(shè)置Java環(huán)境變量PATH和CLASSPATH。
(1).PATH變量
? 是操作系統(tǒng)用于查找可執(zhí)行文件的目錄集,格式如下:
???? PATH=<PATH原有的內(nèi)容>;<JDK安裝目錄>\bin
JDK安裝完成以后需要將開發(fā)工具的存放目錄加入到PATH變量中,使得在編譯或執(zhí)行Java程序時(shí)操作系統(tǒng)能夠找到編譯程序javac或解釋程序java。
(2).CLASSPATH變量
是Java編譯器編譯用于查找相關(guān)類或接口的目錄集,也是Java解釋器用于查找相關(guān)類或接口的目錄集,格式如下:
?CLASSPATH=<class文件目錄>或<jar文件路徑名>[;...]
這里< jar文件路徑名>由每個(gè)jar文件及存放它的目錄名組成,例如
? ? D:\Program Files (x86)\Java\jdk1.7.0_07\lib\dt.jar
多個(gè)路徑名之間用“;”分隔。
在Windows系統(tǒng)下設(shè)置環(huán)境變量可以從控制面板的系統(tǒng)設(shè)置添加,或者“計(jì)算機(jī)”->“屬性”->"高級系統(tǒng)設(shè)置"->"環(huán)境變量"
這里以JDK1.7為例介紹環(huán)境變量的設(shè)置過程,假設(shè)JDK安裝的安裝路徑是
D:\Program Files (x86)\Java\jdk1.7.0_07
在命令行中輸入下面命令:
java -version
顯示下面的版本信息,說明配置成功!
2、建立Java開發(fā)環(huán)境
Java平臺建立(即安裝JDK)完成后就可以運(yùn)行或開發(fā)Java程序了。JDK提供了基本的Java開發(fā)工具,這些工具放在JDK安裝目錄下的bin目錄。但是,對于復(fù)雜大型的Java程序是不能滿足要求,需要專門的集成開發(fā)工具。下面分別介紹JDK提供主要工具軟件,并對常用的集成開發(fā)工具做簡單介紹。
(1)JDK開發(fā)工具?
JDK開發(fā)工具包括工具和實(shí)用程序,可幫助開發(fā)、執(zhí)行、調(diào)試和保存以 Java 編程語言編寫的程序。在這些程序中主要工具程序有:編譯工具Javac,解釋工具Java,文檔生成工具,Java平臺調(diào)試工具等。
JavacJava編譯器,將Java源程序編譯成字節(jié)碼,生成class文件。在bin目錄下,文件名稱是javac.exe。命令格式:
? ?javac [選項(xiàng)] 源文件 [類] [ @argfiles ]
其中,
選 項(xiàng) –- 編譯參數(shù)。
源文件 -– 一個(gè)或多個(gè)需要編譯的java源程序文件。
類 –- 一個(gè)或多類。
@argfiles -– 參數(shù)文件。?
使用示例:編譯Java源程序helloworld.java。?
Java解釋器,直接從類文件執(zhí)行Java應(yīng)用程序,即application。命令格式:
java [選項(xiàng)] 類 [參數(shù)... ]
java [選項(xiàng)] -jar jar文件 [參數(shù)... ]
javaw [選項(xiàng)] 類 [參數(shù)... ]
javaw [選項(xiàng)] -jar jar文件 [參數(shù)... ]
其中:
選項(xiàng) ? ? ? ?-– 運(yùn)行參數(shù)。
類 ? ? ? ? ? -– 被調(diào)用的類的名稱。
-jar jar文件 -– 被調(diào)用的jar文件名稱。
參數(shù) ? ? ? ? -– 傳送給main方法的參數(shù)串。
使用示例:執(zhí)行Java類hello.class
(2)Java集成開發(fā)工具?
集成開發(fā)環(huán)境(簡稱IDE及Integrated Development Environment的縮寫)是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。就是集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)套。所有具備這一特性的軟件或者軟件套(組)都可以叫做集成開發(fā)環(huán)境,可以獨(dú)立運(yùn)行,也可以和其它程序并用。JAVA的集成開發(fā)環(huán)境很多,比如 JCreator,NeBeans,Java Studio,JBuilder,Java Workshop,JDeveloper,Visual Age for java,Eclipse等等,這里簡單介紹netbeans和eclipse。?
NetBeans IDE
NetBeans是一個(gè)全功能的開放源碼Java IDE,可以幫助開發(fā)人員編寫、編譯、調(diào)試和部署Java應(yīng)用,并將版本控制和XML編輯融入其眾多功能之中。NetBeans 可支持Java 2平臺標(biāo)準(zhǔn)版(J2SE)應(yīng)用的創(chuàng)建、采用JSP和Servlet的2層Web應(yīng)用的創(chuàng)建,以及用于2層Web應(yīng)用的API及軟件的核心組的創(chuàng)建。此外,NetBeans 最新牒還預(yù)裝了兩個(gè)Web服務(wù)器,即Tomcat和GlassFish,從而免除了繁瑣的配置和安裝過程。所有這些都為Java開發(fā)人員創(chuàng)造了一個(gè)可擴(kuò)展的開放源多平臺的Java IDE,以支持他們在各自所選擇的環(huán)境中從事開發(fā)工作,如Solaris、Linux、Windows或Macintosh。?
EclipseEclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為C++、Python、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺,眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。
Eclipse的運(yùn)行需要有Java的虛擬機(jī)存在,在編譯java的時(shí)候不需要額外的編譯器。自身就能對java源代碼進(jìn)行編譯。由于Eclipse是使用java編寫的,所以在跨平臺上做的很好,常用的平臺Eclipse都能運(yùn)行。
Eclipse最大的特點(diǎn)使用插件滿足使用者根據(jù)自己的需要對其進(jìn)行擴(kuò)展,且Eclipse源代碼進(jìn)行開放,使插件的數(shù)量不斷增長,其中不乏一些非常優(yōu)秀的插件。也使得Eclipse的功能大大增強(qiáng),使用Eclipse作為基礎(chǔ)來開發(fā)的軟件也很多。
?
轉(zhuǎn)載于:https://www.cnblogs.com/wuyudong/p/java-study-note1.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的java学习笔记1--开发环境平台总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery学习笔记之extend方法小
- 下一篇: 《BI那点儿事》三国人物智力分布状态分析