面试题目:
1-10 题:
1、java 中 == 和 equals 和 hashCode 的区别
2、int 与 integer 的区别
3、String、StringBuffer、StringBuilder 区别
4、什么是内部类?内部类的作用
5、进程和线程的区别
6、final,finally,finalize 的区别
7、Serializable 和 Parcelable 的区别
8、静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?
9、成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用
10、string 转换成 integer 的方式及原理
11-20 题:
11、哪些情况下的对象会被垃圾回收机制处理掉?
12、静态代理和动态代理的区别,什么场景使用?
14、Java 中实现多态的机制是什么?
16、说说你对 Java 反射的理解
17、说说你对 Java 注解的理解
18、Java 中 String 的了解
19、String 为什么要设计成不可变的?
20、Object 类的 equal 和 hashCode 方法重写,为什么?、
21-40 题
21、List,Set,Map 的区别
26、ArrayMap 和 HashMap 的对比
29、HashMap 和 HashTable 的区别
30、HashMap 与 HashSet 的区别
31-40 题
31、HashSet 与 HashMap 怎么判断集合元素重复?
33、ArrayList 和 LinkedList 的区别,以及应用场景
34、数组和链表的区别
35、开启线程的三种方式?
36、线程和进程的区别?
38、run() 和 start() 方法区别
39、如何控制某个方法允许并发访问线程的个数?
40、在 Java 中 wait 和 seelp 方法的不同
41-50 题
41、谈谈 wait/notify 关键字的理解
42、什么导致线程阻塞?线程如何关闭?
43、如何保证线程安全?
44、如何实现线程同步?
45、线程间操作 List
46、谈谈对 Synchronized 关键字,类锁,方法锁,重入锁的理解
49、synchronized 和 volatile 关键字的区别
51-58 题
51、ReentrantLock、synchronized 和 volatile 比较
53、死锁的四个必要条件?
56、什么是线程池,如何使用?
56、什么是线程池,如何使用?
58、有三个线程 T1,T2,T3,怎么确保它们按顺序执行?
面试答案:
** 答案太长了,点击这里领取面试答案