Java核心源码高频面试题及详细答案(实战向).docx

Java核心源码高频面试题及详细答案(实战向).docx

Java核心源码高频面试题及详细答案(实战向)

一、String源码相关面试题

1.说一下String的不可变性,底层原理是什么?

String的不可变性指的是字符串一旦创建完成,就不能修改它的内部字符内容,所有的增删改操作本质都是生成新字符串。

底层核心原理分两点:

第一,JDK1.9之前,String底层是finalchar[]数组;JDK1.9及之后改为finalbyte[]数组,同时做了编码压缩,纯英文数字用单字节存储,节省内存。数组被final修饰,意味着数组的引用地址不可修改,且源码没有提供任何修改数组元素的公开方法。

第二,String类本身被

文档评论(0)

1亿VIP精品文档

相关文档