Java 语言基础共59篇

Java 作为广泛应用的编程语言,基础扎实是后端开发的关键。Java 基础面试的重点知识点包括数据类型与运算符、字符串操作、异常处理、面向对象设计、类与接口的实现、集合框架的使用、多线程编程、JVM 运行原理以及 Java 8 的新特性。

面试题:Java 中的字节码是什么?

在Java中,字节码(Bytecode)是一种介于源代码和机器码之间的中间表示形式,它不是特定于任何一种硬件架构或操作系统,而是针对Java虚拟机(JVM)的一种低级代码。当你编写完Java程序后,通过...
程序百科的头像-程序百科程序百科1个月前
3411

面试题:你使用过 Java 的反射机制吗?如何应用反射?

Java的反射机制提供了一种在运行时动态获取类信息以及动态调用对象方法的能力。通过反射,你可以在程序运行时检查或“反射”自身,并操纵内部属性和方法。以下是关于如何使用Java反射机制的一些...
程序百科的头像-程序百科程序百科1个月前
4611

面试题:Java 中 String、StringBuffer 和 StringBuilder 的区别是什么?

在 Java 中,String、StringBuffer 和 StringBuilder 都是用来处理字符串的类,但它们之间有一些关键的区别,主要体现在可变性、线程安全和性能方面。 String 不可变性:String 类的对象一旦创...
程序百科的头像-程序百科程序百科1个月前
3011

面试题:JDK8 有哪些新特性?

JDK 8(也称为 Java 8)于2014年3月发布,引入了许多新特性和改进,这些更新极大地增强了Java语言的功能和易用性。以下是JDK 8中一些重要的新特性: 1. Lambda表达式 Lambda表达式允许将行为作...
程序百科的头像-程序百科程序百科1个月前
3311

面试题:什么是 Java 的 Integer 缓存池?

Java中的Integer缓存池是指在JVM启动时预先创建的一系列Integer对象,这些对象代表了一定范围内的整数值。这一机制是为了提高性能和减少内存使用而设计的。具体来说,在Integer类中有一个名为In...
程序百科的头像-程序百科程序百科1个月前
4311

面试题:如果一个线程在 Java 中被两次调用 start() 方法,会发生什么?

直接答案 会抛出 IllegalThreadStateException 异常。在 Java 中,一个线程对象只能被启动(start)一次,重复调用 start() 方法是非法操作。 详细解释 1. 线程生命周期状态 线程在被...
程序百科的头像-程序百科程序百科1个月前
2211

面试题:什么是 Channel?

在Java中,Channel(通道)是java.nio包的一部分,它代表了一个与实体如硬件设备、文件、网络套接字等的开放连接,通过这个连接可以进行数据的读取和写入。通道是对传统的流(Stream)模型的一...
程序百科的头像-程序百科程序百科1个月前
4510

面试题:Java 泛型擦除是什么?

Java中的泛型擦除(Generics Erasure)是Java编译器在处理泛型时采用的一种机制。这种机制主要源于Java的设计历史和向后兼容性的考虑。简单来说,泛型信息只存在于源代码级别,在编译成字节码时...
程序百科的头像-程序百科程序百科1个月前
4510

面试题:JDK 和 JRE 有什么区别?

JDK 和 JRE 是 Java 平台的两个主要组件,它们各自有着不同的用途和功能。以下是它们之间的主要区别: JDK(Java Development Kit) 定义:JDK 是 Java 开发工具包,是为开发人员提供的一个环境...
程序百科的头像-程序百科程序百科1个月前
4910

面试题:为什么 JDK 9 中将 String 的 char 数组改为 byte 数组?

在JDK 9中,String的内部表示从使用char[]数组改为使用byte[]数组,这一改变主要是为了优化内存使用和提高性能。 具体来说,之前的String实现使用的是char[]数组,每个字符占用2个字节(16位)...
程序百科的头像-程序百科程序百科1个月前
5610