面试鸭 Java 后端面试题, 杭州某医疗公司 Java 面经
面试鸭 Java 后端面试题, 杭州某医疗公司 Java 面经
QA
Step 1
Q:: 什么是JVM?它的主要组成部分有哪些?
A:: Java虚拟机(JVM)是一个可以执行Java字节码的虚拟机。JVM的主要组成部分包括:类加载器(Class Loader),运行时数据区(Runtime Data Area),执行引擎(Execution Engine)以及本地接口(Native Interface)。类加载器负责加载类文件,运行时数据区包括堆(Heap)、栈(Stack)、方法区(Method Area)、程序计数器(Program Counter Register)和本地方法栈(Native Method Stack)。执行引擎负责执行字节码,本地接口提供调用本地方法的接口。
Step 2
Q:: 什么是垃圾回收(GC),它的主要算法有哪些?
A:: 垃圾回收(Garbage Collection,GC)是指JVM自动回收不再使用的对象的内存的过程。主要的垃圾回收算法包括:标记-清除算法(Mark-Sweep)、标记-整理算法(Mark-Compact)、复制算法(Copying)、分代收集算法(Generational Collecting)。标记-清除算法先标记所有需要回收的对象,然后统一回收。标记-
整理算法在标记后整理存活对象,移动到内存的一端。复制算法将内存分成两块,每次只使用一块,将存活对象复制到另一块。分代收集算法将内存分成几代,分别处理。
Step 3
Q:: 什么是Java中的线程池?如何使用线程池?
A:: 线程池(Thread Pool)是Java中用于管理一组工作线程的机制。它可以有效地控制并发线程的数量,简化线程管理,减少资源消耗。Java中通过Executor框架提供了线程池的实现,如FixedThreadPool(固定大小线程池),CachedThreadPool(缓存线程池),ScheduledThreadPool(调度线程池)等。使用线程池的步骤包括:1)创建线程池实例;2)提交任务;3
)关闭线程池。
Step 4
Q:: Spring框架的核心组件有哪些?
A:: Spring框架的核心组件包括:Spring Core、Spring Context、Spring AOP、Spring DAO、Spring ORM、Spring Web、Spring MVC。Spring Core提供IoC(控制反转)和DI(依赖注入)功能;Spring Context提供框架的上下文信息;Spring AOP提供面向切面编程的功能;Spring DAO提供数据访问的支持;Spring ORM集成了主流的ORM框架;Spring Web提供了基础的Web支持;Spring MVC提供了Web应用的Model-View-
Controller实现。
Step 5
Q:: 什么是RESTful API?如何在Spring Boot中创建一个RESTful API?
A:: RESTful API是一种基于REST架构风格的Web服务接口,通过HTTP协议进行通信。RESTful API的特点包括:无状态性、客户端-服务器结构、统一接口、可缓存、分层系统等。在Spring Boot中创建RESTful API的步骤包括:1)添加Spring Boot依赖;2)使用@RestController注解创建控制器类;3)定义API端点并使用@RequestMapping、@GetMapping、@PostMapping等注解映射HTTP请求;4
)启动应用并访问API。