java概念
Java是一種可以撰寫跨平臺應(yīng)用程序的、面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。簡單說,Java就是一種語言,不過是一種針對jvm的語言,Java編譯后是字節(jié)碼,而jvm會把這些字節(jié)碼解釋成機(jī)器碼,然后做出相應(yīng)的動作。
java虛擬機(jī)
Java虛擬機(jī)(JVM)是Java Virtual Machine的縮寫,是指建立在硬件和操作系統(tǒng)之上,運(yùn)用硬件或軟件手段實(shí)現(xiàn)的虛擬的計(jì)算機(jī)。
Java虛擬機(jī)有自己完善的硬件架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)??梢赃\(yùn)行Java字節(jié)碼的虛擬計(jì)算機(jī)系統(tǒng) ,它有一個解釋器組件,可以實(shí)現(xiàn)Java字節(jié)碼和計(jì)算機(jī)操作系統(tǒng)之間的通信。
java的垃圾回收機(jī)制
gc即垃圾收集機(jī)制是指jvm用于釋放那些不再使用的對象所占用的內(nèi)存。在C/C++中,程序員需要自己管理內(nèi)存,Java提供了一個系統(tǒng)級的線程來跟蹤內(nèi)存分配,不再使用的內(nèi)存區(qū)將會自動回收不同的JVM的實(shí)現(xiàn)中,垃圾收集機(jī)制大不相同若需要使一個對象被回收,必須移除其上的所有引用,通??蓪⑵渲肗ULL但是,即使有了垃圾收集機(jī)制,仍然可能出現(xiàn)內(nèi)存溢出的情況。
java運(yùn)行環(huán)境搭建
JAVA_HOME
C:Javajdk1.7.0_55
PATH
%JAVA_HOME%bin;%JAVA_HOME%jrebin;
CLASSPATH
.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar
java的優(yōu)點(diǎn)
1、平臺無關(guān)性
平臺無關(guān)性是指Java能運(yùn)行于不同的平臺。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內(nèi)共享。虛擬機(jī)是個用來解釋Java指令的軟件包,可以讓Java在任何機(jī)器上運(yùn)行,比如有運(yùn)行在Mac或 UNIX下的虛擬機(jī)軟件包。
2、安全性
Java的編程類似C++,學(xué)習(xí)過C++的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序運(yùn)行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。Java對程序提供了安全管理器,防止程序的非法訪問。
3、面向?qū)ο?/strong>
Java吸取了C++面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,利用類的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡潔性和便于維護(hù)性。類的封裝性、繼承性等有關(guān)對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復(fù)利用。
4、分布式
Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。
5、解釋型
我們知道C,C++等語言,都是針對CPU芯片進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行就和特定的CPU有關(guān)。Java不像C或C++,它不針對CPU芯片進(jìn)行編譯,而是把程序編譯成稱為自字節(jié)碼的一種“中間代碼”。字節(jié)碼是很接近機(jī)器碼的文件,可以在提供了java虛擬機(jī)(JVM)的任何系統(tǒng)上被解釋執(zhí)行。
6、動態(tài)
java程序的基本組成單元就是類,有些類是自己編寫的,有些是從類庫中引入的,而類又是運(yùn)行時動態(tài)裝載的,這就使得Java可以在分部環(huán)境中動態(tài)的維護(hù)程序及分類,而不像C++那樣,沒檔期類庫升級以后,如果想讓程序具有新類庫提供的功能,就需要修改程序,重新編譯。
java的用途
1、網(wǎng)絡(luò)應(yīng)用程序開發(fā),例如:網(wǎng)上銀行(中國銀行,建設(shè)銀行,工商銀行的網(wǎng)上銀行都是用J2EE開發(fā)出來的,你看看他網(wǎng)銀的網(wǎng)頁的后綴名JSP就知道),網(wǎng)頁游戲等。
企業(yè)管理軟件,現(xiàn)在很流行的B/S(瀏覽器/服務(wù)器)架構(gòu)管理程序很多就是用J2EE開發(fā)的。
3、手機(jī)游戲,你看到那些手機(jī)游戲安裝文件的后綴名.jar了嗎?就是這JAVA開發(fā)出來的標(biāo)志。開發(fā)這些東西一般用JAVA ME(J2ME)。
4、嵌入式開發(fā),例如給電視機(jī)頂盒,小型家電寫程序。java se(j2se)是一個基礎(chǔ),如果你想靠JAVA吃飯那么J2EE和J2ME要選一個來學(xué)深入學(xué)習(xí)。如果想做網(wǎng)絡(luò)程序就學(xué)J2EE,想學(xué)手機(jī)編程,嵌入式類的就去學(xué)J2ME.不過一般J2EE的工作機(jī)會比較多。
推薦教程:java快速入門