面试鸭 Java 后端面试题, 上海某数字科技公司 Java 面经
面试鸭 Java 后端面试题, 上海某数字科技公司 Java 面经
QA
Step 1
Q:: 什么是Java虚拟机(JVM),它的主要作用是什么?
A:: Java虚拟机(JVM)是一种运行Java字节码的虚拟计算机。它的主要作用包括:1. 执行Java程序:将Java字节码解释或编译成机器码在计算机上运行。2. 垃圾回收:自动管理内存,回收不再使用的对象,防止内存泄漏。3.
平台独立性:Java程序可以在不同平台上运行而无需重新编译。
Step 2
Q:: Java中垃圾回收机制是如何工作的?
A:: Java中的垃圾回收机制主要通过以下几种方式工作:1. 引用计数法:每个对象都有一个引用计数器,当对象被引用时计数加一,引用失效时计数减一,当计数为零时对象被回收。2. 标记-清除算法:标记出所有活动对象,然后清除所有未标记的对象。3. 标记-整理算法:在标记清除后,对剩余对象进行整理,使其连续存储。4.
分代收集算法:将堆区分为年轻代、老年代和永久代,分别对不同生命周期的对象进行不同的垃圾回收策略。
Step 3
Q:: Java中的线程池是什么,为什么要使用线程池?
A:: 线程池是一种多线程管理方式,通过提前创建一组线程(线程池),避免了频繁创建和销毁线程的开销,从而提高系统的性能和稳定性。使用线程池的好处包括:1. 降低资源消耗:通过重复利用已创建的线程,减少频繁创建和销毁线程带来的资源开销。2. 提高响应速度:当任务到达时,可以直接利用线程池中的线程,无需等待新线程创建。3. 提供线程管理:可以控制线程的最大并发数,防止系统过载。4.
提供定时任务和周期性任务的执行功能。
Step 4
Q:: 什么是Spring框架,主要包含哪些模块?
A:: Spring框架是一个开源的Java企业级应用框架,旨在简化企业级应用开发,主要包含以下模块:1. Spring Core:核心容器模块,提供IoC(控制反转)和DI(依赖注入)功能。2. Spring AOP:面向切面编程模块,提供AOP支持。3. Spring ORM:对象关系映射模块,集成了Hibernate、JPA等ORM框架。4. Spring JDBC:简化JDBC操作的模块。5. Spring MVC:Web应用开发模块,提供MVC设计模式的实现。6. Spring Boot:快速构建独立、生产级Spring应用的模块。7.
Spring Security:提供安全管理的模块。