java虚拟机(java virtual machine,JVM),一种能够运行java字节码的虚拟机。作为一种编程语言的虚拟机,实际上不只是专用于Java语言,只要生成的编译文件匹配JVM对加载编译文件格式要求,任何语言都可以由JVM编译运行。
JVM的基本结构
JVM由三个主要的子系统构成
类加载子系统
运行时数据区(内存结构)
执行引擎
类加载机制
类的生命周期
1.加载
将.class文件从磁盘读到内存
2.连接
2.1 验证
验证字节码文件的正确性(魔数)
2.2 准备
给类的静态变量分配内存,并赋予默认值
2.3 解析
类装载器装入类所引用的其它所有类(静态链接)
3.初始化
为类的静态变量赋予正确的初始值,上述的准备阶段为静态变量赋予的是虚拟机默认的初始值,此处赋予的才是程序编写者为变量分配的真正的初始值,执行静态代码块.在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM