微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JVM笔记-1

学习JVM的一点简单笔记,宋红康老师jvm讲的很好,感谢。

尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机)


Java和c++的区别:

Java是自动对内存动态分配的,自动进行垃圾回收。


应用程序——框架——API——JVM

在这里插入图片描述

目前认的JVM虚拟机。三大Java虚拟机 : HotSpot, JRockit, IBM J9 JVM

使用热点代码技术JIT,提升效率


程序.java(用户)——>字节码文件.class(jvm字节码)——>不同平台的JVM)——>操作系统)——>硬件

程序虚拟机:JVM等
系统虚拟机:VMware等

Java中JDK、JRE、JVM关系


在这里插入图片描述

栈式架构:
优:可移植性强,跨平台,指令集小。编译器易实现。
缺:性能下降,指令多。


虚拟机生命周期:

在这里插入图片描述

在这里插入图片描述

Runtime类是单例实现的


JVM

在这里插入图片描述


在这里插入图片描述


Class Loader

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

ClassLoader负责class文件的加载;

是否可以运行有Execution Engine决定。


加载阶段loading

在这里插入图片描述

链接阶段linking

在这里插入图片描述


链接:检查、准备(初始化变量)、解析(字段方法和引用转换)

初始化阶段lnitialization

在这里插入图片描述


类在加载的初始化阶段会调用clinit方法执行,对于static代码的执行,是按照定义顺序的。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


查看字节码的插件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐