2018-12-26 1336
运行时数据区域有哪些?
1.1 程序计数器
1.2 Java虚拟机栈
1.3 本地方法栈
1.4 Java堆
1.5 方法区
1.6 运行时常量池
对象的内存布局?
对象头包括两部分:
对象的访问定位方式有哪些?
使用句柄访问
使用直接指针访问
使用指针访问和使用句柄访问各具有何优势?
说一下对象的创建过程?比如:Dog dog= new Dog();
变量创建过程种放在虚拟机哪里?
变量是实例变量、局部变量或静态变量的不同将引用放在不同的地方:
OutOfMemoryError异常在哪些数据区域中可能会出现?
分别说一下这个数据区域出现OOM的场景和缘由?
Java堆溢出
虚拟机栈和本地方法栈溢出
方法区和运行时常量池溢出
Java中堆和栈的区别?
分别写出堆内存溢出与栈内存溢出的程序?
public void A() { A(); }
public void testd() { List<String> list = new ArrayList<>(); int i = 0; while (true) { list.add(new String(i + "")); i++; } }
如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?
java中垃圾收集的方法有哪些
标记-清除:
复制算法:
标记-整理技术博客大总结
分代收集
2.可达性算法(引用链法)
在java中可以作为GC Roots的对象有以下几种:
如何理解一个对象不一定会被回收?技术博客大总结
Class.forName() 和ClassLoader.loadClass()区别?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。