建议最流行的代码元素必须稳定,实际上任何更改都可能影响许多其他类型,让我们来看看是否是这种情况String
,因为我们可以比较2004年9月30日发布的JVM 5和JVM 7的最新更新发布于2013年10月15日。
新增方法
以下是9年中添加的方法:
仅添加了3个构造函数和5个方法。
不推荐使用的方法
自2004年以来,仅弃用了一个构造函数。
4.设计字符串以优化内存使用率
String
在Java中会受到特殊对待,因为它们在程序中经常使用。因此,效率(就计算和存储而言)至关重要。
有两种方法来构造一个string
:通过分配string
文字或String
通过new运算符和构造函数显式创建对象的隐式构造。例如:
String s1 = “Hello”; // String literal
String s2 = new String(“Hello”); // String object
Java提供了一种用于保留String
文字的特殊机制,即所谓的string
公共池。如果两个string
文字的内容相同,则它们将在公共池中共享相同的存储。采用这种方法可以节省经常使用string
的存储空间。另一方面,String
通过new运算符和构造函数创建的对象将保留在堆中。String
就像其他任何对象一样,堆中的每个对象都有自己的存储空间。即使两个String
对象具有相同的内容,也不会共享堆中的存储。
5.设计字符串以优化CPU使用率
我们可以列举两种CPU优化的情况:
- 尽可能执行最少的代码:
让我们以该方法为例,这是其实现的第一行:
public String toLowerCase(Locale locale) {
if (locale == null) {
throw new NullPointerException();
}
……
locale ``NullPointerException
如果在方法主体的早期使用JVM,则JVM会抛出if指针,null
并且显式抛出此异常的情况很少见。但是,许多方法String
使用这种技术来避免在异常情况下执行更多代码,这可能会最大程度地减少CPU使用率。
isEmpty
而不是
equals(“”): isEmpty
Java 6中引入的,它比快
equals(“”)
,因为它只是将
string
存储在
String
对象中的对象的长度与零进行比较:
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性
Java面试宝典2021版
最常见Java面试题解析(2021最新版)
2021企业Java面试题精选
750599825)]
2021企业Java面试题精选
[外链图片转存中…(img-MYc1zVwW-1710750599826)]
[外链图片转存中…(img-NXmZrl6j-1710750599826)]