java八种基本类型(byte/short/int/long/float/double/char/boolean)本质是栈中直接存储值的内存单元,无对象头、不占堆、无gc开销;区别于引用类型(如integer)在栈存地址、数据在堆;需掌握int默认整数、float精度陷阱、char可算术运算、boolean非数值、byte/short运算自动提升为int、integer缓存[-128,127]及npe风险等核心边界与实战坑点。

别只报“8种:byte、short、int……”,高分答案要带内存逻辑、边界意识和实战陷阱。
说清本质区别:栈值 vs 堆址
基本类型(8种)直接在栈中存数值,不涉及对象创建,无GC压力;引用类型(如Integer、String、ArrayList)在栈中存的是堆内存地址,真实数据在堆里。这个差异直接决定性能表现、参数传递行为、线程安全边界——面试官听你点出“栈/堆”就知你不是背书的。
讲透8种类型的关键细节,不是字节表
-
int:默认整数类型,字面量不加后缀就是int;超大数如
2147483648会编译失败,必须写2147483648L -
float/double:精度问题致命——金额计算禁用float,比较要用
Math.abs(a - b) 或BigDecimal -
char:2字节Unicode,可参与算术运算(
'a' + 1 == 'b'),但不能用"a"代替 - boolean:JVM规范未规定占几字节,实际由具体实现定;不能与0/1互转,也不参与运算
-
byte/short:范围小易溢出,做加减会自动提升为int,
byte b = 1; b = b + 1;编译不过,必须强转
必提包装类与自动装箱的坑
Integer等包装类是对象,有缓存机制:-128 到 127 范围内复用同一对象。所以:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
Integer a = 100, b = 100; System.out.println(a == b); // trueInteger c = 200, d = 200; System.out.println(c == d); // false
这题一出,考的不是==和equals区别,而是你是否真写过调试代码、是否踩过线上null拆箱空指针(Integer i = null; int j = i;直接抛NPE)。
顺手带一句void,显功底不显浮夸
8种是标准基本类型,但void是特殊类型,不是基本类型也不是引用类型,仅作方法返回占位符。Java 9起下划线_被设为保留字,不能再当标识符——这种边角细节,提一句比硬凑八股更让面试官记住你。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










