Java虛擬機(JVM)一種用於計算機設備的規范,可用不同的方式(軟體或硬體)加以實現。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。Java虛擬機包括一套位元組碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。
Java虛擬機(JVM)是可運行Java代碼的假想計算機。只要根據JVM規格描述將解釋器移植到特定的計算機上,就能保證經過編譯的任何Java代碼能夠在該系統上運行。
Java虛擬機是一個想像中的機器,在實際的計算機上通過軟體模擬來實現。Java虛擬機有自己想像中的硬體,如處理器、堆棧、寄存器等,還具有相應的指令系統。
參考:http://ke..com/view/374952.htm
Javac編譯器
Javac編譯器讀取Java源代碼,並將其編譯成位元組代碼,調用Javac的命令行示例如下:
C:>javac options filename.java
值得注重的是,和Java解釋器不同,Javac 編譯器期望它正在編譯的文件具有擴展名.java。其命令行如下表 選項 功能
-classpath path 此選項用於設定路徑,在該路徑上Javac尋找需被調用的類。該路徑是一個用分號分開的目錄列表。
-d Directory 此選項指定一個根目錄。該目錄用來創建反映軟體包繼續關系的目錄數。
-g 此選項在代碼產生器中打開調試表,以後可憑此調試產生位元組代碼。
-nowarn 此選項禁止編譯器產生警告。
-o 此選項告訴javac優化由內聯的static、final以及privite成員函數所產生的碼。
-verbose 此選項告知Java顯示出有關被編譯的源文件和任何被調用類庫的信息。
參考:http://ke..com/view/2972115.htm
❷ java中eclipse,jdk,jvm,jre,編譯器的區別
Eclipse 是一個開放源代碼的、基於Java的可擴展開發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。最初主要用來Java語言開發,通過安裝不同的插件Eclipse可以支持不同的計算機語言,比如C++和Python等開發工具。Eclipse的本身只是一個框架平台,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟體很難具有的靈活性。許多軟體開發商以Eclipse為框架開發自己的IDE。
JDK是java開發工具包,基本上每個學java的人都會先在機器 上裝一個JDK,那他都包含哪幾部分呢?看一下JDK的安裝目錄。在目錄下面有 六個文件夾、一個src類庫源碼壓縮包、和其他幾個聲明文件。其中,真正在運行java時起作用的 是以下四個文件夾:bin、include、lib、 jre。可以看出這樣一個關系,JDK包含JRE,而JRE包 含JVM。
bin:最主要的是編譯器(javac.exe)
include:java和JVM交互用的頭文件
lib:類庫
jre:java運行環境
(注意:這里的bin、lib文件夾和jre里的bin、lib是不同的)總的來說JDK是用於java程序的開發,而jre則是只能運行class而沒有編譯的功能。
eclipse、idea等其他IDE有自己的編譯器而不是用JDK bin目錄中自帶的,所以在安裝時會發現他們只要求選中jre路徑就ok了。
JVM就是常說的java虛擬機,它是整個java實現跨平台的 最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執行,也就是說class並不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行。
JVM 是 Java 平台的基礎,和實際的機器一樣,它也有自己的指令集,並且在運行 時操作不同的內存區域。 JVM 通過抽象操作系統和 CPU 結構,提供了一種與平台無關的代碼執行方法,即與特殊的實現方 法、主機硬體、主機操作系統無關。但是在一些小的方面, JVM 的實現也是互不相同的,比如垃圾回收 演算法,線程調度演算法(可能不同 OS 有不同的實現)。
JVM 的主要工作是解釋自己的指令集(即位元組碼)到 CPU 的指令集或 OS 的系統調用,保護用戶免被惡意程序騷擾。 JVM 對上層的 Java 源文件是不關心的,它關注的只是由源文件生成的類文件( class file )。類文件的 組成包括 JVM 指令集,符號表以及一些補助信息。
JRE是指java運行環境。光有JVM還不能成class的執行,因為在解釋class的時候JVM需要調用解釋所需要的類庫lib。 在JDK的安裝目錄里可以找到jre目錄,裡面有兩個文件夾bin和lib,在 這里可以認為bin里的就是jvm,lib中則是jvm工 作所需要的類庫,而jvm和 lib和起來就稱為jre。
JRE 是 Sun 公司發布的一個更大的系統,它裡面就有一個 JVM 。 JRE 就與具體的 CPU 結構和操作系統有關,從 Sun 下載 JRE 的時候就看到了不同的各種版本。同 JVM 一起組成 JRE 的還有一些 API (如 awt , swing 等)。 JRE 是運行 Java 程序必不可少的。
JRE ( Java Runtime Environment ),是運行 Java 程序必不可少的(除非用其他一些編譯環境編譯成.exe可執行文件……),JRE的地位就象一台PC機一樣,寫好的Win32應用程序需要操作系統幫助運行,同樣的,編寫的Java程序也必須要JRE才能運行。
JRE裡面有一個 JVM , JRE 與具體的 CPU 結構和操作系統有關,從 Sun 下載 JRE 的時候就看到了不同的各種版本,同 JVM 一起組成 JRE 的還有 一些 API (如 awt , swing 等), JRE 是運行 Java 程序必不可少的。
❸ java緙栬瘧鍣ㄦ槸浠涔
Java緙栬瘧鍣ㄦ槸涓縐嶅皢Java婧愪唬鐮佺紪璇戜負Java瀛楄妭鐮佺殑紼嬪簭銆侸ava婧愪唬鐮佹槸浠.java鏂囦歡鐨勫艦寮忓瓨鍌ㄧ殑錛岃孞ava瀛楄妭鐮佹槸涓縐嶇敱Java鉶氭嫙鏈猴紙JVM錛夊彲璇嗗埆鐨勪簩榪涘埗鏍煎紡銆傜紪璇戝櫒灝嗘簮浠g爜鏂囦歡杞鎹涓哄瓧鑺傜爜鏂囦歡錛岀劧鍚庡彲浠ュ湪Java鉶氭嫙鏈轟笂榪愯岃繖浜涘瓧鑺傜爜鏂囦歡銆
Java緙栬瘧鍣ㄩ氬父鏄疛ava寮鍙戝伐鍏峰寘錛圝DK錛夌殑涓閮ㄥ垎錛屾偍鍙浠ラ氳繃瀹夎匤DK鏉ヨ幏寰桱ava緙栬瘧鍣ㄣ侸DK榪樺寘鎷琂ava鉶氭嫙鏈猴紙JVM錛夊拰鍏朵粬Java寮鍙戝伐鍏鳳紝渚嬪傝皟璇曞櫒銆佹枃妗g敓鎴愬櫒絳夌瓑銆傚湪鍛戒護琛屼笅錛屾偍鍙浠ヤ嬌鐢╦avac鍛戒護鏉ヨ皟鐢↗ava緙栬瘧鍣錛屽皢婧愪唬鐮佹枃浠剁紪璇戜負瀛楄妭鐮佹枃浠躲備互涓嬫槸涓浜涘父鐢ㄧ殑Java緙栬瘧鍣ㄨ蔣浠躲
1銆丱racle JDK錛歄racle Java Development Kit鏄涓嬈劇敱Oracle鎻愪緵鐨凧ava寮鍙戝伐鍏峰寘錛屽寘鎷琂ava緙栬瘧鍣錛坖avac錛夊拰鍏朵粬寮鍙戝伐鍏楓
2銆丱penJDK錛歄penJDK鏄涓涓鍏嶈垂鐨凧ava寮鍙戝伐鍏峰寘錛屾槸Oracle JDK鐨勫紑婧愭浛浠e搧銆傚畠鍖呭惈Java緙栬瘧鍣ㄥ拰鍏朵粬寮鍙戝伐鍏楓
3銆丒clipse錛欵clipse鏄涓涓嫻佽岀殑Java闆嗘垚寮鍙戠幆澧冿紙IDE錛夛紝鍖呮嫭Java緙栬瘧鍣ㄥ拰鍏朵粬寮鍙戝伐鍏楓傚畠榪樻敮鎸佸叾浠栫紪紼嬭璦鐨勫紑鍙戙
4銆丯etBeans錛歂etBeans鏄鍙︿竴涓嫻佽岀殑Java IDE錛屽寘鎷琂ava緙栬瘧鍣ㄥ拰鍏朵粬寮鍙戝伐鍏楓傚畠涔熸敮鎸佸叾浠栫紪紼嬭璦鐨勫紑鍙戙
5銆両ntelliJ IDEA錛欼ntelliJ IDEA鏄涓嬈炬祦琛岀殑Java IDE錛屽寘鎷琂ava緙栬瘧鍣ㄥ拰鍏朵粬寮鍙戝伐鍏楓傚畠榪樻敮鎸佸叾浠栫紪紼嬭璦鐨勫紑鍙戙
6銆丣Creator錛欽Creator鏄涓嬈綣ava IDE錛屽寘鎷琂ava緙栬瘧鍣ㄥ拰鍏朵粬寮鍙戝伐鍏楓傚畠涔熸湁涓涓鍏嶈垂鐗堟湰鍜屼竴涓浠樿垂鐗堟湰銆
7銆丅lueJ錛欱lueJ鏄涓嬈句笓涓哄垵瀛﹁呰捐$殑Java IDE錛屽寘鎷琂ava緙栬瘧鍣ㄥ拰鍏朵粬寮鍙戝伐鍏楓
闄や簡榪欎簺錛岃繕鏈夎稿氬叾浠栫殑Java緙栬瘧鍣ㄥ拰闆嗘垚寮鍙戠幆澧冨彲渚涢夋嫨錛屼綘鍙浠ユ牴鎹鑷宸辯殑闇奼傚拰鍠滃ソ閫夋嫨閫傚悎鑷宸辯殑宸ュ叿銆
❹ java編譯器和java虛擬機的關系
java編譯器是開發java程序用的
java虛擬機是java跨平台的解釋java程序和運行java程序用的
❺ 浠涔堝彨鉶氭嫙鏈猴紵
浠涔堟槸鉶氭嫙鏈猴紵
鉶氭嫙鏈虹殑姒傚康姣旇緝瀹芥硾錛岄氬父浜轟滑鎺ヨЕ鍒扮殑鉶氭嫙鏈烘傚康鏈塚Mware閭f牱鐨勭‖浠舵ā鎷熻蔣浠訛紝涔熸湁JVM榪欐牱鐨勪粙浜庣‖浠跺拰緙栬瘧紼嬪簭涔嬮棿鐨勮蔣浠躲傝繖閲屾墍鎸囩殑鏄鍚庤呫
鉶氭嫙鏈烘槸涓涓鎶借薄鐨勮$畻鏈猴紝鍜屽疄闄呯殑璁$畻鏈轟竴鏍鳳紝鍏鋒湁涓涓鎸囦護闆嗗苟浣跨敤涓嶅悓鐨勫瓨鍌ㄥ尯鍩熴傚畠璐熻矗鎵ц屾寚浠わ紝榪樿佺$悊鏁版嵁銆佸唴瀛樺拰瀵勫瓨鍣ㄣ傝繖鍙拌櫄鎷熺殑鏈哄櫒鍦ㄤ換浣曞鉤鍙頒笂閮芥彁渚涚粰緙栬瘧紼嬪簭涓涓鐨勫叡鍚岀殑鎺ュ彛銆傜紪璇戠▼搴忓彧闇瑕侀潰鍚戣櫄鎷熸満錛岀敓鎴愯櫄鎷熸満鑳藉熺悊瑙g殑浠g爜錛岀劧鍚庣敱瑙i噴鍣ㄦ潵灝嗚櫄鎷熸満浠g爜杞鎹涓虹壒瀹氱郴緇熺殑鏈哄櫒鐮佹墽琛屻
Java鉶氭嫙鏈
涓銆佷粈涔堟槸Java鉶氭嫙鏈
Java鉶氭嫙鏈烘槸涓涓鎯寵薄涓鐨勬満鍣,鍦ㄥ疄闄呯殑璁$畻鏈轟笂閫氳繃杞浠舵ā鎷熸潵瀹炵幇銆侸ava鉶氭嫙鏈烘湁鑷宸辨兂璞′腑鐨勭‖浠,濡傚勭悊鍣ㄣ佸爢鏍堛佸瘎瀛樺櫒絳,榪樺叿鏈夌浉搴旂殑鎸囦護緋葷粺銆
1.涓轟粈涔堣佷嬌鐢↗ava鉶氭嫙鏈
Java璇璦鐨勪竴涓闈炲父閲嶈佺殑鐗圭偣灝辨槸涓庡鉤鍙扮殑鏃犲叧鎬с傝屼嬌鐢↗ava鉶氭嫙鏈烘槸瀹炵幇榪欎竴鐗圭偣鐨勫叧閿銆備竴鑸鐨勯珮綰ц璦濡傛灉瑕佸湪涓嶅悓鐨勫鉤鍙頒笂榪愯,鑷沖皯闇瑕佺紪璇戞垚涓嶅悓鐨勭洰鏍囦唬鐮併傝屽紩鍏Java璇璦鉶氭嫙鏈哄悗,Java璇璦鍦ㄤ笉鍚屽鉤鍙頒笂榪愯屾椂涓嶉渶瑕侀噸鏂扮紪璇戙侸ava璇璦浣跨敤妯″紡Java鉶氭嫙鏈哄睆钄戒簡涓庡叿浣撳鉤鍙扮浉鍏崇殑淇℃伅,浣垮緱Java璇璦緙栬瘧紼嬪簭鍙闇鐢熸垚鍦↗ava鉶氭嫙鏈轟笂榪愯岀殑鐩鏍囦唬鐮(瀛楄妭鐮),灝卞彲浠ュ湪澶氱嶅鉤鍙頒笂涓嶅姞淇鏀瑰湴榪愯屻侸ava鉶氭嫙鏈哄湪鎵ц屽瓧鑺傜爜鏃,鎶婂瓧鑺傜爜瑙i噴鎴愬叿浣撳鉤鍙頒笂鐨勬満鍣ㄦ寚浠ゆ墽琛屻
2.璋侀渶瑕佷簡瑙Java鉶氭嫙鏈
Java鉶氭嫙鏈烘槸Java璇璦搴曞眰瀹炵幇鐨勫熀紜,瀵笿ava璇璦鎰熷叴瓚g殑浜洪兘搴斿笿ava鉶氭嫙鏈烘湁涓澶ф傜殑浜嗚В銆傝繖鏈夊姪浜庣悊瑙Java璇璦鐨勪竴浜涙ц川,涔熸湁鍔╀簬浣跨敤Java璇璦銆傚逛簬瑕佸湪鐗瑰畾騫沖彴涓婂疄鐜癑ava鉶氭嫙鏈虹殑杞浠朵漢鍛,Java璇璦鐨勭紪璇戝櫒浣滆呬互鍙婅佺敤紜浠惰姱鐗囧疄鐜癑ava鉶氭嫙鏈虹殑浜烘潵璇,鍒欏繀欏繪繁鍒葷悊瑙Java鉶氭嫙鏈虹殑瑙勮寖銆傚彟澶,濡傛灉浣犳兂鎵╁睍Java璇璦,鎴栨槸鎶婂叾瀹冭璦緙栬瘧鎴怞ava璇璦鐨勫瓧鑺傜爜,浣犱篃闇瑕佹繁鍏ュ湴浜嗚ВJava鉶氭嫙鏈恆
3.Java鉶氭嫙鏈烘敮鎸佺殑鏁版嵁綾誨瀷
Java鉶氭嫙鏈烘敮鎸丣ava璇璦鐨勫熀鏈鏁版嵁綾誨瀷濡備笅:
byte://1瀛楄妭鏈夌﹀彿鏁存暟鐨勮ˉ鐮
short://2瀛楄妭鏈夌﹀彿鏁存暟鐨勮ˉ鐮
int://4瀛楄妭鏈夌﹀彿鏁存暟鐨勮ˉ鐮
long://8瀛楄妭鏈夌﹀彿鏁存暟鐨勮ˉ鐮
float://4瀛楄妭IEEE754鍗曠簿搴︽誕鐐規暟
double://8瀛楄妭IEEE754鍙岀簿搴︽誕鐐規暟
char://2瀛楄妭鏃犵﹀彿Unicode瀛楃
鍑犱箮鎵鏈夌殑Java綾誨瀷媯鏌ラ兘鏄鍦ㄧ紪璇戞椂瀹屾垚鐨勩備笂闈㈠垪鍑虹殑鍘熷嬫暟鎹綾誨瀷鐨勬暟鎹鍦↗ava鎵ц屾椂涓嶉渶瑕佺敤紜浠舵爣璁般傛搷浣滆繖浜涘師濮嬫暟鎹綾誨瀷鏁版嵁鐨勫瓧鑺傜爜(鎸囦護)鏈韜灝卞凡緇忔寚鍑轟簡鎿嶄綔鏁扮殑鏁版嵁綾誨瀷,渚嬪俰add銆乴add銆乫add鍜宒add鎸囦護閮芥槸鎶婁袱涓鏁扮浉鍔,鍏舵搷浣滄暟綾誨瀷鍒鏄痠nt銆乴ong銆乫loat鍜宒ouble銆傝櫄鎷熸満娌℃湁緇檅oolean(甯冨皵)綾誨瀷璁劇疆鍗曠嫭鐨勬寚浠ゃ俠oolean鍨嬬殑鏁版嵁鏄鐢眎nteger鎸囦護,鍖呮嫭integer榪斿洖鏉ュ勭悊鐨勩俠oolean鍨嬬殑鏁扮粍鍒欐槸鐢╞yte鏁扮粍鏉ュ勭悊鐨勩傝櫄鎷熸満浣跨敤IEEE754鏍煎紡鐨勬誕鐐規暟銆備笉鏀鎸両EEE鏍煎紡鐨勮緝鏃х殑璁$畻鏈,鍦ㄨ繍琛孞ava鏁板艱$畻紼嬪簭鏃,鍙鑳戒細闈炲父鎱銆
鉶氭嫙鏈烘敮鎸佺殑鍏跺畠鏁版嵁綾誨瀷鍖呮嫭:
object//瀵逛竴涓狫avaobject(瀵硅薄)鐨4瀛楄妭寮曠敤
returnAddress//4瀛楄妭,鐢ㄤ簬jsr/ret/jsr-w/ret-w鎸囦護
娉:Java鏁扮粍琚褰撲綔object澶勭悊銆
鉶氭嫙鏈虹殑瑙勮寖瀵逛簬object鍐呴儴鐨勭粨鏋勬病鏈変換浣曠壒孌婄殑瑕佹眰銆傚湪Sun鍏鍙哥殑瀹炵幇涓,瀵篔bject鐨勫紩鐢ㄦ槸涓涓鍙ユ焺,鍏朵腑鍖呭惈涓瀵規寚閽:涓涓鎸囬拡鎸囧悜璇object鐨勬柟娉曡〃,鍙︿竴涓鎸囧悜璇object鐨勬暟鎹銆傜敤Java鉶氭嫙鏈虹殑瀛楄妭鐮佽〃紺虹殑紼嬪簭搴旇ラ伒瀹堢被鍨嬭勫畾銆侸ava鉶氭嫙鏈虹殑瀹炵幇搴旀嫆緇濇墽琛岃繚鍙嶄簡綾誨瀷瑙勫畾鐨勫瓧鑺傜爜紼嬪簭銆侸ava鉶氭嫙鏈虹敱浜庡瓧鑺傜爜瀹氫箟鐨勯檺鍒朵技涔庡彧鑳借繍琛屼簬32浣嶅湴鍧絀洪棿鐨勬満鍣ㄤ笂銆備絾鏄鍙浠ュ壋寤轟竴涓狫ava鉶氭嫙鏈,瀹冭嚜鍔ㄥ湴鎶婂瓧鑺傜爜杞鎹㈡垚64浣嶇殑褰㈠紡銆備粠Java鉶氭嫙鏈烘敮鎸佺殑鏁版嵁綾誨瀷鍙浠ョ湅鍑,Java瀵規暟鎹綾誨瀷鐨勫唴閮ㄦ牸寮忚繘琛屼簡涓ユ牸瑙勫畾,榪欐牱浣垮緱鍚勭岼ava鉶氭嫙鏈虹殑瀹炵幇瀵規暟鎹鐨勮В閲婃槸鐩稿悓鐨,浠庤屼繚璇佷簡Java鐨勪笌騫沖彴鏃犲叧鎬у拰鍙
縐繪嶆с
浜屻丣ava鉶氭嫙鏈轟綋緋葷粨鏋
Java鉶氭嫙鏈虹敱浜斾釜閮ㄥ垎緇勬垚:涓緇勬寚浠ら泦銆佷竴緇勫瘎瀛樺櫒銆佷竴涓鏍堛佷竴涓鏃犵敤鍗曞厓鏀墮泦鍫(Garbage-collected-heap)銆佷竴涓鏂規硶鍖哄煙銆傝繖浜旈儴鍒嗘槸Java鉶氭嫙鏈虹殑閫昏緫鎴愪喚,涓嶄緷璧栦換浣曞疄鐜版妧鏈鎴栫粍緇囨柟寮,浣嗗畠浠鐨勫姛鑳藉繀欏誨湪鐪熷疄鏈哄櫒涓婁互鏌愮嶆柟寮忓疄鐜般
1.Java鎸囦護闆
Java鉶氭嫙鏈烘敮鎸佸ぇ綰248涓瀛楄妭鐮併傛瘡涓瀛楄妭鐮佹墽琛屼竴縐嶅熀鏈鐨凜PU榪愮畻,渚嬪,鎶婁竴涓鏁存暟鍔犲埌瀵勫瓨鍣,瀛愮▼搴忚漿縐葷瓑銆侸ava鎸囦護闆嗙浉褰撲簬Java紼嬪簭鐨勬眹緙栬璦銆
Java鎸囦護闆嗕腑鐨勬寚浠ゅ寘鍚涓涓鍗曞瓧鑺傜殑鎿嶄綔絎,鐢ㄤ簬鎸囧畾瑕佹墽琛岀殑鎿嶄綔,榪樻湁0涓鎴栧氫釜鎿嶄綔鏁,鎻愪緵鎿嶄綔鎵闇鐨勫弬鏁版垨鏁版嵁銆傝稿氭寚浠ゆ病鏈夋搷浣滄暟,浠呯敱涓涓鍗曞瓧鑺傜殑鎿嶄綔絎︽瀯鎴愩
鉶氭嫙鏈虹殑鍐呭眰寰鐜鐨勬墽琛岃繃紼嬪備笅:
do{
鍙栦竴涓鎿嶄綔絎﹀瓧鑺;
鏍規嵁鎿嶄綔絎︾殑鍊兼墽琛屼竴涓鍔ㄤ綔;
}while(紼嬪簭鏈緇撴潫)
鐢變簬鎸囦護緋葷粺鐨勭畝鍗曟,浣垮緱鉶氭嫙鏈烘墽琛岀殑榪囩▼鍗佸垎綆鍗,浠庤屾湁鍒╀簬鎻愰珮鎵ц岀殑鏁堢巼銆傛寚浠や腑鎿嶄綔鏁扮殑鏁伴噺鍜屽ぇ灝忔槸鐢辨搷浣滅﹀喅瀹氱殑銆傚傛灉鎿嶄綔鏁版瘮涓涓瀛楄妭澶,閭d箞瀹冨瓨鍌ㄧ殑欏哄簭鏄楂樹綅瀛楄妭浼樺厛銆備緥濡,涓涓16浣嶇殑鍙傛暟瀛樻斁鏃跺崰鐢ㄤ袱涓瀛楄妭,鍏跺間負:
絎涓涓瀛楄妭*256+絎浜屼釜瀛楄妭瀛楄妭鐮佹寚浠ゆ祦涓鑸鍙鏄瀛楄妭瀵歸綈鐨勩傛寚浠tabltch鍜宭ookup鏄渚嬪,鍦ㄨ繖涓ゆ潯鎸囦護鍐呴儴瑕佹眰寮哄埗鐨4瀛楄妭杈圭晫瀵歸綈銆
2.瀵勫瓨鍣
Java鉶氭嫙鏈虹殑瀵勫瓨鍣ㄧ敤浜庝繚瀛樻満鍣ㄧ殑榪愯岀姸鎬,涓庡井澶勭悊鍣ㄤ腑鐨勬煇浜涗笓鐢ㄥ瘎瀛樺櫒綾諱技銆
Java鉶氭嫙鏈虹殑瀵勫瓨鍣ㄦ湁鍥涚:
pc:Java紼嬪簭璁℃暟鍣ㄣ
optop:鎸囧悜鎿嶄綔鏁版爤欏剁鐨勬寚閽堛
frame:鎸囧悜褰撳墠鎵ц屾柟娉曠殑鎵ц岀幆澧冪殑鎸囬拡銆
vars:鎸囧悜褰撳墠鎵ц屾柟娉曠殑灞閮ㄥ彉閲忓尯絎涓涓鍙橀噺鐨勬寚閽堛
Java鉶氭嫙鏈
Java鉶氭嫙鏈烘槸鏍堝紡鐨,瀹冧笉瀹氫箟鎴栦嬌鐢ㄥ瘎瀛樺櫒鏉ヤ紶閫掓垨鎺ュ彈鍙傛暟,鍏剁洰鐨勬槸涓轟簡淇濊瘉鎸囦護闆嗙殑綆媧佹у拰瀹炵幇鏃剁殑楂樻晥鎬(鐗瑰埆鏄瀵逛簬瀵勫瓨鍣ㄦ暟鐩涓嶅氱殑澶勭悊鍣)銆
鎵鏈夊瘎瀛樺櫒閮芥槸32浣嶇殑銆
3.鏍
Java鉶氭嫙鏈虹殑鏍堟湁涓変釜鍖哄煙:灞閮ㄥ彉閲忓尯銆佽繍琛岀幆澧冨尯銆佹搷浣滄暟鍖恆
(1)灞閮ㄥ彉閲忓尯 姣忎釜Java鏂規硶浣跨敤涓涓鍥哄畾澶у皬鐨勫矓閮ㄥ彉閲忛泦銆傚畠浠鎸夌収涓巚ars瀵勫瓨鍣ㄧ殑瀛楀嚲縐婚噺鏉ュ誨潃銆傚矓閮ㄥ彉閲忛兘鏄32浣嶇殑銆傞暱鏁存暟鍜屽弻綺懼害嫻鐐規暟鍗犳嵁浜嗕袱涓灞閮ㄥ彉閲忕殑絀洪棿,鍗存寜鐓х涓涓灞閮ㄥ彉閲忕殑緔㈠紩鏉ュ誨潃銆(渚嬪,涓涓鍏鋒湁緔㈠紩n鐨勫矓閮ㄥ彉閲,濡傛灉鏄涓涓鍙岀簿搴︽誕鐐規暟,閭d箞瀹冨疄闄呭崰鎹浜嗙儲寮昻鍜宯+1鎵浠h〃鐨勫瓨鍌ㄧ┖闂淬)鉶氭嫙鏈鴻勮寖騫朵笉瑕佹眰鍦ㄥ矓閮ㄥ彉閲忎腑鐨64浣嶇殑鍊兼槸64浣嶅歸綈鐨勩傝櫄鎷熸満鎻愪緵浜嗘妸灞閮ㄥ彉閲忎腑鐨勫艱呰澆鍒版搷浣滄暟鏍堢殑鎸囦護,涔熸彁渚涗簡鎶婃搷浣滄暟鏍堜腑鐨勫煎啓鍏ュ矓閮ㄥ彉閲忕殑鎸囦護銆
(2)榪愯岀幆澧冨尯 鍦ㄨ繍琛岀幆澧冧腑鍖呭惈鐨勪俊鎮鐢ㄤ簬鍔ㄦ侀摼鎺,姝e父鐨勬柟娉曡繑鍥炰互鍙婂紓甯鎬紶鎾銆
路鍔ㄦ侀摼鎺
榪愯岀幆澧冨寘鎷瀵規寚鍚戝綋鍓嶇被鍜屽綋鍓嶆柟娉曠殑瑙i噴鍣ㄧ﹀彿琛ㄧ殑鎸囬拡,鐢ㄤ簬鏀鎸佹柟娉曚唬鐮佺殑鍔ㄦ侀摼鎺ャ傛柟娉曠殑class鏂囦歡浠g爜鍦ㄥ紩鐢ㄨ佽皟鐢ㄧ殑鏂規硶鍜岃佽塊棶鐨勫彉閲忔椂浣跨敤絎﹀彿銆傚姩鎬侀摼鎺ユ妸絎﹀彿褰㈠紡鐨勬柟娉曡皟鐢ㄧ炕璇戞垚瀹為檯鏂規硶璋冪敤,瑁呰澆蹇呰佺殑綾諱互瑙i噴榪樻病鏈夊畾涔夌殑絎﹀彿,騫舵妸鍙橀噺璁塊棶緲昏瘧鎴愪笌榪欎簺鍙橀噺榪愯屾椂鐨勫瓨鍌ㄧ粨鏋勭浉搴旂殑鍋忕Щ鍦板潃銆傚姩鎬侀摼鎺ユ柟娉曞拰鍙橀噺浣垮緱鏂規硶涓浣跨敤鐨勫叾瀹冪被鐨勫彉鍖栦笉浼氬獎鍝嶅埌鏈紼嬪簭鐨勪唬鐮併
路姝e父鐨勬柟娉曡繑鍥
濡傛灉褰撳墠鏂規硶姝e父鍦扮粨鏉熶簡,鍦ㄦ墽琛屼簡涓鏉″叿鏈夋g『綾誨瀷鐨勮繑鍥炴寚浠ゆ椂,璋冪敤鐨勬柟娉曚細寰楀埌涓涓榪斿洖鍊箋傛墽琛岀幆澧冨湪姝e父榪斿洖鐨勬儏鍐典笅鐢ㄤ簬鎮㈠嶈皟鐢ㄨ呯殑瀵勫瓨鍣,騫舵妸璋冪敤鑰呯殑紼嬪簭璁℃暟鍣ㄥ炲姞涓涓鎮板綋鐨勬暟鍊,浠ヨ煩榪囧凡鎵ц岃繃鐨勬柟娉曡皟鐢ㄦ寚浠,鐒跺悗鍦ㄨ皟鐢ㄨ呯殑鎵ц岀幆澧冧腑緇х畫鎵ц屼笅鍘匯
路寮傚父鍜岄敊璇浼犳挱
寮傚父鎯呭喌鍦↗ava涓琚縐頒綔Error(閿欒)鎴朎xception(寮傚父),鏄疶hrowable綾葷殑瀛愮被,鍦ㄧ▼搴忎腑鐨勫師鍥犳槸:鈶犲姩鎬侀摼鎺ラ敊,濡傛棤娉曟壘鍒版墍闇鐨刢lass鏂囦歡銆傗憽榪愯屾椂閿,濡傚逛竴涓絀烘寚閽堢殑寮曠敤
路紼嬪簭浣跨敤浜唗hrow璇鍙ャ
褰撳紓甯稿彂鐢熸椂,Java鉶氭嫙鏈洪噰鍙栧備笅鎺鏂:
路媯鏌ヤ笌褰撳墠鏂規硶鐩歌仈緋葷殑catch瀛愬彞琛ㄣ傛瘡涓猚atch瀛愬彞鍖呭惈鍏舵湁鏁堟寚浠よ寖鍥,鑳藉熷勭悊鐨勫紓甯哥被鍨,浠ュ強澶勭悊寮傚父鐨勪唬鐮佸潡鍦板潃銆
路涓庡紓甯哥浉鍖歸厤鐨刢atch瀛愬彞搴旇ョ﹀悎涓嬮潰鐨勬潯浠:閫犳垚寮傚父鐨勬寚浠ゅ湪鍏舵寚浠よ寖鍥翠箣鍐,鍙戠敓鐨勫紓甯哥被鍨嬫槸鍏惰兘澶勭悊鐨勫紓甯哥被鍨嬬殑瀛愮被鍨嬨傚傛灉鎵懼埌浜嗗尮閰嶇殑catch瀛愬彞,閭d箞緋葷粺杞縐誨埌鎸囧畾鐨勫紓甯稿勭悊鍧楀勬墽琛;濡傛灉娌℃湁鎵懼埌寮傚父澶勭悊鍧,閲嶅嶅繪壘鍖歸厤鐨刢atch瀛愬彞鐨勮繃紼,鐩村埌褰撳墠鏂規硶鐨勬墍鏈夊祵濂楃殑catch瀛愬彞閮借媯鏌ヨ繃銆
路鐢變簬鉶氭嫙鏈轟粠絎涓涓鍖歸厤鐨刢atch瀛愬彞澶勭戶緇鎵ц,鎵浠catch瀛愬彞琛ㄤ腑鐨勯『搴忔槸寰堥噸瑕佺殑銆傚洜涓篔ava浠g爜鏄緇撴瀯鍖栫殑,鍥犳ゆ誨彲浠ユ妸鏌愪釜鏂規硶鐨勬墍鏈夌殑寮傚父澶勭悊鍣ㄩ兘鎸夊簭鎺掑垪鍒頒竴涓琛ㄤ腑,瀵逛換鎰忓彲鑳界殑紼嬪簭璁℃暟鍣ㄧ殑鍊,閮藉彲浠ョ敤綰挎х殑欏哄簭鎵懼埌鍚堥傜殑寮傚父澶勭悊鍧,浠ュ勭悊鍦ㄨョ▼搴忚℃暟鍣ㄥ間笅鍙戠敓鐨勫紓甯告儏鍐點
路濡傛灉鎵句笉鍒板尮閰嶇殑catch瀛愬彞,閭d箞褰撳墠鏂規硶寰楀埌涓涓"鏈鎴鑾峰紓甯"鐨勭粨鏋滃苟榪斿洖鍒板綋鍓嶆柟娉曠殑璋冪敤鑰,濂藉儚寮傚父鍒氬垰鍦ㄥ叾璋冪敤鑰呬腑鍙戠敓涓鏍楓傚傛灉鍦ㄨ皟鐢ㄨ呬腑浠嶇劧娌℃湁鎵懼埌鐩稿簲鐨勫紓甯稿勭悊鍧,閭d箞榪欑嶉敊璇浼犳挱灝嗚緇х畫涓嬪幓銆傚傛灉閿欒琚浼犳挱鍒版渶欏跺眰,閭d箞緋葷粺灝嗚皟鐢ㄤ竴涓緙虹渷鐨勫紓甯稿勭悊鍧椼
(3)鎿嶄綔鏁版爤鍖 鏈哄櫒鎸囦護鍙浠庢搷浣滄暟鏍堜腑鍙栨搷浣滄暟,瀵瑰畠浠榪涜屾搷浣,騫舵妸緇撴灉榪斿洖鍒版爤涓銆傞夋嫨鏍堢粨鏋勭殑鍘熷洜鏄:鍦ㄥ彧鏈夊皯閲忓瘎瀛樺櫒鎴栭潪閫氱敤瀵勫瓨鍣ㄧ殑鏈哄櫒(濡侷ntel486)涓,涔熻兘澶熼珮鏁堝湴妯℃嫙鉶氭嫙鏈虹殑琛屼負銆傛搷浣滄暟鏍堟槸32浣嶇殑銆傚畠鐢ㄤ簬緇欐柟娉曚紶閫掑弬鏁,騫朵粠鏂規硶鎺ユ敹緇撴灉,涔熺敤浜庢敮鎸佹搷浣滅殑鍙傛暟,騫朵繚瀛樻搷浣滅殑緇撴灉銆備緥濡,iadd鎸囦護灝嗕袱涓鏁存暟鐩稿姞銆傜浉鍔犵殑涓や釜鏁存暟搴旇ユ槸鎿嶄綔鏁版爤欏剁殑涓や釜瀛椼傝繖涓や釜瀛楁槸鐢卞厛鍓嶇殑鎸囦護鍘嬭繘鍫嗘爤鐨勩傝繖涓や釜鏁存暟灝嗕粠鍫嗘爤寮瑰嚭銆佺浉鍔,騫舵妸緇撴灉鍘嬪洖鍒版搷浣滄暟鏍堜腑銆
姣忎釜鍘熷嬫暟鎹綾誨瀷閮芥湁涓撻棬鐨勬寚浠ゅ瑰畠浠榪涜屽繀欏葷殑鎿嶄綔銆傛瘡涓鎿嶄綔鏁板湪鏍堜腑闇瑕佷竴涓瀛樺偍浣嶇疆,闄や簡long鍜宒ouble鍨,瀹冧滑闇瑕佷袱涓浣嶇疆銆傛搷浣滄暟鍙鑳借閫傜敤浜庡叾綾誨瀷鐨勬搷浣滅︽墍鎿嶄綔銆備緥濡,鍘嬪叆涓や釜int綾誨瀷鐨勬暟,濡傛灉鎶婂畠浠褰撲綔鏄涓涓猯ong綾誨瀷鐨勬暟鍒欐槸闈炴硶鐨勩傚湪Sun鐨勮櫄鎷熸満瀹炵幇涓,榪欎釜闄愬埗鐢卞瓧鑺傜爜楠岃瘉鍣ㄥ己鍒跺疄琛屻備絾鏄,鏈夊皯鏁版搷浣(鎿嶄綔絎pe鍜宻wap),鐢ㄤ簬瀵硅繍琛屾椂鏁版嵁鍖鴻繘琛屾搷浣滄椂鏄涓嶈冭檻綾誨瀷鐨勩
4.鏃犵敤鍗曞厓鏀墮泦鍫
Java鐨勫爢鏄涓涓榪愯屾椂鏁版嵁鍖,綾葷殑瀹炰緥(瀵硅薄)浠庝腑鍒嗛厤絀洪棿銆侸ava璇璦鍏鋒湁鏃犵敤鍗曞厓鏀墮泦鑳藉姏:瀹冧笉緇欑▼搴忓憳鏄懼紡閲婃斁瀵硅薄鐨勮兘鍔涖侸ava涓嶈勫畾鍏蜂綋浣跨敤鐨勬棤鐢ㄥ崟鍏冩敹闆嗙畻娉,鍙浠ユ牴鎹緋葷粺鐨勯渶奼備嬌鐢ㄥ悇縐嶅悇鏍風殑綆楁硶銆
5.鏂規硶鍖
鏂規硶鍖轟笌浼犵粺璇璦涓鐨勭紪璇戝悗浠g爜鎴栨槸Unix榪涚▼涓鐨勬f枃孌電被浼箋傚畠淇濆瓨鏂規硶浠g爜(緙栬瘧鍚庣殑java浠g爜)鍜岀﹀彿琛ㄣ傚湪褰撳墠鐨凧ava瀹炵幇涓,鏂規硶浠g爜涓嶅寘鎷鍦ㄦ棤鐢ㄥ崟鍏冩敹闆嗗爢涓,浣嗚″垝鍦ㄥ皢鏉ョ殑鐗堟湰涓瀹炵幇銆傛瘡涓綾繪枃浠跺寘鍚浜嗕竴涓狫ava綾繪垨涓涓狫ava鐣岄潰鐨勭紪璇戝悗鐨勪唬鐮併傚彲浠ヨ寸被鏂囦歡鏄疛ava璇璦鐨勬墽琛屼唬鐮佹枃浠躲備負浜嗕繚璇佺被鏂囦歡鐨勫鉤鍙版棤鍏蟲,Java鉶氭嫙鏈鴻勮寖涓瀵圭被鏂囦歡鐨勬牸寮忎篃浣滀簡璇︾粏鐨勮存槑銆傚叾鍏蜂綋緇嗚妭璇峰弬鑰僑un鍏鍙哥殑Java鉶氭嫙鏈鴻勮寖銆