博客
关于我
java中的字符串
阅读量:319 次
发布时间:2019-03-04

本文共 310 字,大约阅读时间需要 1 分钟。

String的底层实现

java9之前String底层数组采用 char[] 数组实现,每一个字符都将占用两个字节的空间

而在java9之后,String底层采用 byte[] 数组实现

String 实例化方式

  1. String str = "Hello World";
  2. String str = new String("hello,world"); (调用构造函数)

字符串常量池

从JDK1.8开始,常量池存在于堆(heap)中,之前都是在JVM中

采用上述第一种实例化方式,会在Java常量池中开辟一块内存空间用于存放右侧的字符串,在常量池中的开辟的字符串不可改变

不同初始化字符串方式的比较如下
在这里插入图片描述
在这里插入图片描述
来自楠哥视频里的图

转载地址:http://xaph.baihongyu.com/

你可能感兴趣的文章
你为什么从大公司离职,去一家创业公司?
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
JavaWeb学习总结(十三)——使用Session防止表单重复提交
查看>>
JavaScript学习总结(十一)——Object类详解
查看>>
Java中Map的用法详解
查看>>
Java注解全面总结
查看>>
base64编码字符串和图片的互转
查看>>
汉字转为拼音
查看>>
Target runtime Apache Tomcat v7.0 is not defined.错误解决方法
查看>>
Python+Opencv识别视频统计人数
查看>>
python 记录下Python开发环境的安装配置
查看>>
大佬龟叔写的一个无聊程序
查看>>
linux 下安装kolla报错 提示Cannot uninstall requests
查看>>
Linux MySQL的socket文件存在位置更改
查看>>
Linux RPM和yum命令的使用技巧
查看>>
Python 使jupyter notebook 从指定浏览器启动 以及编程中途更换浏览器
查看>>
写博客常用的字体颜色(待续)
查看>>
C++ throw、try、catch、noexcept
查看>>
vim之vim滚屏与跳转
查看>>
C指针之函数指针与typedef
查看>>