最新文章列表

【转】为什么 String 类要设计成不可变的?

本文转自 http://www.importnew.com/7440.html String 是所有语言中最常用的一个类。我们知道在 Java 中, String 是不可变的、 final 的。Java 在运行时也保存了一个字符串池( String Pool ),这使得 String 成为了一个特别的类。 String 类不可变性的好处 1. 只有当字符串是不可变的,字符串池才有可能实现。字符 ...
dsxwjhf 评论(0) 有1102人浏览 2015-04-20 00:07

Java不可变类或对象详解(Immutable class)

如果某个对象在被创建后其状态就不能被修改,那么这个对象就称为不可变对象。线程安全性是不可变对象的固有属性之一,它们的不变性条件是由构造函数创建的,只要它们的状态不改变,那么这些不变性条件就能得以维持。不可变对象一定是线程安全的。 当满足以下条件时,对象才是不可变的: 1) 对象创建以后其状态就不能修改。 2) 对象的所有域都是final类型(当然像不可变String类型的域并不需要声明为final ...
darrenzhu 评论(0) 有4309人浏览 2014-05-11 18:51

Immutable(多线程学习系列 - 2 - Immutable Pattern的补充)

在多线程学习系列 - 2 - Immutable Pattern 中,作者告诉我们不可变类的好处以及如何设计不可变类 下面的内容是Effective Java(v2)中的第15条--使4可变性最小化 作者给出了设计不可变类的一些建议,多线程学习系列 - 2 - Immutable Pattern 中一些建议过于强硬,比如类要是final,域要是final等等   1.不要提供任何会修改对 ...
su1216 评论(0) 有1528人浏览 2012-05-26 13:18

String学习(1)_ThinkingInJava

                String学习_ThinkingInJava   String对象是不可变的,String类中貌似修改String的方法其实都是创建了一个全新的String对象。因为String具有不可变的特性,因此开销要大一些。因此,简单的拼接字符串可以用(+)运算符,但构造复杂的字符串时(典型的情况是在循环中result += someStringArray[i]),一定要使 ...
DavyLee 评论(0) 有861人浏览 2011-11-20 11:53

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics