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铏氭嫙链鸿勮寖銆