JAVA
武道子
简答发呆
展开
-
volatile
加锁可以保证可见性与原子性,volatile只能保证可见性 使用volatile的变量原则 1.写入变量时并不依赖当前变量的值,或者能够保证只有单一线程改变其值 2.变量不需要与其他变量共同参与不变约束 3.访问变量时没有其他原因需要加锁...原创 2013-04-21 16:31:44 · 91 阅读 · 0 评论 -
JAVA多线程如何安全的发布一个对象
如果对象不是不可变的,在多线程中就必须安全的发布,不然造成对象混乱的状态, 为了安全的发布对象,对象的引用以及对象的状态必须同时对其他线程可见。一个正确的创建的对象可以通过下列条件安全的发布 1.通过静态初始化器初始化对象的引用 2.将它的引用存储到volatile域或AtomicReferecce 3.将它的引用存储到正确创建的对象的final域中 ...原创 2013-04-21 17:44:56 · 130 阅读 · 0 评论 -
安全共享程序
在并发程序中,使用和共享对象的一些策略 线程限制:一个线程限制的对象,通过限制在线程中,而被线程独占,且只能被占有的它的线程修改。 共享只读(shared read-only)一个共享只读对象,在没有额外同步的情况下,可以被多个对象并发访问。 共享线程安全(shared thread-safe)一个线程安全的对象在内部进行同步,其他线程无需额外同步,就可通过公共...原创 2013-04-22 10:05:11 · 139 阅读 · 0 评论 -
Unclosed group near index
问题描述 - There is some exceptions in 'XmlUtil.getRegex' : 替换所有的注释字符 - java.util.regex.PatternSyntaxException: Unclosed group near index 77 String ss = "dddd(java)hello"; //下面就会报错 System....原创 2013-01-22 14:01:00 · 1306 阅读 · 0 评论