1.GC ROOT
GC ROOT 只会引用其他对象而不被其他对象引用
比如:
栈中本地变量
方法去静态变量
本地方法栈的变量
正在运行的线程等
JNI Local - JNI方法的local变量或参数
JNI就是java native interface 不建议使用 会丢失java可移植性
https://www.zhihu.com/question/53613423/answer/135743258(这个链接下面可以吧gc吃透)
2.方法区详解
https://www.cnblogs.com/jklixin/p/13457936.html
image.png
简单来说就是JVM中对象模型是KLASS以及OOP ,KLASS就是对象类信息就是反射的实现原理还有OOP存储的是对象的数据信息,变量,方法区中存KLASS,堆中存OOP,然后OOP指向KLASS
除了这个就是静态变量 运行时常量池(常量池中String的HashTable是否可以吹一下)
image.png
方法区也有gc
image.png
//www.greatytc.com/p/7d9e64973444
https://blog.csdn.net/GarfieldEr007/article/details/83929214
这个需要好好看看上面这个网址
3.本地方法栈和虚拟机栈
HotSpot虚拟机中并不区分虚拟机栈和本地方法栈
本地方法栈是为了执行本地Native方法所服务的
java虚拟机栈是为了执行java字节码文件所服务的
4.Java类加载器
image.png
双亲委派机制==》为什么不可以定义并加载自己的String类
5.java多态
6.面向对象的三大特性以及优劣
封装、继承、多态
https://blog.csdn.net/qq_41706670/article/details/81589587
7.无法多态情况
java中当方法被final关键字修饰时,表明这个方法不是动态绑定的,并不具有多态性,而且final方法不能被覆盖(重写)(去看一下final关键字)
java中当方法被private关键字修饰时,表明这个private方法不是动态绑定的,并不具有多态性,而且private方法不能被覆盖(重写)。
8.java 多态底层实现
9.:第k小的数.除了用堆以外,还可以怎么优化?用快排的变形,时间复杂度是多少.
10.REST API介绍一下、GET/POST什么区别
//www.greatytc.com/p/75389ea9a90b
image.png
REST是设计风格而不是标准
https://blog.csdn.net/champaignwolf/article/details/84099258
image.png
image.png
11.HTTP状态码有哪些 怎样处理401状态码
image.png
https://blog.csdn.net/jyn15159/article/details/108879988
https://blog.csdn.net/jyn15159/article/details/109055824
12.C4 GC &&ZingJVM(Azul Systems)
可以了解一下 ZingJVM