虚拟计算机 ,分为系统虚拟机和程序虚拟机
减少gc full gc
拥有独立运行的机制,二进制的运行环境
java 平台上的多语言混合编程
一次编译 处处运行
自动内存管理
自动垃圾回收
栈(线程) 局部变量 一个方法对应一个栈帧内存区域
常量 对象指向堆
静态变量
类信息
对象
eden区
survivor
老年代
gc触发stw
老年代满了:FULL GC
OOM
暂停线程 标记垃圾
GC Roots :可达性分析算法
对象头
实例数据
对齐填充
与其他语言交互接口
局部变量表 对象指针指向堆的对象
操作数栈
动态链接: 内存位置
方法出口:返回位置
跨平台、指令集小、指令多:执行性能比寄存器差
对象动态年龄判断
长期存活的对象将进入老年代
老年代空间分配担保机制
引导类加载器(bootstrap class loader)创建一个初始类(initial class),这个类由虚拟机具体实现指定
真真正正执行一个java进程
线程调用runtime类或system类的exit方法,或runtime类的halt方法,
native 本地
jps 打印进程
javap
thread+ 线程
jad +class
javap -v 类
arthas
jvisualvm