
Java面试
文章平均质量分 94
愤怒的代码
目前从事java行业
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 21 新特性详细教程
作为一个重要版本,Java 21 引入了多项语言增强和运行时改进,包含多个长期预览功能的正式发布(如虚拟线程),还推出了全新的功能(如字符串模板)。字符串模板提供了一种全新的字符串拼接方式,通过内嵌表达式动态生成字符串,类似于许多现代语言的模板字符串(如 JavaScript 的模板字符串)。虚拟线程是 Java 21 中正式发布的一项功能,旨在提供更轻量级的线程模型,可以在同一 JVM 上创建成千上万的线程。的增强,允许根据对象的类型或属性执行不同的操作。的核心成果,用于解决传统线程的高开销问题。原创 2024-11-19 09:11:15 · 1317 阅读 · 0 评论 -
Java 17 新特性详细教程
Java 17 提供了更强大的语言特性(如密封类、增强的 Switch 模式匹配),以及现代化的 API 和性能优化。Java 17 提供了许多语言特性和 API 改进,同时也移除了一些过时的功能,显著提高了语言表达能力和运行时性能。记录类是 Java 14 引入的一种特殊类,用于表示不可变数据对象。本文将详细介绍 Java 17 的新特性,配以丰富的示例代码,帮助你快速理解并掌握 Java 17 的使用。Java 17 引入了上下文终止处理器,增强了线程的生命周期管理。密封类是一种新特性,允许开发者。原创 2024-11-19 09:09:12 · 1138 阅读 · 0 评论 -
Java 11 新特性详细教程
继承了 Java 8 和 Java 9 的特性,同时新增了许多实用功能。Java 11 提供了生产环境级别的稳定性和现代化编程功能,是现代 Java 开发的首选之一。本文将详细讲解 Java 11 的新特性、示例代码以及其实际应用场景,帮助读者全面掌握 Java 11。Java 11 支持在一个 Jar 文件中针对不同的 Java 版本提供不同的实现。Java 11 为 HTTP 客户端提供了新的 API,替代了旧的。类进行了增强,添加了许多实用方法,简化了常见的字符串操作。从 Java 11 开始,原创 2024-11-14 11:37:09 · 2061 阅读 · 1 评论 -
Java 8 新特性详细教程
Lambda 表达式是 Java 8 中引入的一种语法糖,用来替代匿名内部类,主要用于简化函数式接口的实现。通过 Lambda 表达式,代码可以更加简洁和优雅。原创 2024-11-14 11:35:37 · 1190 阅读 · 0 评论 -
JVM面试知识点手册
是 Java 语言的核心组件,负责将 Java 程序编译后的字节码(bytecode)转换为机器指令,并在目标机器上执行。JVM 提供了硬件和操作系统的抽象,使得 Java 程序具有跨平台的特性,即“一次编写,随处运行”(Write Once, Run Anywhere)。JVM 的核心作用字节码执行:JVM 负责执行 Java 编译器生成的字节码文件(.class 文件)。内存管理:JVM 提供自动的内存管理机制,通过垃圾回收(Garbage Collection, GC)回收无用对象,避免了内存泄漏。原创 2024-09-20 21:54:58 · 1352 阅读 · 0 评论 -
MYSQL面试知识点手册
MySQL是世界上最流行的开源关系型数据库管理系统之一,它以性能卓越、稳定可靠和易用性而闻名。MySQL 主要应用在 Web 开发、大型互联网公司、企业级应用等场景,且广泛用于构建高并发、高可用的数据驱动系统。MySQL 的发展历史MySQL 最早由瑞典公司 MySQL AB 开发,并于 1995 年首次发布。2008 年,MySQL 被 Sun Microsystems 收购,2010 年 Sun 又被 Oracle 收购,因此 MySQL 目前由 Oracle 维护和开发。原创 2024-09-20 21:50:11 · 2037 阅读 · 0 评论 -
JUC面试知识点手册
并发编程是指在同一时间段内执行多个任务的编程方式。在单核处理器上,并发通过时间分片来实现,即在同一时间只有一个任务在执行,其他任务被暂停等待。在多核处理器上,并发可以通过同时执行多个任务来实现。并发编程的主要目的是提高程序的执行效率,特别是在处理I/O操作、网络请求或大规模计算时,并发可以显著减少程序的响应时间。并发编程的挑战线程安全:多个线程访问共享资源时,可能会导致数据不一致问题。死锁:多个线程互相等待对方释放资源,导致程序永远无法继续执行。线程饥饿:某些线程长时间无法获得执行机会。上下文切换。原创 2024-09-04 23:56:18 · 910 阅读 · 0 评论 -
HTTP、Session、Token及Cookie详解
HTTP是Web通信的基础协议,本身无状态。Cookie是一种在客户端和服务器之间传递状态信息的小型文本文件,广泛用于会话管理、个性化设置和跟踪分析。Session通过在服务器端维护用户状态,利用Cookie来传递Session ID,解决了HTTP无状态的问题。Token提供了一种无状态的认证方式,适用于分布式系统和无状态服务。在Web开发中,Cookie、Session和Token经常结合使用,各自发挥不同的作用。原创 2024-09-03 17:05:38 · 1487 阅读 · 0 评论 -
线程安全性问题
局部变量:通常线程安全。不可变变量:线程安全。最终变量:线程安全。:线程安全。同步方法/代码块:线程安全。原子变量:线程安全。静态最终变量:线程安全。为了确保多线程程序的线程安全,可以采用上述提到的方法和技术。选择合适的方法取决于具体的应用场景以及性能需求。在设计多线程应用时,尽量减少共享资源的使用,并考虑使用不可变对象、线程局部变量或者使用高级并发工具来管理共享资源。复合操作:确保复合操作是原子的或被正确地同步。可变共享变量:对可变共享变量的所有访问都要同步。非原子操作:使用原子变量或确保操作的原子性。原创 2024-08-23 17:11:36 · 998 阅读 · 0 评论 -
JUC知识点总结
JUC 提供了一系列强大的工具和类,帮助开发者更容易地实现高效的并发程序。在实际开发中,选择合适的并发工具和类,并根据业务需求进行优化,可以显著提升应用程序的性能和响应速度。希望以上示例能够帮助你更好地理解和应用 JUC 的核心知识点。Java 对象内存布局中的对象头和锁机制是 JVM 实现高效并发的关键部分。通过理解这些底层原理,可以更好地优化并发程序的性能和稳定性。Java 内存模型(JMM)通过定义内存可见性和指令重排序的规则,确保了多线程环境下程序的正确性和一致性。原创 2024-08-21 21:33:02 · 1067 阅读 · 0 评论