目录
jvm
1.jvm运行时数据结构?
2.jvm堆为什么分区?
3.1个java对象占多大内存?
4.如何进行内存分配?
5.如何判断一个对象可回收?Root根
6.有哪些垃圾回收算法?
7.新生代与老年代的GC搜集器?
8.java有哪些对象引用关系?
9.C1与C2?逃逸分析?
10.解释执行和编译执行?
11.ClassLoader加载原理?
并发常用技术
1.volatile的语义?
2.Java内存模型?3.总线与缓存锁定?4.CAS原理?5.内存屏障?
6.Happen-Before原则?
7.synchronized与ReentrantLock区别?
8.Condition与wait/notifay/notifyAll?
9.独占锁与共享锁的原理和使用场景?
10.ArrayList与LinkedList区别?
11.CopyOnWriteArrayList原理?
12.ReentrantReadWriteLock结构?
13.HashMap与HashTable区别?
14.HashMap与ConcurrentHashMap原理?
15.Java线程在内核中如何运作?
16.ThreadPool工作原理?ThreadLocal?
17.几种BlockingQueue原理和使用场景?
18.Runnable与Callable区别?Runnable与Thread区别?
19.SemaPhore,CountDownLatch,CyclicBarrier?
20.高并发需要注意哪些问题?性能、安全?
21.可见性、有序性、原子性?
22.死锁怎么发生,如何避免?活锁怎么发生,如何避免?
通信
1.TCP连接三次握手?
2.TCP断开四次握手?
3.UDP原理?
4.广播?
5.Http如何保持长连接,为什么保持?
6.Http如何保持同一session?
7.BIO,NIO,AIO工作原理?
8.epoll select poll区别?
9.线程间如何通信?
10.进程间如何通信?
11.Http与Rpc调用的比较?
12.Mina框架?
13.Netty?
14.hession?
15.thrift?
16.序列化与反序列化?
17.transient?
jvm
1.jvm运行时数据结构?
2.jvm堆为什么分区?
3.1个java对象占多大内存?
4.如何进行内存分配?
5.如何判断一个对象可回收?Root根
6.有哪些垃圾回收算法?
7.新生代与老年代的GC搜集器?
8.java有哪些对象引用关系?
9.C1与C2?逃逸分析?
10.解释执行和编译执行?
11.ClassLoader加载原理?
并发常用技术
1.volatile的语义?
2.Java内存模型?
3.总线与缓存锁定?
4.CAS原理?
5.内存屏障?
6.Happen-Before原则?
7.synchronized与ReentrantLock区别?
8.Condition与wait/notifay/notifyAll?
9.独占锁与共享锁的原理和使用场景?
10.ArrayList与LinkedList区别?
11.CopyOnWriteArrayList原理?
12.ReentrantReadWriteLock结构?
13.HashMap与HashTable区别?
14.HashMap与ConcurrentHashMap原理?
15.Java线程在内核中如何运作?
16.ThreadPool工作原理?ThreadLocal?
17.几种BlockingQueue原理和使用场景?
18.Runnable与Callable区别?Runnable与Thread区别?
19.SemaPhore,CountDownLatch,CyclicBarrier?
20.高并发需要注意哪些问题?性能、安全?
21.可见性、有序性、原子性?
22.死锁怎么发生,如何避免?活锁怎么发生,如何避免?
通信
1.TCP连接三次握手?
2.TCP断开四次握手?
3.UDP原理?
4.广播?
5.Http如何保持长连接,为什么保持?
6.Http如何保持同一session?
7.BIO,NIO,AIO工作原理?
8.epoll select poll区别?
9.线程间如何通信?
10.进程间如何通信?
11.Http与Rpc调用的比较?
12.Mina框架?
13.Netty?
14.hession?
15.thrift?
16.序列化与反序列化?
17.transient?