首页 > 其他分享 >JVM杂记

JVM杂记

时间:2023-06-22 23:55:16浏览次数:32  
标签:java docs 虚拟机 HotSpot 杂记 JVM com

java之父:高斯林

官方文档:

https://docs.oracle.com/javase/specs/index.html

官方在线PDF:https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf--->深入理解java虚拟机

javaSE8:https://docs.oracle.com/javase/8/docs/

硬件,软件,指令:

高级语言-汇编语言-机器指令-CPU

java程序-字节码文件-JVM(win版,Linux版,Mac版)-操作系统-硬件

虚拟机是虚拟机规范的一个实现,Oracle主推HotSpot

JVM的位置:

 一些关键事件:

2000年,HotSpot虚拟机正式发布,成为java默认的虚拟机

2004年JDK1.5发布,改名为javaSE5.0

2006年,java开源了OpenJDK,HotSpot也成为其默认虚拟机

2010年,Oracle收购了Sun

2017年,JDK9发布,G1垃圾回收器设置为默认GC,替代CMS

2018年,ZGC发布

OpenJDK是开源的,OracleJDK是商用的,前者的功能反而比后者大

 JVM的生命周期:

启动:通过引导类加载器BootStrap class loader创建一个初始类来完成(如包含main方法的类)

执行:执行一个java程序,会产生一个jvm进程

退出:程序正常执行结束,或程序因异常或错误而终止,或某个线程调用了System.exit()方法,RunTime.exit()方法

HotSpot VM:

1、热点代码探测技术

2、通过编译器和解释器协同工作,在最优化的程序响应时间与最佳的执行性能中取得平衡

JRockit VM:

不包含解释器实现

IBM的J9 VM

标签:java,docs,虚拟机,HotSpot,杂记,JVM,com
From: https://www.cnblogs.com/yb38156/p/17498533.html

相关文章

  • JVM 虚拟机笔记,不一定全,但是一定靠谱
    在学习JVM之前,先分享一则信息:2009年4月20日,Orace宣布正式以74亿美元的价格收购市值曾超过2000亿美元的Sun公司,传奇的SunMicrosystems从此落幕成为历史。一、Java虚拟机的介绍首先登场的是,虚拟机的始组:SunClassic/ExactVM,SunClassic被誉为世界上第一款商用Ja......
  • jvm-第三节jvm中的对象及引用
    jvm中的对象以及引用问题这篇文章主要探讨的几个问题:jvm中对象创建过程对象的内存布局对象的访问方式如何判断对象是否存活对象分配策略四种引用的区别jvm中对象的创建过程检查加载:检查指令是否在一个常量池中定位到一个类的符号引用(一组符号描述所引用的目标),检查类是否加载解析初......
  • JVM 入门
    JVM区域划分JVM内存大小=堆+非堆组成堆由三部分组成,Eden(伊甸园),SurFromandSurTo(幸存者),Ten(老年区).注:Sur0/1和SurFrom/To是一回事非堆由三部分组成,metaspace(元空间),codeCache,ClassSpace比例老年代:年轻代=2:1eden:surFrom:surTo=8:......
  • JVM监控工具jstat使用介绍
    jstat是Java自带的一个命令行工具,用于监控JVM运行时的状态信息。它可以通过以下格式的命令来调用:jstat[option]<vmid>[<interval>[<count>]]其中,option表示需要查询的信息类型,如-gc,-class,-compiler等;vmid表示目标JVM的进程ID或者进程名;interval表示查询......
  • 如何查看JVM运行的堆内存情况
    《不可不知的7个JDK命令》介绍了些jdk自带的问题排查工具,机器出现CPU飙升的情况,此时就可以借助工具,排查应用端是否存在一些潜在问题。jmap指令可以查看JVM运行的堆内存情况,[test@localhost]>jmap-hUsage:jmap[option]<pid>(toconnecttorunningprocess)......
  • 必知必会:JVM
    JVM-Java虚拟机Java程序运行时,编译器将Java文件编译成平台无关的Java字节码文件(.class)。对应平台JVM对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。JVM内存区域(内存结构)JVM内存区域粗略划分为堆和栈。按虚拟机规范划分为五部分,包括程序计数器、虚拟机栈、本......
  • 美团一面:OOM后,JVM一定会退出吗?为什么?
    文章且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪酬猛......
  • 申威3231_SPECJVM2008的测试结果与信创服务器对比验证
    申威3231_SPECJVM2008的测试结果与信创服务器对比验证背景周六找同事将在公司里的机器进行了开机.然后验证了config.guess和config.sub的确是可以通过复制/usr下面的文件进行解决的但是perl的很多model无法使用.所以没办法,准备测试一把SPECJVM2008其实周五晚上看......
  • JVM(一)
    一、JVM介绍1、运行Java字节码的虚拟机。字节码和不同系统的JVM实现是Java语言“一次编译,随处可以运行”的关键所在。2、负责程序运行时的内存管理。提供了垃圾自动回收机制,无需程序员手动释放内存3、提供类加载机制,将字节码文件转为机器码4、提供异常处理机制  在......
  • JAVA JVM 层面的锁
    JVM锁1、JAVA为了实现在多线程环境灰姑娘下的线程安全,提供了诸如synchronized,ReentrantLock等工具类来解决我们在多线程环境下的线程安全问题。synchronized锁1、上面是synchronized锁synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:修饰一个代......