总结内容大部分来自于网络和实际笔试和面试经验,内容涵盖java基础、容器、多线程、常用设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Mybatis、Kafka、Zookeeper、MySql、Redis、JVM
此项目为知乎 12个模块 150 道 java 必考面试题
的升级版,更新目录和内容。配合项目食用,效果更佳!!
1. JDK 和 JRE 有什么区别?
2. == 和 equals 的区别是什么?
3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
4. final在 java 中有什么作用?
5. java 中的 Math.round(-1.5) 等于多少?
6. String 属于基础的数据类型吗?
7. java 中操作字符串都有哪些类?它们之间有什么区别?
8. String str="i"与 String str=new String(“i”)一样吗?
9. 如何将字符串反转?
10. String 类的常用方法都有那些?
11. 抽象类必须要有抽象方法吗?
12. 普通类和抽象类有哪些区别?
14. 接口和抽象类有什么区别?
15. java 中 IO 流分为几种?
16. BIO、NIO、AIO 有什么区别?
17. Files的常用方法都有哪些?
18. java 容器都有哪些?
19. Collection 和 Collections 有什么区别?
20. List、Set、Map 之间的区别是什么?
21. 如何决定使用 HashMap 还是 TreeMap?
22. 如何实现数组和 List 之间的转换?
23. 哪些集合类是线程安全的?
24. 迭代器 Iterator 是什么?
25. Iterator 和 ListIterator 有什么区别?
26. 怎么确保一个集合不能被修改?
27. 并行和并发有什么区别?
28. 线程和进程的区别?
29. 守护线程是什么?
30. 创建线程有哪几种方式?
31. 说一下 runnable 和 callable 有什么区别?
32. 线程有哪些状态?
33. 序列化和反序列化
34. 线程池中 submit()和 execute()方法有什么区别?
35. 在 java 程序中怎么保证多线程的运行安全?
36. 多线程锁的升级原理是什么?
37. 什么是死锁?
38. 怎么防止死锁?
39. ThreadLocal 是什么?有哪些使用场景?
40. 说一下 synchronized 底层实现原理?
41. synchronized 和 volatile 的区别是什么?
42. synchronized 和 Lock 有什么区别?
43. synchronized 和 ReentrantLock 区别是什么?
44. 说一下 atomic 的原理
[ 建造者模式(Builder模式)]
代理(Proxy)模式
适配(Adapter)模式
桥接/桥梁(Bridge)模式
装饰者(Decorator)模式
外观(Facade)模式
享元(Flyweight)模式
组合(Composite)模式