Java究竟为什么需要虚拟机?(下)-成都快上网建站

Java究竟为什么需要虚拟机?(下)

由于每个平台的特性不同可引用的函数程序库(Library)不同也许你的代码还得作修改才可以在另一个平台上编译执行。这很不方便就是说如果你在Windows设计了一款游戏想要卖给Linux的使用者就得再花费一些功夫。这也是为什么大部分游戏或者软件只能在Windows运行了。

宝丰网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司
Java 也是个高阶语言要让电脑执行你编写的应用程序也是得借助编译器的翻译。不过Java编译时并不直接翻译为相依于某平台的0101指令而是翻译为中介格式的位元码。Java 的原始码文件格式名为*.java经过编译器翻译过后会变成*.class的格式文件位元码。如果想要执行这个位元码档案目标平台上必须安装有虚拟机会将位元码翻译为相应平台支持的语言。
不同的平台必须安装该平台相对应的JVM这就好比你讲中文(*.java)、Java编译器帮你翻译为英文(*.class)。之后该英文文件到当地之后再由当地看得懂英文的人翻译为当地的方言。
所以虚拟机所担任的职责之一就是当地的翻译员将位元码文件翻译为当时作业系统看得懂的0101序列。不过这不是最重要的基本上如果只是要翻译员的话直译器(Interpreter )就办得到了。
JVM有个很重要的观念就是:对于Java程式而言其实它只认识一种作业系统(或说是一种机器)这个系统叫作虚拟机,而对于虚拟机而言位元码文件就是它的可执行文件!也就是格式为.class的文件。Java代码程序理想上并不用理会真正执行于哪个平台之上,它只要知道如何执行于JVM之上就可以了至于JVM实际上如何与底层平台作沟通则是JVM自己的事!
这个观念非常的重要对于以后能够搞清楚所PATH变量与CLASSPATH变量的概念也有一定的帮助。

分享文章:Java究竟为什么需要虚拟机?(下)
当前链接:http://kswjz.com/article/chdjoc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流