才从Grava中明白了一件事:不可变特性与防御性编程

一、面试常谈:String类与不可变特性 问:String类是可变的吗? 答:emm……由于String类的底层是final关键字修饰,因此它是不可变的。 问:它被设计为不可变的好处有哪些呢? 答: 节约内存 大家都知道,编程的时候,String类是大量被使用的(试着用VisualVm等工具分析堆,你会发现永远char[]类型是占用空间最多的。巧了,String类的底层实现也正是char[])。
相关文章
相关标签/搜索