JVM体系结构

JVM简介JDK,JRE,JVM三者间的关系?众所周知,jdk软件开发工具包,jre java类库,jvm java虚拟机,废话不多说,详细结构图如下:深入学习jvm可以解决哪些问题?1)有效防止内存泄漏,内存溢出2)优化线程锁的使用3)科学进行垃圾回收4)提高系统吞吐量5)降低延迟,提高性能jvm工作方式?在主流的jvm中,将字节码文件翻译成机器码提供解释执行和编译执行两种方式1)热点代码: 频繁使用的方法2)解释执行器: 逐条将字节码翻译成机器码执行
摘要由CSDN通过智能技术生成

JVM简介

JDK,JRE,JVM三者间的关系?

众所周知,jdk软件开发工具包,jre java类库,jvm java虚拟机,废话不多说,详细结构图如下:

深入学习JVM可以解决哪些问题?

1)有效防止内存泄漏,内存溢出

2)优化线程锁的使用

3)科学进行垃圾回收

4)提高系统吞吐量

5)降低延迟,提高性能

JVM的工作方式

在主流的jvm中,将字节码文件翻译成机器码提供解释执行和编译执行两种方式

1)热点代码: 频繁使用的方法

2)解释执行器: 逐条将字节码翻译成机器码执行

3)编译执行器: 即时编译(JIT),使用热点代码执行

如何理解JIT?

JIT(即时编译)用来提高java程序运行效率的一种技术,可以将字节码编译成相关的原生机器码,进行各个层次的优化,并将这些机器码缓存起来,以备下次使用

JVM中解释执行与编译执行并存

解释器和编译器两者各有优势,当程序需要启动和执行时,解释器可以首先发挥作用,省去编译的时间,立即执行。程序运行后,随着时间的推移,即时编译发挥作用,对反复执行的热点代码以方法为单位即时编译,可以获取更高的执行效率。但是如果JIT对每条字节码都进行编译,缓存,会增加开销,只存一部分常用的字节码,不可能做到把全部的字节码都缓存,所以,可以使用解释器执行节省内存,使用编译执行提高效率。

JVM的运行模式

JVM有两种运行模式,Server和Client,两种模式的区别在于,Client模式启动速度比较快,Server启动较慢,但是启动进入稳定期后,Server的运行速度要比Client快。这是因为Server模式采用的重量级虚拟机,对程序做了很多优化,而Client模式采用轻量级虚拟机,所以Server启动慢,但是稳定后速度要比Client快的多。

可以在终端使用java -version查看JVM的运行模式

JVM体系结构

JVM内存结构是怎样的?

JVM启动运行字节码文件会对JVM内存进行划分,可分为线程共享区和线程独享区。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值