- 0
- 0
- 约5.65千字
- 约 8页
- 2026-07-27 发布于河北
- 举报
Java程序员高频面试题(含详细接地气答案)
一、Java基础核心(必问)
1、JDK、JRE、JVM的区别?
答案:
简单来说是层层包含的关系:JDKJREJVM。
JVM是Java虚拟机,是Java程序能跨平台的核心,只负责运行class字节码文件,没有编译功能,所有Java程序最终都是在JVM上跑的。
JRE是Java运行环境,包含JVM+Java核心类库(比如常用的String、集合类),只用来运行已经写好的Java程序,不能开发代码。
JDK是Java开发工具包,包含JRE+开发工具(javac编译器、java运行命令、打包工具等),我们日常开发安装的就是JDK,只有JDK才能写代码、编译代码。
2、==和equals的区别?
答案:
==是比较运算符,基本数据类型比较的是数值本身,引用数据类型比较的是内存地址。
equals是Object类的方法,默认底层就是==,也是比较内存地址。但像String、Integer这些常用类,都重写了equals方法,重写后比较的是对象内容,不再比较地址。
实战总结:日常开发中,字符串、包装类对比内容一律用equals,基本类型直接用==。
3、String、StringBuffer、StringBuilder的区别?
答案:
1、String是不可变字符串,一旦创建就不能修改,每次拼接、修改都会生成新字符串
原创力文档

文档评论(0)