java面试笔记学习

2021/10/1 17:12:40

本文主要是介绍java面试笔记学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.jvm

java跨平台:jvm从软件层面屏蔽不同操作系统在底层硬件与指令上的区别。

java文件-》.class文件(放在方法区中)-》类装载子系统-》字节码执行引擎

只要有main方法运行,jvm会为每个方法线程分配单独空间栈存放局部变量表,操作数栈,动态链接,方法出口,各线程栈先进入的后执行

javap -c 对字节码文件 可读性

程序计数器:记录当前线程执行位置,字节码执行引擎实时修改,当线程中断时能够保存当前线程执行位置,方便线程恢复后继续从记录位置执行

操作数栈:操作数做加减乘除运算的临时内存空间

动态链接:将符号引动转为直接引用(方法名找到方法代码具体的位置)

方法出口:知道返回到main方法哪行代码继续执行

栈中存放基本数据类型值或堆中对象引用地址

方法区存放类信息,常量池,静态变量

2.堆

年轻代8:1:1(Eden区 Survivor :s0,s1)1:2 老年区

gc root:局部变量,静态变量出发找引用,链条上为非垃圾对象,把存货对象放入存活区15代后放入老年区



这篇关于java面试笔记学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程