1.内存模型以及分区,需要详细到每个区放什么。
2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
3. 对象创建方法,对象的内存分配,对象的访问定位。
4. GC 的两种判定方法:
5. SafePoint 是什么
6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
8. Minor GC 与 Full GC 分别在什么时候发生?
9. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat jstack
10. 类加载的几个过程:
11.JVM内存分哪几个区,每个区的作用是什么?
12.如和判断一个对象是否存活?(或者GC对象的判定方法)
13.简述java垃圾回收机制?
14.java中垃圾收集的方法有哪些?
15.java内存模型
16.java类加载过程?
17.简述java类加载机制?
18.类加载器双亲委派模型机制?
19.什么是类加载器,类加载器有哪些?
20.简述java内存分配与回收策率以及MinorGC和MajorGC
面试Java开发者时常问的15个Java多线程和并发问题1. 现在有线程 T1、T2 和 T3。你如何确保 T2 线程在 T1 之后执行,并且 T3 线程在 T2 之后执行?
2. Java 中新的 Lock 接口相对于同步代码块(synchronized block)有什么优势?
3. Java 中 wait 和 sleep 方法有什么区别?
4. 如何在 Java 中实现一个阻塞队列?
5. 如何在 Java 中编写代码解决生产者消费者问题?答案
6. 写一段死锁代码。你在 Java 中如何解决死锁?
7. 什么是原子 *** 作?Java 中有哪些原子 *** 作?
8. Java 中 volatile 关键字是什么?你如何使用它?它和 Java 中的同步方法有什么区别?
9. 什么是竞态条件?你如何发现并解决竞态条件?
10. 在 Java 中你如何转储线程(thread dump)?如何分析它?
11. 既然 start() 方法会调用 run() 方法,为什么我们调用 start() 方法,而不直接调用 run() 方法?
12. Java 中你如何唤醒阻塞线程?
13. Java 中 CyclicBarriar 和 CountdownLatch 有什么区别?
14. 什么是不可变类?它对于编写并发应用有何帮助?
15. 你在多线程环境中遇到的最多的问题是什么?你如何解决的?
最主要的是给自己增加知识的储备,有备无患。最后给大家分享Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册。一共整理了1184页PDF文档。私信博主(666)领取,祝大家更上一层楼!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)