java的两种核心机制:java 虚拟机 (java Virtual Machine)
垃圾回收机制:Garbagr collection
java程序的运行过程
*.java源程序 -->java编译器 -->.class 字节码文件 --> 类装载器 -->字节码校验器 -->解释器 -->操作系统平台
Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域.
JVM既然是虚拟机.那么他就完全类似一个电脑.他有自己的cpu,内存等.当然这些都是靠软件模拟而来的.
正因为这个虚拟机的存在,才让java代码一次编译,导出运行.这个虚拟机屏蔽了底层操作系统的差别.当然.不同的操作系统对应的不同的虚拟机.
Java源代码经过编译器编译成.class代码.其实就是我们用的javac命令编译的
然后.class代码在jvm中被解释执行,这里的java源代码只需编译一次.他的.class代码就可以拿到任何装有jvm的地方运行.
核心机制之java虚拟机:(JVM)
java虚拟机可以理解为一个以字节码为机器指令的CPU
对于不同的运行平台,有不同的虚拟机
java虚拟机机制屏蔽了底层运行平台的差别,实现了 一次编译,到处运行
核心机制之垃圾收集:
不再使用内次年控件应回收--垃圾收集
在C/C++中, 由程序员自己来收集无用内存
java语言消除了程序员回收无用内存的责任,它是一种系统级线程跟从存储空间的分配情况,并在JVM的空闲时,检测查并释放那些可悲释放的存储器空间
垃圾收集在java程序运行的过程中,完全自动运行,程序员无法精确控制和干预