ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

不会还不知道JVM的发展史吧?

2021-07-31 14:00:15  阅读:162  来源: 互联网

标签:发展史 java 编译 编译器 内存 JVM C2 Graal 不会


JVM

一、HotSpot虚拟机中含有两个即时编译器

1 .C1 编译耗时短输出代码优化成都较低的但输出代码程度较低的客户端编译器
2.C2编译耗时长输出代码优化程度也更高但输出代程度也高的客户端编译器

Graal 编译器是C2的替代者 Sea-of-Nodes高级中间表示High IR形式

C2->Graal 但是 Graal-X-C2

2.1Graal比C2更加复杂的优化

​ 部分逃逸分析 激进预测性优化 支持预测性假设

二、向Native迈进

现阶段java缺点:

不需要长时间运行 小型化的应用 不需要跑百兆jre 大型单体应用架钩向小型微服务应用框架发展的技术潮流下

单个微服务不需要数十数百的内存 而是高可用的服务集群 单个服务要7*24小时不间断运行 随时中断更新 现在的只需要启动快 高性能 执行时间短

在最近几个jdk

已经陆续推出跨进程可以面向用户程序的类型信息缓存 提升下一次启动熟读 appCDS 开始支持用户的程序代码 无操作垃圾收集器

注意:提前编译是相对提前编译的概念 提前编译能带来最大好处java虚拟机加载已经编译成二进制库之后就够直接掉哟是哪个 无需等待及时编译器在运行是将其编译成二进制机器码 理论上可以减少及时编译带来的预热时间减少java应用场给人带来的第一运行慢的不良体验
破坏java 一次编写到处运行的承诺 必须威每个不统的ing吉安操作系统去编译不同硬件擦欧总系统去编译对应的发行包 也显著见底了java链接过程的动态习惯 必须要求加载的代码在编译期就已经全部已知 而不幸在运行期踩确定

目前可以有这种显示的是:C2->GraalVM2.0 ->SubStrate VM

SubStrate Vm带来的好处就是显著降低了内存占用以及启动时间 由于HotSpot本身有一定的内存消耗 最低也要几十MB Sub VM 其内存占用和启动时间与运行在HotSpot上相比有5-50倍差距

Graal VM支持其他语言不会有重量的运行负担 运行内存3,4M 速度与V8持平

三、重构 HotSpot架构 具有模块华能力和足够开放性 监控 执行编译 内存管理

已经增强语言

在这里插入图片描述

正在改进中语言

在这里插入图片描述

四、获取源码

openJDK日益成熟

在这里插入图片描述

第一种获取

在这里插入图片描述

第二种获取

在这里插入图片描述

]

第二种获取

在这里插入图片描述

标签:发展史,java,编译,编译器,内存,JVM,C2,Graal,不会
来源: https://blog.csdn.net/qq_44417051/article/details/119274708

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有