美团Java面试真题
1.java虚拟机内存模型
2.内存溢出一般发生在哪个区?永久代会不会导致内存溢出?
3.动态加载类的框架了解哪些?
4.动态代理一般有哪几种实现方式?动态代理的应用场景有哪些?
5.栈会不会溢出?栈溢出一般抛什么异常? jvm在哪里设置栈的大小?设置的参数是什
么?
6.用过哪些命令查看jvm的状态、堆栈信息?
7.jvm的垃圾回收机制?
8.java类加载机制?如何实现自定义类加载器? findClass与loadClass的区别?
9.String、StringBuffer、 StringBuilder的区别 ?对应的使用场景?
10.如何实现不可变的类?
11.浅复制和深复制?怎样实现深复制?
12.HashMap、HashTable、 ConcurrentHashMap的区别 ?
13.CAS是- - 种什么样的同步机制?
14.NIO的原理,包括哪几个组件?
15.简单介绍一下java的反射机制?反射在哪些地方有应用场景?
16. spring加载bean的流程?
17. java线程池?线程池构造函数的几个参数含义? keepAliveTime解释一下 ?
18. -一个接口,要去调用另外5个接口,每一一个接口都会返回数据给这个调用接口,调用
接口要对数据进行合并并返回给上层。这样一种场景可能用到并发包下的哪些类?你
会怎么去实现这样的业务场景?
19. CountDownl atch和CyclicBarrier的区别?
20.线程加锁有哪些方式? synchronized和lock的区别?
21. volatile关键字的作用?为什么使用AtomicLong而不使用Lon