Java常见面试题(2024)
文章平均质量分 80
本专栏将带你逐一攻克Java面试中的常见难题。我们将以实战案例为线索,深入解析Java核心技术,包括但不限于面向对象编程、异常处理、集合框架、多线程与并发、JVM内部机制、设计模式以及Spring框架等。
叫我阿杰好了
CSDN JAVA领域优秀创作者,阿里云专家博主。纵有疾风起,人生不言弃!
展开
-
String s1 = new String(“abc“);这句话创建了几个字符串对象?
这样的语法创建字符串时,JVM会先检查字符串常量池里是否已经有了 “abc” 的引用。如果没有,它会在堆上创建一个新的String对象,并且把这个引用放到字符串常量池里。如果已经有了,JVM就只会在堆上创建一个指向那个引用的新对象。首先,我们来聊聊Java中的字符串(String)。在Java里,字符串是不可变的,也就是说,一旦我们创建了一个字符串,它的值就不能更改了。举个例子,如果字符串常量池里没有 “abc”,那么。会产生两个对象:一个在堆上,一个在字符串常量池中。就只会在堆上创建一个对象。原创 2024-05-20 11:53:09 · 215 阅读 · 0 评论 -
包装类型的缓存机制了解么?
Java中,对于整型的包装类`Integer`,存在一个特殊的缓存机制。这个缓存机制会缓存从-128到127(包括-128和127)之间的所有整数值。这意味着在这个范围内的整数,每次调用`Integer.valueOf()`方法时,都会返回缓存中的对象,而不是每次都创建一个新的对象。原创 2024-05-20 11:50:12 · 264 阅读 · 0 评论 -
4、== 与 equals的区别? hashCode 与 equals ?
在Java中,`==` 和 `equals()` 是用来比较两个对象是否相等的两种不同的方法,而 `hashCode()` 则是用来获取对象的哈希码,通常用于哈希表等数据结构中。原创 2024-05-20 11:09:56 · 68 阅读 · 0 评论 -
String 、 StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
String 、 StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?原创 2024-05-06 07:48:09 · 184 阅读 · 2 评论 -
Java 中的几种基本数据类型是什么?对应的包装类型是什么?各自占用多少字节呢?
Java 中的几种基本数据类型是什么?对应的包装类型是什么?各自占用多少字节呢?原创 2024-05-06 07:02:41 · 161 阅读 · 3 评论