1.jvm
java跨平台:jvm从软件层面屏蔽不同操作系统在底层硬件与指令上的区别。
java文件-》.class文件(放在方法区中)-》类装载子系统-》字节码执行引擎
只要有main方法运行,jvm会为每个方法线程分配单独空间栈存放局部变量表,操作数栈,动态链接,方法出口,各线程栈先进入的后执行
javap -c 对字节码文件 可读性
程序计数器:记录当前线程执行位置,字节码执行引擎实时修改,当线程中断时能够保存当前线程执行位置,方便线程恢复后继续从记录位置执行
操作数栈:操作数做加减乘除运算的临时内存空间
动态链接:将符号引动转为直接引用(方法名找到方法代码具体的位置)
栈中存放基本数据类型值或堆中对象引用地址
方法区存放类信息,常量池,静态变量
2.堆
年轻代8:1:1(Eden区 Survivor :s0,s1)1:2 老年区
gc root:局部变量,静态变量出发找引用,链条上为非垃圾对象,把存货对象放入存活区15代后放入老年区
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。