Java|这份Java面试八股文让329人成功进入大厂,堪称2022最强( 三 )


五、Java JVM 42 道
1. 说一下 Jvm 的主要组成部分?及其作用?2. 谈谈对运行时数据区的理解?3. 堆和栈的区别是什么?4. 堆中存什么?栈中存什么?5. 为什么要把堆和栈区分出来呢?栈中不是也可以存储数据吗?6. Java 中的参数传递时传值呢?还是传引用?7. Java 对象的大小是怎么计算的?8. 对象的访问定位的两种方式?9. 判断垃圾可以回收的方法有哪些?10. 垃圾回收是从哪里开始的呢?11. 被标记为垃圾的对象一定会被回收吗?12. 谈谈对 Java 中引用的了解?13. 谈谈对内存泄漏的理解?14. 内存泄露的根本原因是什么?15. 举几个可能发生内存泄漏的情况?16. 尽量避免内存泄漏的方法?17. 常用的垃圾收集算法有哪些?18. 为什么要采用分代收集算法?19. 分代收集下的年轻代和老年代应该采用什么样的垃圾回收算法?20. 什么是浮动垃圾?21. 什么是内存碎片?如何解决?22. 常用的垃圾收集器有哪些?23. 谈谈你对 CMS 垃圾收集器的理解?24. 谈谈你对 G1 收集器的理解?25. 说下你对垃圾回收策略的理解/垃圾回收时机?26. 谈谈你对内存分配的理解?大对象怎么分配?空间分配担保?27. 说下你用过的 JVM 监控工具?28. 如何利用监控工具调优?29. JVM 的一些参数?30. 谈谈你对类文件结构的理解?有哪些部分组成?31. 谈谈你对类加载机制的了解?32. 类加载各阶段的作用分别是什么?33. 有哪些类加载器?分别有什么作用?34. 类与类加载器的关系?35. 谈谈你对双亲委派模型的理解?工作过程?为什么要使用36. 怎么实现一个自定义的类加载器?需要注意什么?37. 怎么打破双亲委派模型?38. 有哪些实际场景是需要打破双亲委派模型的?39. 谈谈你对编译期优化和运行期优化的理解?40. 为何 HotSpot 虚拟机要使用解释器与编译器并存的架构?41. 说下你对 Java 内存模型的理解?42. 内存间的交互操作有哪些?需要满足什么规则?



六、SSM框架 37 道
1. 使用 Spring 框架的好处是什么?2. 解释下什么是 AOP?3. AOP 的代理有哪几种方式?4. 怎么实现 JDK 动态代理?5. AOP 的基本概念:切面、连接点、切入点等?6. 通知类型(Advice)型(Advice)有哪些?7. 谈谈你对 IOC 的理解?8. Bean 的生命周期?9. Bean 的作用域?10. Spring 中的单例 Bean 的线程安全问题了解吗?11. 谈谈你对 Spring 中的事物的理解?12. Spring 中的事务隔离级别?13. Spring 中的事物传播行为?14. Spring 常用的注入方式有哪些?15. Spring 框架中用到了哪些设计模式?16. ApplicationContext 通常的实现有哪些?17. 谈谈你对 MVC 模式的理解?18. SpringMVC 的工作原理/执行流程?19. SpringMVC 的核心组件有哪些?20. SpringMVC 常用的注解有哪些?21. @RequestMapping 的作用是什么?22. 如何解决 POST 请求中文乱码问题 , GET 的又如何处理呢?23. SpringMVC 的控制器是不是单例模式 , 如果是会有什么问题 , 怎么解决?24. SpringMVC 怎么样设定重定向和转发的?25. SpringMVC 里面拦截器是怎么写的?26. SpringMVC 和 Struts2 的区别有哪些?27. 谈谈你对 MyBatis 的理解?28. MyBaits 的优缺点有哪些?29. MyBatis 与 Hibernate 有哪些不同?30. MyBatis 中 #{ 和 ${的区别是什么?31. MyBatis 是如何进行分页的?分页插件的原理是什么?32. MyBatis 有几种分页方式?33. MyBatis 逻辑分页和物理分页的区别是什么?34. MyBatis 是否支持延迟加载?如果支持 , 它的实现原理是什么?35. 说一下 MyBatis 的一级缓存和二级缓存?36. Mybatis 有哪些执行器(Executor)?37. MyBatis 动态 SQL 是做什么的?都有哪些动态 SQL?能简述一下动态 SQL的执行原理不?