- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 为什么Iterator的remove方法可保证从源集合中安全地删除对象,而在迭代期间不能直接删除集合内元素
在对集合进行操作时,我们会发现,如果我们用迭代器迭代,但是在迭代器过程中如果使用集合对象去删除,添加,清空集合存储的对象时,那么就程序就会报出异常,例如如下代码:public class IteratorTest { public static void main(String[] args) { ArrayListlist = new ArrayList(Arrays.asList
2017-12-27 23:28:21 4525
转载 死磕Java并发:深入分析synchronized的实现原理
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。 诚然,随着Javs
2017-12-18 15:29:38 193
原创 利用volatile解决异步死循环的问题
//先我们来看看一下下面的代码:public class Run { public static void main(String[] args) { try { ThreasA threasA = new ThreasA(); threasA.start(); Thread.sleep(1000); threasA.setRunning(false); S
2017-12-15 15:26:29 1000 1
转载 为什么要用枚举实现Singleton--java
为什么要用枚举实现Singleton--java转载需注明出处理由一:无需再考虑可序列化的情况 《effective java》第77条:对于实例控制,枚举类型优先于readResolve 说到readResolve,有的人可能会不甚清楚其作用,简单来说,readResolve的作用是这样的:readResolve特性允许你用readObject创建的实
2017-12-10 19:46:01 184
转载 理解Java对象序列化
尊重原创,附上原地址:http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html理解Java对象序列化关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thin
2017-12-10 16:06:08 167
转载 两个队列实现栈(stack)
//前提已知:struct Stack{ int top; //栈顶指针 int stacksize;//栈的大小 int *s; //栈底指针};void InitStack(Stack *s);void Push(Stack *s, int k);int Pop(*s);int IsStackEmpty(*s);int
2017-12-01 15:34:37 213
转载 java Collecttion的fail-fast的产生原因和处理方式 以及java中fail-fast 和 fail-safe的区别
原文链接:http://blog.csdn.net/chenssy/article/details/38151189在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentM
2017-12-01 15:21:49 515
自定义注解实现
2017-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人