为大家分享的这份Java八股文总分为14个技术专题
Java基础
多线程并发
Spring底层
Spring MVC+Spring Boot
Mybatis
MySQL+数据库
Redis缓存
分布式+消息队列+微服务
消息中间件
力扣算法
网络通信
JVM调优
搜索引擎
安全验证
小编在社区里看见不少小伙伴都在背Java八股文,为此在这里统一的做一次总结归类,也算是给粉丝们划重点了。
1、Java基础
1、Java 中的 final 关键字有哪些用法?
2、GC如何判断对象可以被回收
3、Java类加载器
4、什么是B/S架构?什么是C/S架构
5、Java中的继承是单继承还是多继承
6、ArrayList和LinkedList区别
7、如何实现对象克隆?
8、什么是字节码?采用字节码的好处是什么?
9、标识符的命名规则。
10、String 是最基本的数据类型吗?
11、排序都有哪几种方法?请列举
12、双亲委托模型
13、java中有没有指针?
14、Java中的异常体系
15、String、StringBuffer、StringBuilder有什么区别?
16、equals与==的区别
17、什么是JDK?什么是JRE?
18、hashCode与equals
19、面向对象和面向过程的区别
2、多线程并发
1、Thread、Runable的区别
2、JAVA线程锁机制是怎样的?偏向锁、轻量级锁、重量级锁有什么区别?锁机制是如何升级的?
3、 Volatile和Synchronized有什么区别?Volatile能不能保证线程安全?DCL(Double Check Lock)单例为什么要加Volatile?
4、线程池中线程复用原理
5、并发的三大特性
6、ThreadLocal内存泄露原因,如何避免
7、线程的生命周期?线程有几种状态
8、有A,B,C三个线程,如何保证三个线程同时执行?如何在并发情况下保证三个线程依次执行?如何保证三个线程有序交错进行?
9、谈谈你对AQS的理解。AQS如何实现可重入锁?
10、并发、并行、串行的区别
11、JAVA如何开启线程?怎么保证线程安全?
12、对线程安全的理解
13、什么是volatile?
14、sleep()、wait()、join()、yield()的区别
15、对守护线程的理解
16、简述线程池处理流程
17、线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?
18、为什么用线程池?解释下线程池参数?
19、ThreadLocal的原理和使用场景
20、如何对一个字符串快速进行排序?
答案解析获取方式:关注+转发后,私信【学习】获取
3、Spring底层
1、描述一下Spring Bean的生命周期?
2、Spring事务的实现方式和原理以及隔离级别?
3、什么是Spring?谈谈你对IOC和AOP的理解。
4、什么是bean的自动装配,有哪些方式?
5、Spring容器的