小结:

1、虚拟CPU的模拟器:java虚拟机 JVM

Java将虚拟机(VM)作为插件集成到浏览器中,将编译后的Java程序(Applet)在虚拟机上运行,这种技术

当初是为了增强浏览器的功能。

Java所具备的VM和平台无关性字节码等特性,目的就是以在客户端运行Applet为目的的。

在各种不同的环境下能够产生相同的行为,这样的特性对于服务器端来说虽然也不能说是毫无价值,但是服务器环境

是可以由服务提供者来自由支配的,因此至少可以说,这样的特性无法带来关键性的好处吧。

另一方面。在客户端环境中,操作系统和浏览器都是千差万别的,因此对平台无关性的要求一直很高。

功能强大:

具备垃圾回收机制、内置异常处理、标准库也运用异常处理来设计

高性能

为了实现“一次编写、到处运行”的宣传口号,并不是将程序直接转换为系统所所对应的机器语言,而是转换为虚拟CPU

的机器语言“字节码”(Bytecode),并通过搭载虚拟CPU的模拟器JVM来运行。

JVM归根结底其实是在运行时用来解释字节码的解释器,理论上说运行速度应该无法与直接生成机器语言的原生编译器

相媲美。

速度没有达到编译型语言应有的运行速度。

JIT编译技术

在运行时将字节码转换成机器语言,经过转换之后就可以获得和原生编译一样快的运行速度。

最新文章

  1. JavaScript闭包理解【关键字:普通函数、闭包、解决获取元素标签索引】
  2. Mvc视图的那些事
  3. css新特性 box-flex/flex 弹性盒状模型
  4. redis 简单应用
  5. Windows Phone App的dump 文件分析
  6. ffmpeg在shell循环中只执行一次问题
  7. Python强化训练笔记(四)——字典的排序
  8. PHP错误日志控制(display_errors和error_reporting)
  9. subline快捷键
  10. mongodb持久化
  11. 使用python进行接口测试
  12. mutate 转换
  13. 一个可以拓展的垂直多级导航栏 Demo
  14. BZOJ 1101 [POI2007]Zap(莫比乌斯反演)
  15. Python基础篇(九)
  16. Redis缓存穿透、缓存雪崩和缓存击穿理解
  17. idea 修改单个项目的 默认编码格式
  18. 线程中join()的用法
  19. Bash : IO 重定向
  20. Python中cPickle

热门文章

  1. Android launchMode SingleTask newIntent 的问题
  2. Atitit 翻页功能的解决方案与版本历史 v4 r49
  3. 实现A星算法
  4. Asp.Net 隐藏手机号中间四位为*方法
  5. Linux 下mysql的定时备份
  6. [备份]EntityFramework
  7. Java知多少(74)基础类库
  8. (笔记)AT91SAM9260的启动过程详细解说
  9. laravel中artisan的用法
  10. Java8学习笔记(十)--自定义收集器