面试里的常客,往往藏在“基础”里
很多同学在准备 Java 面试时,总觉得自己代码写得够多,技术栈够新就行。但现实中,面试官最喜欢问的恰恰是那些看起来最简单的“常用类”。比如包装类的存在意义、String 为什么不可变、StringBuilder 和 StringBuffer 怎么选,甚至 System.currentTimeMillis() 的实际用途。这些问题如果答得含糊其辞,很容易给面试官留下“基础不扎实”的印象。 这门课程专门针对 Java 程序员面试中的“常用类”部分进行了梳理。它不追求面面俱到地讲解每一个 API,而是聚焦于你最容易混淆、最容易在面试中被追问的核心概念。如果你发现自己对自动装箱/拆箱的细节说不清楚,或者写代码时习惯性地用 String 拼接而没有考虑性能问题,那么这门课正好能帮你补齐这块短板。从包装类到 String,逐一攻克高频考点
课程从“为什么需要包装类”切入,这是理解整个 Java 面向对象设计的第一步。接着会深入讲解字符串与基本类型的相互转化,以及自动装箱和拆箱机制背后的陷阱。这部分内容看似简单,但一旦涉及内存模型或 null 值处理,很多人就会踩坑。 对于 String 类,课程不仅解释了它为何被设计为不可变字符序列,还对比了 String 的 equals 方法与 Object 类的区别,这是面试中的经典区分题。同时,trim() 方法和 substring() 的具体行为也是高频考察点,特别是在处理用户输入数据时,理解这些方法的边界条件至关重要。 此外,课程还涵盖了 StringBuffer 和 StringBuilder 的性能差异及适用场景,这是并发编程和性能优化中的必知内容。通过分析特定代码片段的运行结果和内存结构,你能更直观地理解对象在堆内存中的创建过程,避免在实际开发中写出低效或存在 bug 的代码。学完能做什么,以及如何有效利用资料
学完这门课后,你应该能够清晰地解释包装类的作用、String 不可变的原因以及 StringBuffer/StringBuilder 的区别,并能准确判断简单代码片段的执行结果和内存分布。这意味着你在面对相关面试题时,不再只是背诵答案,而是能从底层逻辑上进行阐述。 建议的学习顺序是:先理解包装类和基本类型的转换机制,再重点攻克 String 类的特性与内存模型,最后掌握 StringBuilder 的使用场景。配套的资料包中包含了对应的视频讲解和典型案例分析,建议先观看视频理解概念,然后通过案例代码自己动手运行,观察输出结果与预期是否一致。这种“看-练-反思”的闭环,才能将这些知识真正转化为你的面试底气。课程目录
1 为什么需要包装类?包装类的作用是? (03:39) 2 将字符串12345转化成基本类型数字? (01:30) 3 自动装箱和自动拆箱指的是? (01:37) 4 为什么 String 类被称为不可变字符序列? (01:46) 5 String 类的 equals 方法跟 Object 的 (03:58) 6 String 类的 trim()方法是什么作用? (02:10) 7 JavaString.substring(3,7) 返回的结 (01:46) 8 分析下面代码的结果、并画出内存结构图、并说出结果 (09:25) 9 StringBuffer 和 StringBuilder 的 (08:44) 10 如下的代码会造成什么后果?运行期间会产生多少个对象? (03:06) 11 System.currentTimeMillis()表示什么 (01:07) 12 Date d = new Date()表示的是当前时间吗? (01:07) 13 请写出SimpleDateFormat 类来实现时间跟字符串 (05:24) 14 File 类能代表一个目录吗? (01:56) 15 File 类的方法 mkdir 跟 mkdirs有什么区别? (02:20) 16 什么时候使用枚举?枚举的定义是什么? (02:30) 17 switch 语句中的表达式结果可以是枚举吗? (04:30)





