JVM

来源:互联网 发布:ubuntu备份文件 编辑:程序博客网 时间:2024/06/08 08:26

  JVM(Java  Virtual Machine):是一种用软件虚拟出的计算机,用于执行java程序,也就是将字节码(.class文件中的代码)转化为机器码。JVM有自己想象中的硬件,如处理器、堆栈、寄存器等,还有相应的指令系统,它运行java程序就像一台计算机运行c或c++程序一样。

  我们都知道,java语言有一个非常重要的特性就是与平台的无关性,jvm就是实现这一特性的关键。一般的高级程序如果要在不同的平台上运行,至少要编译成不同的目标代码。而引入java虚拟机后,java语言在不同平台上运行时就不需要重新编译。java语言使用模式java虚拟机屏蔽了与具体平台相关的信息,使得java语言编译程序时只需生成在java虚拟机上运行的字节码文件,然后由java虚拟机将字节码翻译成在具体平台上的机器码指令执行。我们可以简单图来对比一下c与java的开发过程就可以明白:



  另外,我们知道java虚拟机是多线程的。而java虚拟机的垃圾回收线程就是一个优先级很低的线程。java的堆内数据的释放过程是由垃圾回收器自动进行的,无需程序员显式的调用delete方法。该机制有效的避免了因为程序员忘记释放内存而造成的内存溢出的错误。说到垃圾回收机制,难免会涉及到线程问题。垃圾回收机制实际上就是一个守护线程(Deamon  Tread)。好吧,我把线程的问题再理一下吧。


原创粉丝点击