Java程序员高频面试题(含详细接地气答案).docxVIP

  • 0
  • 0
  • 约5.65千字
  • 约 8页
  • 2026-07-27 发布于河北
  • 举报

Java程序员高频面试题(含详细接地气答案).docx

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)

1亿VIP精品文档

相关文档