
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习java编程开发语言,而今天我们就通过案例分析来了解一下,java虚拟机与结构分析。
虚拟机介绍
虚拟机,就是虚拟的计算机,可以执行一系列虚拟计算机指令,大体上可以分为系统虚拟机和程序虚拟机。它们运行时,都会受到虚拟机提供的资源的限制。
系统虚拟机:仿真模拟系统的,比如VisualBox,VMware。
程序虚拟机:为执行单个计算机程序设计的,比如Java虚拟机。
JAVA虚拟机
Java虚拟机是一台执行字节码的虚拟机计算机,但是字节码不一定是由Java语言编译而成。但是只要使用这一套虚拟机规则的语言,就可以享受到跨平台,垃圾收集以及可靠的即时编译器。JVM和硬件之间没有直接的交互。
一次编译,到处运行。
自动内存管理
自动垃圾回收
JVM结构
类加载器,主要是将Class文件(已经经过前端编译器编译后的字节码文件),加载到运行时数据区,生成Class对象,这个过程会设计加载,链接,初始化等过程。
运行时区域主要分为:
线程私有(每个线程有一份):
程序计数器:ProgramCountRegister,线程私有,没有垃圾回收
虚拟机栈:VMStack,线程私有,没有垃圾回收
本地方法栈:NativeMethodStack,线程私有,没有垃圾回收
线程共享:
方法区:MethodArea,以HotSpot为例,JDK1.8后元空间取代方法区,有垃圾回收。
堆:Heap,垃圾回收重要的地方。
执行引擎主要包括解释器和即时编译器(热点代码提前编译好,这是后端编译器),垃圾回收器。字节码文件不能直接被机器识别,所以需要执行引擎来做转换。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。