mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-08-01 16:28:03 +08:00
Compare commits
No commits in common. "a89d33f02d94a0f3aeec182bbb43eb8c977be212" and "4acc22c947f40a94a14775c5eb5854df4dc7f1c0" have entirely different histories.
a89d33f02d
...
4acc22c947
@ -25,6 +25,6 @@ icon: experience
|
|||||||
有很多同学要说了:“为什么不直接给出具体答案呢?”。主要原因有如下两点:
|
有很多同学要说了:“为什么不直接给出具体答案呢?”。主要原因有如下两点:
|
||||||
|
|
||||||
1. 参考资料解释的要更详细一些,还可以顺便让你把相关的知识点复习一下。
|
1. 参考资料解释的要更详细一些,还可以顺便让你把相关的知识点复习一下。
|
||||||
2. 给出的参考资料基本都是我的原创,假如后续我想对面试问题的答案进行完善,就不需要挨个把之前的面经写的答案给修改了(面试中的很多问题都是比较类似的)。当然了,我的原创文章也不太可能覆盖到面试的每个点,部分面试问题的答案,我是精选的其他技术博主写的优质文章,文章质量都很高。
|
2. 给出的参考资料基本都是我的原创,假如后续我想对面试问题的答案进行完善,就不需要挨个把之前的面经写的答案给修改了(面试中的很多问题都是比较类似的)。当然了,我的原创文章也不太可能覆盖到面试的每个点,部面试问题的答案,我是精选的其他技术博主写的优质文章,文章质量都很高。
|
||||||
|
|
||||||
<!-- @include: @planet.snippet.md -->
|
<!-- @include: @planet.snippet.md -->
|
||||||
|
@ -683,7 +683,7 @@ System.out.println(s);
|
|||||||
|
|
||||||
如果你使用 IDEA 的话,IDEA 自带的代码检查机制也会提示你修改代码。
|
如果你使用 IDEA 的话,IDEA 自带的代码检查机制也会提示你修改代码。
|
||||||
|
|
||||||
在 JDK 9 中,字符串相加“+”改为用动态方法 `makeConcatWithConstants()` 来实现,通过提前分配空间从而减少了部分临时对象的创建。然而这种优化主要针对简单的字符串拼接,如: `a+b+c` 。对于循环中的大量拼接操作,仍然会逐个动态分配内存(类似于两个两个 append 的概念),并不如手动使用 StringBuilder 来进行拼接效率高。这个改进是 JDK9 的 [JEP 280](https://openjdk.org/jeps/280) 提出的,关于这部分改进的详细介绍,推荐阅读这篇文章:还在无脑用 [StringBuilder?来重温一下字符串拼接吧](https://juejin.cn/post/7182872058743750715) 以及参考 [issue#2442](https://github.com/Snailclimb/JavaGuide/issues/2442)。
|
不过,使用 “+” 进行字符串拼接会产生大量的临时对象的问题在 JDK9 中得到了解决。在 JDK9 当中,字符串相加 “+” 改为了用动态方法 `makeConcatWithConstants()` 来实现,而不是大量的 `StringBuilder` 了。这个改进是 JDK9 的 [JEP 280](https://openjdk.org/jeps/280) 提出的,这也意味着 JDK 9 之后,你可以放心使用“+” 进行字符串拼接了。关于这部分改进的详细介绍,推荐阅读这篇文章:还在无脑用 [StringBuilder?来重温一下字符串拼接吧](https://juejin.cn/post/7182872058743750715) 。
|
||||||
|
|
||||||
### String#equals() 和 Object#equals() 有何区别?
|
### String#equals() 和 Object#equals() 有何区别?
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user