JVM学习第一篇--JVM介绍以及JVM内存结构概述

在此记录分析所学习的内容,有什么不对的地方望大佬们评论指正

1、什么是JVM

JVM全称Java Virtual Machine(JVM),中文名Java虚拟机。JVM本质是运行在计算机上的一个程序,它的职责是运行Java字节码文件(.class文件)

Java虚拟机有很多,下面简单介绍一些:

世界上第一款商用的Java虚拟机:Sun Classic VM,这款虚拟机只提供了解释器,JIT编译器需要外挂,且解释器和编译器不能配合工作,只能二选一。

Exact VM:为了解决Sun Classic VM解释器和编译器不能配合工作问题,Sun公司在JDK1.2时提供了此虚拟机。该虚拟机具备现代高性能虚拟机雏形:热点探测、解释器和编译器混合工作模式,后面被HotSpot虚拟机替代。

HotSpot VM:目前使用比例比较多的JDK8中,默认的虚拟机。具有热点代码探测技术,且解释器和编译器能协同工作,在响应时间和执行性能中取得平衡。

JRockit VM:专注于服务器端应用,不太关注程序启动速度,因此该虚拟机内部不包含解释器实现,全部代码都靠即时编译器编译后执行。

IBM J9 VM:IBM开发的虚拟机,市场地位与HotSpot接近。

其他虚拟机:Microsoft JVM、Taobao JVM、Java Card VM、Squawk VM 等等,有兴趣可以网络搜索看看。

这里学习记录介绍的虚拟机都是 HotSpot,相关的机制也主要是HotSpot的。

2、JVM的功能

  • 解释和运行:将字节码文件的指令解释成机器码让计算机执行
  • 内存管理:为对象、方法等分配内存,以及进行垃圾回收
  • 及时编译:对热点代码进行优化,提升执行效率。(热点代码:简单的来说就是对一段代码进行计数,每执行一次+1达到设定的阈值则视为热点代码;或者某个方法频繁出入栈顶,就将该方法认定为热点代码)

3、JVM内存结构概

JVM内存结构大概分为:类加载器子系统(Class Loader)、运行时数据区(Runtime Data Area)、执行引擎(Execution Engine)、本地方法接口(Native Method Interface)

在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值