Sting str = "aaaa" 的形式定义一个字符串最大长度只能有 65534 个。
- String对象最多能容纳字符 最长的长度为 2^32,也就是4G。
- 不过,我们在编写源代码的时候,如果使用 Sting str = "aaaa";的形式定义一个字符串,那么双引号里面的ASCII字符最多只能有 65534 个。
为什么呢?因为在class文件的规范中, CONSTANT_Utf8_info表中使用一个16位的无符号整数来记录字符串的长度的,最多能表示 65536个字节,而java class 文件是使用一种变体UTF-8格式来存放字符的,null值使用两个字节来表示,因此只剩下 :
65536 - 2 = 65534
个字节。
- 跟 class文件的规范有关
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
java源码-AtomicBoolean
开篇 AtomicBoolean位于java.util.concurrent.atomic包下,是java提供给的可以保证数据的原子性操作的一个类。 Atomicxxxx系列主要核心在于Unsafe这个类的运用保证线程安全,而Unsafe这个类应该是通过JNI调用的底层实现。 关于java集合的源码阅读暂时告一段落,开始开启JUC包下相关的源码分析,欢迎关注。 AtomicBoolean类构造器 AtomicBoolean的构造器分为有参和无参两种: 参数为boolean initialValue的构造函数内部会将boolean转为int类型初始化value 无参数的构造函数默认初始化value为0 AtomicBoolean的关键逻辑在于static代码快中通过unsafe接口初始化value的内存地址,后续直接通过内存地址进行操作。 public class AtomicBoolean implements java.io.Serializable { private static final long serialVersionUID = 465467146979455...
- 下一篇
SQL--(MyBatis 原理和配置文件的基本使用)
mybatis简介 转载至《mybatis思维导图,让mybatis不再难懂(一)》(推荐手机阅读) MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 直接上思维导图 1.mybatis简介 2.与hibernate对比 3.几个关键类 4.mybatis执行浅析 5.MyBatis框架整体设计 6.mybatis初始化与执行sql过程 7.mybatis源码的几个主要部件 8.XML 映射配置文件(一) 9.XML 映射配置文件(二) 10.XML 映射配置文件(三)
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,CentOS7官方镜像安装Oracle11G
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启