java;深入源码级的面试题.docxVIP

  • 36
  • 0
  • 约6.25千字
  • 约 9页
  • 2019-03-18 发布于江苏
  • 举报
java深入源码级的面试题 1、哪些情况下的对象会被垃圾回收机制处理掉? 利用可达性分析算法,虚拟机会将一些对象定义为GC Roots,从GC Roots出发沿着引用链向下寻找,如果某个对象不能通过GC Roots寻找到,虚拟机就认为该对象可以被回收掉。 1.1 哪些对象可以被看做是GC Roots呢? 1)虚拟机栈(栈帧中的本地变量表)中引用的对象; 2)方法区中的类静态属性引用的对象,常量引用的对象; 3)本地方法栈中JNI(Native方法)引用的对象; 1.2 对象不可达,一定会被垃圾收集器回收么? 即使不可达,对象也不一定会被垃圾收集器回收,1)先判断对象是否有必要执行finalize()方法,对象必须重写finalize()方法且没有被运行过。2)若有必要执行,会把对象放到一个队列中,JVM会开一个线程去回收它们,这是对象最后一次可以逃逸清理的机会。 2、讲一下常见编码方式? 编码的意义:计算机中存储的最小单元是一个字节即8bit,所能表示的字符范围是255个,而人类要表示的符号太多,无法用一个字节来完全表示,固需要将符号编码,将各种语言翻译成计算机能懂的语言。 1)ASCII码:总共128个,用一个字节的低7位表示,0?31控制字符如换回车删除等;32~126是打印字符,可通过键盘输入并显示出来; 2)ISO-8859-1,用来扩展ASCII编码,256个字符,涵盖了

文档评论(0)

1亿VIP精品文档

相关文档