·您的位置: 首页 » 资源教程 » 编程开发 » JAVA、JSP » 浅谈Java Virtual Machine

浅谈Java Virtual Machine

类别: JAVA教程  评论数:0 总得分:0
 

浅谈Java Virtual Machine

    Java Virtual Machine 就是指Java虚拟器,以下简称VM.关于VM的概念,最早出自CPU模拟器,众所周知的PC上的游戏机模拟器采用的便是和Java VM类似的技术.java source code被编译成byte code后,其实已经是很类似机器代码了,只不过没有真正能运行这类code的CPU而已,于是为了能达到在不同平台上运行的目的,VM的概念被大力推广. 从简单的角度说,VM其实就是把java bytecode 翻译成特定的机器代码, 这和解释型编程语言不同,我们会在下面讲到. 

    第一代的VM大多采用直接解释的方法,也就是说一句一句地把bytecode翻译成机器代码. 但这里有个缺点,如遇到循环, VM就不得不一次次重复翻译已经被翻译过的代码. 而每一次翻译均需消耗一定的cpu时间. 于是出现了第二代的VM - JIT (Just In Time Compiler)它只在bytecode需要被翻译时才做翻译工作.怎么实现呢? 打个比方,JIT VM可以事先把一段bytecode翻成machine code,并把这段code放进buffer, 当运行循环是,就反复调用这段翻译好的代码! JIT的效率取决于他分析重复调用的本领,把翻译的工作量限制到最小,以便让出CPU时间来运行程序逻辑. 

   第三代的VM叫hotspot,我们以后做介绍. 

   有了VM以后等于有了一个虚拟的CPU, 但我们还需要一定的外部设备来帮助完成计算任务,于是出现了JNI, 它的作用在不同的场合有不同的含义. 有时你可一用JNI直接写一个设备驱动程序, 有时JNI可被作为lightweight wrapper来封装本地系统的资源.再加上Java本身提供的标准库, VM提供了再多平台应用的环境!在一个系统中JVM往往不是唯一的, 如果你在win32中安装了JDK,IE和Netscape,哪很有可能你已经有了三种不同的Virtual Machine. 至于你的程序在那个VM上运行,完全取决于你系统的设置. 大体上如果是运行applet,那么browser的VM会成为默认的平台. 当然你可以用jdk的plug-in取代IE的MS JVM. 

   每台win32系统都包含了一个MS implement的VM,如果安装了Java SDK哪你就可以用jview来从command line启动VM process. 你可以在一台电脑上同时运行几个同种或不同种的VM, 每一个都会运行在独立process中. 

下面是一些系统的属性,你可以从中获得关于VM的一些讯息! 
用 System.getProperty(String propertyName) 

properyName:        含义: 
----------------------------------------------------- 
java.version -  JRE version 

java.vendor - JRE vendor  

java.vendor.url - Vendor URL 

java.home -  Installation directory 

java.vm.specification.version  - JVM 标准的版本 

java.vm.specification.vendor - JVM 标准的开发商 

java.vm.specification.name -        

java.vm.version - JVMachine implementation version:  

java.vm.vendor - JVM implementation vendor 

java.vm.name - JVM implementation name 
     
java.specification.version -  JRE specification version 

java.specification.vendor - JRE specification vendor 

java.specification.name - JRE specification name:  

java.class.version - Class format version number:  

java.class.path - Java CLASSPATH  





-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1