尚硅谷面试题第三季

2023-11-06

java字符串常量池

package atguigu.demo1;

public class StringPool58Demo {
    public static void main(String[] args) {
        String str1 = new StringBuilder("58").append("tongcheng").toString();
        System.out.println(str1);

        /**
          1、str1.intern():(1)本地方法
                            (2)如果字符串常量池中已经包含了一个等于此String对象的字符串,则返回常量池中得到这个字符串对象的引用
                             如果没有则加入字符串常量池
                            (3)注意进入intern()源码看注释
         2、System[进入源码看注释可知] ----》initializeSystemClass()[方法里面有一个sun.misc.Version.init();] --->进入init()方法----->
            是一个Version类,里面有一个 private static final String launcher_name = "java";静态常量。

         3、sun.misc:这个包是在bootstrap根加载器加载字节码文件的时候,就把这个包下的类都加载进去,包含:Object类。String类等

         4、因此、下面的java字符串才会出现false,一个是你自己创建的,一个是jvm开始时就加载进去的
         **/

        System.out.println(str1.intern());
        System.out.println(str1==str1.intern());

        System.out.println();


        String str2 = new StringBuilder("ja").append("va").toString();
        System.out.println(str2);
        System.out.println(str2.intern());

        /**
           这个为false的原因:有一个初始化的java字符串(jdk从娘胎自带的)
            在加载sun。misc.version这个类的时候进入的常量池
         **/

        System.out.println(str2==str2.intern());
    }
}

结果:

58tongcheng
58tongcheng
true

java
java
fals

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尚硅谷面试题第三季 的相关文章

随机推荐

  • 机器视觉之霍夫变换提取直线

    机器视觉之霍夫变换提取直线 import cv2 as cv import numpy as np img cv imread home local EUROPRO guoliang wang OpenCV opencv samples d
  • 使用Visual Studio Profiler分析程序性能

    Profiler 是 Visual Studio 中集成的性能分析工具 它主要用于分析程序中所有函数调用所占的耗费时间 它提供了Sample和Instrumentation两种检测方式 能够生成简洁易读的报告 它只适用于Team Suit版
  • 怎样修改linux时区

    怎样修改linux时区 如果你的 Linux 系统时区配置不正确 必需要手动调整到正确的当地时区 NTP 对时间的同步处理只计算当地时间与 UTC 时间的偏移量 因此配置一个 NTP 对时间进行同步并不能解决时区不正确的问题 所以大家在用了
  • vue项目,ie11 浏览器报 Promise 未定义的错误

    报错 description Promise 未定义 message Promise 未定义 name ReferenceEr number 2146823279 stack ReferenceEr 解决办法 1 npm install b
  • AIDL实现跨APP通信(双向通信)

    某天 接到了一人任务要在两个app互相传递一些消息 上网查了以后发现有几种方式 第一是广播 第二是AIDL 由于初出茅庐全不会就选择了AIDL 下面简单粗暴的开始贴代码好了 也是得到了网上的一些借鉴 若有雷同 嗯你懂的 1 我们需要先建立A
  • SVN出现:原始内容“XXXX“不存在

    缘由 偶然一次在工作期间 策划的svn出现了 原始内容 XXXX 不存在 的提示 无论是用清理 还是还原都无效 由于是第一次遇到所以记录一下解决过程 分析 从提示上看大致可知是某个文件不存在了 估计是异常操作svn导致一些文件丢失 据网上资
  • Python中的for循环

    Python中的for循环 在Python编程语言中 for循环是一种常用的迭代结构 用于遍历可迭代对象 iterable 它允许我们按照指定的方式重复执行一系列操作 直到满足退出条件 在本文中 我们将详细介绍for循环的使用方式 并提供相
  • 快速排序的优化及其与qsort的比较

    快速排序是用的最多的一种排序方法 编程珠玑 在第十一章 排序 中讨论了快速排序的几个版本 其实版本的不同 都是体现在partition函数上 partition版本1 其实就是 算法导论 给出的版本 很好理解 int partition1
  • 在main函数实现两个数的输入并用函数实现两个数的值相换(两种方法实现)

    在main函数实现两个数的输入并用函数实现两个数的值相换 1 方法一 void f int x int y 定义 声明函数 int t 临时变量 t x x y y t 关于汉诺塔这个是最简单的算法 include
  • python lambda函数排序_python笔记-lambda函数、sorted函数、map函数

    1 lambda函数 又称匿名函数 示例如下 def f x return x 2 print f 4 16 g lambda x x 2 print g 4 16 2 map函数 print map lambda x x 2 range
  • 分布式任务调度(XXL-JOB)

    什么是分布式任务调度 任务调度顾名思义 就是对任务的调度 它是指系统为了完成特定业务 基于给定时间点 给定时间间隔或者给定执行次数自动执行任务 通常任务调度的程序是集成在应用中的 比如 优惠卷服务中包括了定时发放优惠卷的的调度程序 结算服务
  • 减小android button的大小

    当我们仅需要按钮的大小恰当包裹其中文本的大小 尽可能减小多余的空白空间 第一种方式 我们可以直接设置button属性 minHeight和minWidth android minHeight 0dp android minWidth 0dp
  • 工业通信网络结构

    工业通信网络结构 工业通信网络包含所谓的工业现场总线 局域网 公网等概念 这些概念在物理环境下并不是界线分明的 是一种主观上的分类 在物理环境下 目前工业网络结构都是设备与双绞线之间的通信 可以互相通信的设备与双绞线的集合称为网络 当网络中
  • 【深度学习常见问题——Attention基础知识梳理】

    这里写目录标题 1 注意力机制计算 2 d k sqrt d k dk
  • Unity 编辑器ScrollView滚动卡顿优化

    原因 在使用 Unity 开发游戏的时候 经常会需要用到数据配置 方式可能是CSV JSON等等 为了可以方便地查看修改数据 通常使用ScrollView实现在 Unity 编辑器里面以列表的形式查看数据 当数据量大的时候 滚动视图会发现卡
  • Linux下如何查看系统启动时间和运行时间

    1 uptime命令输出 16 11 40 up 59 days 4 21 2 users load average 0 00 0 01 0 002 查看 proc uptime文件计算系统启动时间cat proc uptime输出 511
  • 有了内存地址范围,如何确定内存空间容量大小?

    假如RAM的地址范围从0x2000 0000到0x2000 2000 也就是有2000个内存地址 1个内存地址是可以存8位二进制数 如何来算这空间的容量是多少字节呢 先用0x2000 2000 0x2000 0000 2000 得到的200
  • R语言的字符串

    几乎所有的程序都离不开字符串 例如姓名 性别 男或女 商品名称 类别等等 因此在程序开发过程中就避免不了对字符串进行操作处理 常用的如拼接字符串 计算字符串长度 截取字符串 字符串拆分等等 字符串规范 在R语言中 字符串通常使用单引号或双引
  • Halcon API

    1 延时等待 wait seconds 0 5 注 括号内以秒为单位 2 遍历文件夹 list files Directory Options Files Directory 目录 文件夹路径 Options 选项 files 指定搜索的格
  • 尚硅谷面试题第三季

    java字符串常量池 package atguigu demo1 public class StringPool58Demo public static void main String args String str1 new Strin