JVM
-
java程序运行的支撑---Java virtual machine(java虚拟机)
-
与java的特性”跨平台“紧密相关,java跨平台即指:java程序会被虚拟机编译成.class的文件,与机器的操作系统没有直接联系,从而脱离系统限制,实现在不同平台都可以运行同一套经虚拟机编译的.class文件
-
所以JVM是一个有自己指令集(字节码)和内存区域的虚拟机器结构,通过自身的代码执行方法实现运行,与实体主机、硬件等无关联。
-
主要工作是解释自己的字节码到cpu的字节码或os的系统调用,保护用户免被恶意程序的骚扰
-
有垃圾回收机制:堆中的垃圾在一段时间后会由JVM进行统一回收,而不需要程序员手动删除
JRE
-
java运行时的环境---java runtime environment(Java运行环境)
-
只有JVM还不能完成.class的执行,需要JRE的环境支持才能运行,因为在解释class的时候需要调用解释所需要的类库lib
-
所以JRE由JVM和lib(类库)组成
JDK
-
java面向开发人员的工具包---Java development kit(java开发工具包)
-
JDK安装好之后,src代表的类库源码压缩包,bin代表的编译器(主要是指javac.exe),include代表的java和JVM交互用的头文件,lib代表的运行需要的类库,jre代表java运行环境
三者关系

- 传统的编程方法是将程序源码直接编译成机器语言,java则通过JVM先将源码转换成.class文件,再通过JRE转化成相应的机器代码,实现了java程序的可移植性。而开发人员则通过包含两者的JDK工具包实现编程
网友评论