摘要: 不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。 下面的理解可能会易懂一些: {概念:不可变类的 阅读全文
posted @ 2018-09-19 21:29 爱呼吸的鱼 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 当访问共享的可变数据时,通常需要使用同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步。这种技术被称为线程封闭。 它其实就是把对象封装到一个线程里,只有一个线程能看到这个对象,那么这个对象就算不是线程安全的,也不会出现任何线程安全方面的问题。 二 线程封闭技术有一个常 阅读全文
posted @ 2018-09-19 20:22 爱呼吸的鱼 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 要正确的发布一个对象首先要解决3个问题: 1.发布的对象只需要被它需要被看见的线程或其它对象看见 2.避免逸出问题 3.避免其它线程拿到未初始化完全的对象 什么是发布 发布一个对象是指,使对象能够在当前作用域之外的代码中使用。比如,将创建的对象保存到容器中,也可能通过某个方法返回对象的引用,或者将引 阅读全文
posted @ 2018-09-19 11:47 爱呼吸的鱼 阅读(307) 评论(0) 推荐(0) 编辑