A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 付茂10086 初级黑马   /  2019-6-6 15:18  /  570 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.Java中判断是否是垃圾的算法

​             可达性算法  

​             循环引用问题:引用计数算法

​             什么样的节点可以作为GC ROOTS (面试问到概率并不大)

​      

​       2.finalize方法

​                  对象的自我拯救 : 当对象由可达变为不可达时,先变成可恢复状态,此时就  (可能)  会调用finalize 方法

                  可能:1.子类必须重写该方法

​                              2.该方法至多只能被执行一次

​                  且满足以上两个情况  --> 底层的finalier 线程执行的情况



​       3.堆

​                     年轻代  :  eden     ,   to survivor   , from survivor  8 :1 :1

​                     年老代   :1: 2   一共三分

​                     永久带

​           jvm规范的问题

​                      方法区逻辑上是属于堆的, 但是在实现时,又有个别名叫no-heap





​          JVM 大小是一个区间  --> 初始大小 --> 最大使用大小

​          在实际开发过程中通常都是调节成一样的,避免不必要的资源浪费

​          通常(依据各公司实际情况而定):调节成3/4  



​        

​       Java中的四种引用

​             1.强引用  : 平时写的代码 new

​             2.软引用  : 当内存不足发生gc 后,将软引用自动断开,当内存足够时,此时就当成普通引用来使用

​             3.弱引用  :一旦发生GC时就会被回收无论内存是否够用

​             4.虚引用  :为每一个对象设置虚引用的唯一目的就是能在这个对象被收集器回收时收到一个系统通知

​      

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马