网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.开发第一个分布式的j2ee应用.
.Java编程讨论:关于什么叫面向接.
.如何有效防止Java程序源码被人偷.
.Java Bean 映射工具&n.
.Java入门笔记9_Socket.
.Java程序把Word文档直接转换成HT.
.JBUILDER6.0配置WEBLOGIC6.1全攻.
.比较 .NET 和 Java.
.LineNumberReader提供更好的出错.
.Web框架tomcat5.0的目录结构.
.Tomcat新手攻略.
.如何避免Microsoft非标准JavaSDK.
.java在Linux下的web应用(三).
.Java设计模式之修饰模式篇.
.面向数据字段的表现层组件设计.
.struts1.1中的异常应用实践.
.Java为索尼爱立信的手机带来游戏.
.Folders 集合.
.JAVA相关基础知识(6).
.怎样在应用程序中用Graphics类?.

虚拟机概论(六)——JAVA虚拟机模型

发表日期:2008-1-5



Java虚拟机模型



由于它的高度可移植性,JAVA已经成为Internet上的主要编程语言。



“模拟机”的概念是计算机工业界经常使用的对虚拟机的解释之一。这种虚拟机概念和IBM版的虚拟机非常不同。在IBM的概念中,系统内存和资源被分割,成为当前机器的精确拷贝。而对于模拟机,系统并不被分割,而是有一台新的“机器”或者虚拟机加载到当前系统中,在不改变当前系统的前提下,向用户提供不同的功能。这种类型的虚拟机被证实是非常强大的,它答应软件开发人员在一台完全不同的机器上仿效另一台机器。最近,这种观念创造了一种强大的计算机程序语言:JAVA。



JAVA程序设计语言依靠于被称做JAVA虚拟机(Java virtual machine,JVM)的模拟机。JVM使得程序员不是和系统打交道,而是和虚拟机打交道。因此程序员使用的函数是JVM内嵌的函数,而不是操作系统的函数。这非常先进,因为它提供了可移植性。假如相同的JVM安装在两个完全不同的机器上,那么同一个JAVA程序应该在两台机器上都可以运行,因为JAVA程序依靠于JVM,而不是运行它的系统。由于它的高度可移植性,JAVA已经成为Internet上的主要编程语言。许多Web页面现在都和JAVA程序结合在一起。这些JAVA程序可以完成一些在浏览器中显示的任务。



同时,JVM也非常小。或者说,它不站用大量的内存。这意味着JVM可以被应用于许多不同的机器。例如,电视机,蜂窝移动电话,以及计算机,都可以。因此,完全有可能向我们今天正在使用的设备中添加像游戏这样的复杂功能。



它是如何工作的?



你现在所迷惑的可能是一个JAVA程序究竟是如何工作的。如何使用JVM?好的,JVM是我们对抽象计算机的称呼。或者说,JVM是在“真正的”硬件平台和操作系统上用软件来实现的。JAVA程序是为JVM编译,而不是系统。这就意味着程序员写的JAVA程序由JAVA编译器翻译成JVM执行的语言/代码。这些代码被称做字节代码(Byte Code)。字节代码可以被认为是JVM的机器语言。JVM把字节代码流解释成指令序列。然后这些指令被执行,生成期望的输出。图1.1展示了从JAVA程序到最终执行的路线。









如图1.1所示,一旦字节代码被JVM解释,JVM指令就会被映射成操作系统指令或者硬件指令。这就意味着JVM实际上是使用操作系统和机器指令来实现它所获取的指令。因此,JVM的指令在每一个安装JVM的操作系统或机器上都必须有一个可能的映射才能工作。这就是为什么JAVA语言并没有达到100%可移植的原因之一。可能有的JVM指令在一种操作系统上可以实现,而在另外一种操作系统上不能实现。



小结



JAVA虚拟机的主要目的就是去解决计算机程序的可移植问题。问题是JVM完全解决这个问题了吗?答案是没有……它没有完全解决这个问题。但是,它提供了一种对大部分都有效的解决方案(尽管不是100%有效)。JAVA已经实现相当高的可移植性。JAVA的力量使人们可以开发许多跨平台的应用程序。JAVA已经证实是有用的,强大的虚拟机实现。
上一篇:选择合适的java脚本语言 人气:689
下一篇:学习JAVA的第一方案 (转贴) 人气:458
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐