编写线程安全的代码实质就是管理对状态的访问,而且通常是共享的。可变的状态,对象的状态就是数据,存储在状态变量中,比如实例域,或者静态域,同时还包含了其它附属的域,例如hashmap的状态一部分存储到对象本...
分类:
编程语言 时间:
2014-07-22 09:10:35
阅读次数:
172
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。 来看Ato...
分类:
编程语言 时间:
2014-07-22 08:10:35
阅读次数:
196
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同...
分类:
其他好文 时间:
2014-07-22 00:20:33
阅读次数:
186
Mongo批处理工具类:package com.saike.solr.server.util;import java.net.UnknownHostException;import java.util.ArrayList;import com.mongodb.BasicDBObject;import...
分类:
数据库 时间:
2014-07-22 00:19:33
阅读次数:
362
Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。 从2000年10月20日发布的第一个Windows版的PHP3....
分类:
编程语言 时间:
2014-07-21 23:39:34
阅读次数:
353
有人说单件模式是最简单的模式,因为它只有一个类,但其实它还有一些值得注意的地方,就如:出现并发性时,单件可能已经不是单件了。
先说一下,我们为什么要用到单件模式,当我们用到这些对象如:线程池,缓存,注册表和日志对象等,事实上,这些对象我们只能有一个实例,不然会导致很多问题出现,所以我们要将它弄成单件的。
可能你会说利用程序员之间的约定或是利用全局变量就可以做到啊,如:java的...
分类:
其他好文 时间:
2014-07-19 23:33:39
阅读次数:
244
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线
程自身中使用,而后者在非UI线程中使用。
Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单
线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中...
分类:
移动开发 时间:
2014-07-19 02:24:06
阅读次数:
188
在平时开发中,我们经常采用HashMap来作为本地缓存的一种实现方式,将一些如系统变量等数据量比较少的参数保存在HashMap中,并将其作 为单例类的一个属性。在系统运行中,使用到这些缓存数据,都可以直接从该单例中获取该属性集合。但是,最近发现,HashMap并不是线程安全的,如果你 的单例类没有做...
分类:
编程语言 时间:
2014-07-18 19:08:17
阅读次数:
472
线程安全的集合包含2个问题 1.多线程并发修改一个集合怎么办? 2.如果迭代的过程中集合被修改了怎么办? a.一个线程在迭代,另一个线程在修改 b.在同一个线程内用同一个迭代器对象进行迭代、修改、迭代、修改... 共有有3种解决方案 1.用老的Vector/Hashtable类,上面2个问题都不用....
分类:
编程语言 时间:
2014-07-18 17:15:58
阅读次数:
203
1.抽象函数和抽象类
(1)抽象函数:就是只有声明没有实现的函数,称之为抽象函数,在java中抽象函数前面加abstract 。
在定义函数类型时,需要被覆盖的函数,一般称为抽象函数。
(2)抽象类:有抽象函数的类,称之为抽象类。(可以有不是抽象类的函数)
2.在继承关系中,注意:
(1)java中只能进行单继承。
(2)继承关系的相关类,必须是“is...
分类:
其他好文 时间:
2014-07-17 19:11:37
阅读次数:
191