排序
面试题:如何在 Java 中调用外部可执行程序或系统命令?
在 Java 中,可以使用 java.lang.Runtime 类或 java.lang.ProcessBuilder 类来调用外部可执行程序或系统命令。这两种方式都可以执行系统命令、启动外部程序,并获取其输入输出流和退出码。 ✅ ...
面试题:Java 的 StringBuilder 是怎么实现的?
StringBuilder 是 Java 中用于高效拼接字符串的一个可变序列类,位于 java.lang 包中。它通过减少创建中间的 String 对象来提高性能,特别是在需要进行大量字符串操作的场景下。以下是 StringBu...
面试题:为什么 JDK 9 中将 String 的 char 数组改为 byte 数组?
在JDK 9中,String的内部表示从使用char[]数组改为使用byte[]数组,这一改变主要是为了优化内存使用和提高性能。 具体来说,之前的String实现使用的是char[]数组,每个字符占用2个字节(16位)...
面试题:Java 中的线程安全是什么意思?
在 Java 中,线程安全指的是当多个线程并发访问某个资源(如对象、类或方法)时,能够确保该资源的状态始终保持正确的状态,不会因为并发访问而导致数据不一致或错误的行为。 简单来说,如果一...
面试题:JIT 编译后的代码存在哪?
JIT(Just-In-Time,即时编译)编译后的代码(即本地机器码)主要存储在 Java 虚拟机(JVM)的 Code Cache(代码缓存区) 中。 以下是更详细的解释: Code Cache(代码缓存区): 这是 JVM 堆外...
面试题:什么是 Java 中的线程同步?
在 Java 中,线程同步是指通过特定的机制确保多个线程访问共享资源时能够有序地进行,以避免数据不一致或竞态条件等问题。线程同步的核心目的是保证多线程环境下数据的一致性和完整性。 为什么...
面试题:什么是 Java 的 CompletableFuture?
CompletableFuture 是 Java 8 引入的一个类,位于 java.util.concurrent 包中,它是对 Future 接口的扩展和增强。CompletableFuture 提供了一种更加灵活且强大的方式来处理异步编程任务,允许你...
面试题:Java 中 ArrayList 和 LinkedList 有什么区别?
在 Java 中,ArrayList 和 LinkedList 都实现了 List 接口,但它们基于不同的数据结构实现,因此在性能、内存使用和适用场景方面存在显著差异。以下是它们的主要区别: 1. 数据结构基础 ArrayLi...
面试题:什么是 Java 的网络编程?
Java的网络编程是指利用Java语言提供的API进行网络通信的过程。通过网络编程,Java应用程序可以与其他运行在网络中的程序或服务进行数据交换。Java提供了丰富的类库支持不同层次的网络编程,使...
面试题:编译执行与解释执行的区别是什么?JVM 使用哪种方式?
编译执行与解释执行是两种不同的程序执行方式,它们各有特点,并适用于不同的场景。下面简要介绍这两种执行方式的区别: 编译执行(Compiled Execution) 定义:编译执行指的是将源代码一次性翻...
