String and intern

原创 2006年06月17日 17:56:00
1. 在学习JAVA的时候就知道==比较的是内存地址.而equals比较的是内存地址对应的值!(可是还是有很多的人问来问去的,真不知道他们JAVA的基础课程是怎么学的?!)

2. JAVA所有的对象都是存放在堆中的!你获取的"对象"仅仅只是对象的引用而已

3. String是比较特殊的对象,特殊在
3.1 > String a = new String("test") -此时你是在堆中实例化了一个字符串对象
3.2 > String b = "test"-此时JVM会先去堆中寻找这样的对象;如果有就返回此对象的引用;如果没有就重新实例化一个这样的对象!基于这样的一个过程所以JAVA要求String不可以更改值的。

3.3 >intern()方法就是试图完成这样的一个寻找过程
When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the equals(Object) method, then the string from the pool is returned. Otherwise, this String object is added to the pool and a reference to this String object is returned.

String的intern方法的用处

今天第一次翻看Effective java,在其第一个item中讲静态工厂方法的有点的时候说到“它们每次被调用的时候,不要非得创建一个新的对象”并在结尾处提到---"String.intern方法以一...
  • hanrentanfei
  • hanrentanfei
  • 2007年10月09日 20:39
  • 20890

Java技术——你真的了解String类的intern()方法吗

说实话我本来想总结一篇Android内存泄漏的文章的,查阅了很多资料,发现不得不从Java的OOM讲起,讲Java的OOM又不得不讲Java的虚拟机架构。在JVM架构一文中也有介绍,在JVM运行时数据...
  • SEU_Calvin
  • SEU_Calvin
  • 2016年08月23日 16:40
  • 29817

java String.intern() 方法

source : http://java-performance.info/string-intern-in-java-6-7-8/ 这篇文章介绍String.intern 方法在java 6中的实现...
  • u012941811
  • u012941811
  • 2016年09月02日 16:38
  • 685

String的intern()方法详解

官方API: intern public String intern() 返回字符串对象的规范化表示形式。 一个初始时为空的字符串池,它由类 String 私有地维护。 当调用 intern 方...
  • wjzhang5514
  • wjzhang5514
  • 2017年04月17日 11:42
  • 360

深入理解java虚拟机(三):String.intern()-字符串常量池

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战   看源码:  public native String intern();    ...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2014年02月19日 14:47
  • 11501

几张图轻松理解String.intern()

在翻《深入理解Java虚拟机》的书时,又看到了2-7的 String.intern()返回引用的测试。 其实要搞明白String.intern(),我总结了下面几条规则: 一、new String...
  • soonfly
  • soonfly
  • 2017年04月12日 20:35
  • 1857

java6,7,8中String.intern进化史与深度剖析

这篇文章将要讨论 Java 6 中是如何实现 String.intern 方法的,以及这个方法在 Java 7 以及 Java 8 中做了哪些调整。 字符串池 字符串池(有名字符串标准化)是通过使用唯...
  • chenleixing
  • chenleixing
  • 2015年05月14日 08:48
  • 1930

Java String的intern方法 在JDK6和JDK7的不同行为

String str1 = new StringBuilder("a").append("b").toString(); //1 System.out.println(str1.intern() =...
  • bigtree_3721
  • bigtree_3721
  • 2017年07月10日 00:52
  • 419

JDK7与JDK6中String.Intern方法的区别

http://tech.meituan.com/in_depth_understanding_string_intern.html
  • yyd19921214
  • yyd19921214
  • 2017年05月30日 15:44
  • 370

Java (JDK7)中的String常量和String.intern的实现

Java中的String常量和String.intern的实现
  • raintungli
  • raintungli
  • 2014年08月16日 10:15
  • 6921
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:String and intern
举报原因:
原因补充:

(最多只允许输入30个字)