经验之谈丨Java四大核心技术思想之Java虚拟机 - 行业资讯 - 校园动态 - 牛耳教育 

经验之谈丨Java四大核心技术思想之Java虚拟机

发布日间:2017-04-23   浏览次数:671

  Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。


 不同的Java虚拟机中,执行引擎可能实现得非常不同。在由软件实现的虚拟机中,最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快,但是也更消耗内存,叫做"即时编译器(just-in-time compiler)"。在这种情况下,第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被缓存,当方法以后被调用的时候可以重用。第三种执行引擎是自适应优化器。在这种方法里,虚拟机开始的时候解释字节码,但是会监视运行中程序的活动,并且记录下使用最频繁的代码段。程序运行的时候,虚拟机只把那些活动最频繁的代码编译成本地代码,其他的代码由于使用得不是很频繁,继续保留为字节码-由虚拟机继续解释它们。一个自适应的优化器可以使得Java虚拟机在80%~90%的时间里执行被优化过的本地代码,而只需要编译10%~20%的对性能有影响的代码。


    当Java虚拟机是由主机操作系统上的软件实现的时候,Java程序通过调用本地方法(native method)和主机交互。Java中有两种方法: Java方法和本地方法。Java方法是由Java语言编写,编译成字节码文件,存储在class文件中的。本地方法是由其他语言(比如c,c++或汇编语言)编写的,编译成何处理器相关的机器代码。本地方法保存在动态链接库中,格式是各个平台专有的。运行中Java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法。本地方法是联系Java程序和底层主机操作系统的连接方法。


    通过本地方法,Java程序可以直接访问底层操作系统的资源。一个本地方法接口(Java Native Interface, JNI)-使得本地方法可以在特定主机系统的任何一个Java平台实现上运行。


 如果希望使用特定主机上的资源,它们又无法从Java API访问,那么可以写一个平台相关的Java程序来调用本地方法。如果希望保证程序的平台无关性,那么只能通过Java API来访问底层系统资源。

 


温馨提示:牛耳教育春季招生火热进行中!为了让更多的人有机会接触互联网行业,进入学习,改变命运,

只要>>点击了解<<进入牛耳教育官方网站或拨打我们官方热线即可咨询最新开班信息!

招生名额有限,抢先报名,学习快人一步!

学校总部地址:湖南省五一广场文运街15号湖南省电化教育馆3楼牛耳教育
官方网站:www.neweredu.cn 官方微信:csneweredu
咨询热线:0731-83861632 咨询QQ:4000731835

点击了解牛耳 TEL:400-0731-835
相关新闻
经验之谈丨不来牛耳读书的骚年都不是好工程师 !2017-04-23
经验之谈丨你之所以不就业,因为你选的学校不叫牛耳2017-04-23
经验之谈丨学Java是自学好还是培训好2017-04-23
趣味IT丨有趣的IT词组,快来认识吧!2017-04-23
相关新闻
经验之谈丨提高java培训学习效率的6个小计划2017-04-23
经验之谈丨Java线程面试题及相关解答2017-04-23
经验之谈丨Java 中创建对象的3种方式2017-04-23
经验之谈丨Java四大核心技术思想之Java API2017-04-23