String st="abc";

String st2="abc";

System.out.pringln(st==st2);  //输出true

String sd=new String("abc");

String sd2=new String("abc");

System.out.println(sd==sd2);   //这里输出false

String sd3=sd2.intern();

System.out.println(sd3==sd2); //这里输出的是true

上面的是JAVA面试的常出的题,

没有new的时候,abc放到常量池里,常量池里面一个值得常量只能有一个,就是说常量池每个个体都是不同值的,所以st和st2指向的是相同的常量池的个体,所以第一个是true;第二个用new虽然是相同的值,但是他们是用new的,所以都会在推内存分别建立两个个体,但值一样。

如果new的时候常量池没有这个值,那么常量池也会放一个,等于new后在堆和常量池都建立了相同值的个体。

择善JAVA的学习关于String与内存相关推荐

  1. 择善JAVA学习,抽象、接口

    抽象和接口的概念我早就学过了,今天听择善Bear老师的课又有新的收获. 有了抽象和接口,大大丰富了JAVA的继承体系,类与类的继承只能是单继承,子类只能有一个父类,而类实现接口却没这个限制,一个类可以 ...

  2. 深入理解Java虚拟机学习笔记-1.JVM内存模型

    JVM内存模型 1.内存模型结构图 名称 特征 作用 配置参数 异常 程序计数器 占用内存小,线程私有, 生命周期与线程相同 大致为字节码行号指示器 无 无 虚拟机栈 线程私有,生命周期与线程相同,使 ...

  3. 跟择善老师系统学习JAVA(一)

    6月5.6日上第一.二节课,讲的是java环境配置等入门知识,类与对象的基础知识,但别小看啊有些我还真的不知道. Java环境配置以前我都配的很麻烦,要做JAVA_HOME等,其实java1.7后只要 ...

  4. Java进阶学习资料!dockerjar内存

    准备好套路 **①自我介绍:**千万不能筐瓢,一定要牢记,自然流畅地介绍自己的学习经历.工作经历.项目经历.个人优势等等: **②抽象概念:**当面试官问你是如何理解多线程的时候,你要知道从定义.来源 ...

  5. Java深度学习系列——深入学习String

    前言: 我是张哲,一位在互联网上不愿透露姓名的小学员,接下来大家看到的所有内容都是我背写的知识点,这里的知识点和你所学习到的不同,我中和了我的一些书籍和网上刷的面试笔记,相信这里能让你接触到更深入的知 ...

  6. JAVA SE学习day_01:API、文档注释规范、String字符串的常用API

    一.JDK API 什么是 JDK API JDk中包含了大量的API类库,所谓API(Aplication Programming Interface,应用程序编程接口)就是一些已经写好的.可供直接 ...

  7. Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较

    字符串,就是一系列字符的集合. Java里面提供了String,StringBuffer和StringBuilder三个类来封装字符串,其中StringBuilder类是到jdk 1.5才新增的.字符 ...

  8. 【java学习】String字符串

    1,概念 1)String 不可变 不可变类:final,不可被继承. public final class String implements java.io.Serializable, Compa ...

  9. Java 源码学习(String)

    一.String 简介 public final class String implements java.io.Serializable, Comparable<String>, Cha ...

最新文章

  1. python调用linux软键盘_在Linux中使用Python模拟键盘按键
  2. 《数据结构与算法》实验报告——无向图邻接表的构造
  3. 行人跟踪python_使用Python为初学者构建AI汽车和行人跟踪
  4. shell编程 之 test命令
  5. jQuery.html()方法ie下不能设置html代码的问题
  6. Linux的文件压缩与解压缩
  7. 高级版本 【多后台】
  8. ecshop活动页_ecshop 促销活动,如每人只限购1件
  9. CentOS Linux 系统镜像文件(M1 Mac虚拟机专用)
  10. python 3模块导入(import)问题一则
  11. 关于计算机科学与技术二级学科的一点介绍
  12. stack的使用方法
  13. cordova不是内部或外部命令的解决方案
  14. java 俄罗斯 id_Java ZoneId systemDefault()用法及代码示例
  15. JS生成随机字符,生成一堆高逼格的乱码。。。
  16. Kindle的使用体验
  17. VSPD+XCOM+Proteus仿真stm32串口通信
  18. 得到 K 个黑块的最少涂色次数
  19. OpenCL入门实践
  20. Flutter 获取ios系统默认语言,只能获取到英文

热门文章

  1. 基于百度地图做热力图
  2. 最佳状态 (最佳状态)
  3. java与modbusTcp通讯
  4. 从零辅助篇1:java中常量的赋值问题
  5. linux 下tomcat卸载和安装
  6. React cannot set property props of undefined
  7. 软件测试---概念篇
  8. php grpc,PHP配置grpc
  9. UE4 C++编程入门:创建旋转立方体
  10. HDMI 发送芯片——MS7210