Java面试八股文

本文涵盖了计算机网络面试的关键知识点,如OSI和TCP/IP模型,以及Java开发者必备的技能,包括基础、并发、JVM、Spring等,同时提及了算法和实践工具如Redis、MySQL和算法笔记。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### Java 面试常见问题及答案 #### JDK、JRE 和 JVM 的区别是什么? JDK (Java Development Kit) 是用于开发 Java 应用程序的工具集,包含了编译器和其他必要的工具来编写和运行 Java 程序[^2]。 JRE (Java Runtime Environment) 提供了执行已编写的 Java 程序所需的环境,包括 JVM 及其他支持文件和库。 JVM (Java Virtual Machine) 则是一个抽象计算模型,它允许计算机上运行任何被编译成字节码的语言而无需考虑底层硬件架构。JVM 执行由 Java 编译器产生的 .class 文件中的指令,并处理内存管理等问题。 ```java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` 这段简单的 `HelloWorld` 示例展示了如何创建一个基本的 Java 类并定义其入口方法 `main()` 函数,在这里可以看到当这个类被执行时会打印一条消息到控制台。这有助于理解上述概念的实际应用方式。 #### DispatcherServlet 如何工作? 在 Spring MVC 中,所有的 HTTP 请求都会先经过前端控制器 DispatcherServlet 处理。该组件负责接收请求并将它们分发给相应的处理器(通常是 Controller),之后再把业务逻辑层返回的数据封装在一个名为 ModelAndView 对象里传递回去;最后通过 ViewResolver 来决定具体要渲染哪个页视图[^3]。 ```xml <!-- web.xml --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` 此配置片段说明了怎样设置 Servlet 容器以识别来自客户端的所有 URL 映射都应交给 DispatcherServlet 进行路由决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值