欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-01-30 15:22:52
...

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

相关标签: jvm java