Java虚拟机

  Java字节码通过类加载器(Class Loader)为程序的执行加载所需要的全部类。在类的加载过程中,由于是按照先加载启动类库、再加载扩展类库最后加载用户自定义类库的顺序,从而避免一些非法代码的执行,提高代码的执行的安全性。

  随后,字节码校验器对加载的字节码进行校验,以测试代码段格式,并进行规则检查,如:违反对象访问权限或试图改变对象类型的非法代码。这样可以保证代码符合JVM规范并且不破坏系统的完整。

  通过字节码娇艳的代码随后被送到解释器一条一条翻译成机器代码,早期的虚拟机是解释一条字节码为机器码后,马上执行,再丢掉,然后再解释下一条字节码。但是,很显然,这样效率太低。于是SUN引入了即时编译器(JIT),用JIT编译器在每段代码执行前先将其进行编译为本地机器代码,这样执行速度就有了质的提高。

  

最新文章

  1. Atitit onvif 协议截图 getSnapshotUri 使用java
  2. 自己封装的一个原生JS拖动方法。
  3. ubuntu server设置时区和更新时间
  4. ie下如果已经有缓存,load方法的效果就无法执行.的解决方法
  5. OC基础数据类型-NSSet
  6. spark1.5引进内置函数
  7. HTTP/2 对 Web 性能的影响(上)
  8. Linux下root密码忘记的解决办法
  9. SPOJ3267--D-query (主席树入门练习)
  10. 【栈】 poj 1363
  11. MongoDB学习总结(三) —— 常用聚合函数
  12. Object类—复写equals方法,hashCode方法,toString方法
  13. html5中的新标签
  14. 满汉全席[2-SAT]
  15. springboot自定义静态文件目录,解决jar打包后修改页面等静态文件的问题
  16. AngularJS table 按照表头字段排序功能(升序和降序)
  17. bodymovin实现将AE动画转换成HTML5动画
  18. 成为java高级程序员需要掌握哪些
  19. Simple TCP/IP Echo Server & Client Application in C#
  20. xfs mount and repair

热门文章

  1. Java 页面的工具包
  2. PHP的线程安全与非线程(NTS)安全版本的区别
  3. Flex Socket 安全沙箱问题解决
  4. 走进React
  5. PariticalFilter在MFC上的运行,源代码公开
  6. POJ1200(hash)
  7. 第一章:JavaScript简介
  8. Spring + Quartz配置实例
  9. 关于ionic开发的一些总结(项目启动设置,app图标名称更改)
  10. runloop和runtime