文档章节

String的intern()方法

之渊
 之渊
发布于 2017/09/01 15:25
字数 279
阅读 19
收藏 0

今天在看 被人代码的时候,发现有使用到 String的intern()方法 。。。 懵逼了,,,我开发这么久,还是第一次看到有人用这个 方法,我还以为 这个方法不存在呢!! 查看了 api 解析也是 有点不太明白。 百度了一下,

证明了intern()节省内存的结论。 细心的同学会发现使用了intern()方法后程序运行时间有所增加。这是因为程序中每次都是用了new String后又进行intern()操作的耗时时间,但是不使用intern()占用内存空间导致GC的时间是要远远大于这点时间的。

总之就是 String的intern()方法 就是 为了节省 内存空间的。。。而现在一般的 程序电脑内存和资源很足,几乎不会用到这个方法的。。。

可是 确实也有 用到它的地方,,比如 同步锁 方法块里面:

String p = "xxx";
			synchronized(p.intern()) 
			{
    //同步方法。。。
}

好吧!为了更好的控制同步执行, 使用了String的intern()方法 。 也算涨姿势了!!!

© 著作权归作者所有

共有 人打赏支持
之渊
粉丝 11
博文 515
码字总数 152161
作品 0
佛山
程序员
java 关于string类的intern方法

0.引言 什么都先不说,先看下面这个引入的例子: [java] view plain copy String str1 = new String("SEU")+ new String("Calvin"); System.out.println(str1.intern() == str1); System.ou......

hgqxjj
2017/12/21
0
0
深入解析String#intern

引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。...

摆渡者
2016/04/27
120
0
String的intern方法解析

public String intern()返回字符串对象的规范化表示形式。 一个初始时为空的字符串池,它由类 String 私有地维护。 当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该...

HappyBKs
2015/09/19
186
0
String类源码阅读记录

在开发过程中String是一个高频使用的类,但是一直没有仔细去阅读过源码。打开源码得知String是一个final的类,它实现了Serializable、Comparable和CharSequence接口 String类包含三个属性:...

上官胡闹
2016/10/22
20
0
Java 之 String 类型

1. String是一个对象 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 首先String不属于8种基本数据类型(byte, char, short, in...

长平狐
2013/01/06
51
0

没有更多内容

加载失败,请刷新页面

加载更多

利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

linuxprobe16
今天
5
0
OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
今天
281
6
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
今天
3
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
5
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部