Java基础知识-Jvm笔记(一)

1.jvm基础知识 jvm执行过程: HelloWolrd.java -> 工具编译 -> HeWorld.class -> JRE(JVM ClassLoader ->解释执行或者JIt及时执行-> 执行引擎 ->os 硬件) { 跨平台与语言无关系} :java ,scala ,kotlin,groovy 尝试:jvm 翻译一门语言、开发一门语言。 虚拟机版本: Oracle(HotSpot 版本 ,Jrocket版本已被优化) , IBM (J9)自己平台 taobao(VM) zing 虚拟机有基本的组织规范 JVM (重要)知识体系:垃圾回收 类加载 性能调优 JVM自身优化技术 执行引擎 监控工具 类文件结构 内存结构。 2.jvm内存区域 jvm java虚拟机 。class 虚拟机指令 运行时数据区{线程共享区{方法去,运行时常量池},线程私有化},直接内存或者叫堆外内存。

程序启动后启动虚拟机栈 :1个线程1个虚拟机栈,当前线程运行java所需要的,每个方法 指令的放回地址。 大小限制:-Xss 栈容量大小。不同的操作系统不同 x64默认大概是1M 可以参考官网文档 栈溢出:反复调用自己栈异常。

虚拟机栈最核心的**:栈帧{局部变量表,操作数栈,动态链接,完成出口}**

Person person = new Person();

new 出来的对象一般都在共享堆中间 操作数栈:执行引擎的工作区。 JVM 模拟版本的操作系统。CPU = JVM执行引擎 ,主内存 = 栈 堆, 缓存 = 操作数栈。 反汇编命令: javap

经验分享 程序员 微信小程序 职场和发展