会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
张伯雨
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
上一页
1
···
24
25
26
27
28
29
30
31
32
···
37
下一页
2017年8月30日
CopyOnWriteArrayList简介
摘要: CopyOnWriteArrayList,写数组的拷贝,支持高效率并发且是线程安全的,读操作无锁的ArrayList。所有可变操作都是通过对底层数组进行一次新的复制来实现。CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。它不存在扩容的概念,每次写操作都要复制一个副本,在副本的基础上修改后改变Array引用。CopyOnWriteArrayList中写操作需...
阅读全文
posted @ 2017-08-30 12:49 张伯雨
阅读(2211)
评论(0)
推荐(0)
编辑
ConcurrentHashMap简介
摘要: ConcurrentHashMap为了高并发而设计,相比于HashTable和HashMap有更多优势。HashTable是同步的,在多线程环境下,能保证程序执行的正确性,每次同步执行的时候都要锁住整个结构。HashMap不是同步的,在单线程情况下效率高。ConcurrentHashMap锁方式是稍微细粒度的,内部采用分离锁的设计。它默认将Hash表分为16个分段,get,put,remove等常...
阅读全文
posted @ 2017-08-30 12:47 张伯雨
阅读(365)
评论(0)
推荐(0)
编辑
ArrayBlockingQueue简介
摘要: ArrayBlockingQueue基于数组,先进先出,从尾部插入到队列,从头部开始返回。线程安全的有序阻塞队列,内部通过“互斥锁”保护竞争资源。指定时间的阻塞读写容量可限制定义ArrayBlockingQueue继承AbstractQueue,实现了BlockingQueue,Serializable接口,内部元素使用Object[]数组保存。初始化时候需要指定容量ArrayBlockingQu...
阅读全文
posted @ 2017-08-30 12:46 张伯雨
阅读(1375)
评论(0)
推荐(0)
编辑
CopyOnWriteArraySet简介
摘要: 基于CopyOnWriteArrayList实现,线程安全无需集合。add调用的是CopyOnWriteArraylist的addIfAbsent方法。CopyOnWriteArraySet每次add要进行遍历数组,性能略低于CopyOnWriteArrayList。适用于set大小一般很小,读操作远远多于写操作的场景。定义CopyOnWriteArraySet集成AbstractSet,实现Se...
阅读全文
posted @ 2017-08-30 12:46 张伯雨
阅读(1088)
评论(0)
推荐(0)
编辑
LinkedBlockingQueue简介
摘要: LinkedBlockingQueue是一个单向链表实现的阻塞队列,先进先出的顺序。支持多线程并发操作。相比于数组实现的ArrayBlockingQueue的有界,LinkedBlockingQueue可认为是无界队列。多用于任务队列。定义LinkedBlockingQueue继承AbstractQueue,实现了BlockingQueue,Serializable接口。内部使用单向链表存储数据。...
阅读全文
posted @ 2017-08-30 12:44 张伯雨
阅读(10050)
评论(0)
推荐(0)
编辑
ConcurrentLinkedQueue简介
摘要: ConcurrentLinkedQueue是一个基于链表的无界线程安全队列,非阻塞实现方式,先进先出,适合高并发的场景。非阻塞的性能较好,采用CAS,避免加锁的时间,保证数据一致性。采用“wait-free”算法实现。(此部分源码看的比较吃力,很多不懂的地方,还有很多不知道的地方,希望不要误导读者,有好的文章之类的,希望能推荐下,谢谢)定义ConcurrentLinkedQueue继承Abstra...
阅读全文
posted @ 2017-08-30 12:37 张伯雨
阅读(940)
评论(0)
推荐(0)
编辑
Java同步简介
摘要: Java同步Java中同步一直都是很重要的问题,对于初学者来说也是不太容易能理解的问题。特在此记录一下有关Java中同步和锁的知识。主要涉及到同步的概念以及Java中解决的办法和简单的例子。有关锁Lock中的内容不在此做说明。同步为什么需要同步这个问题不难回答。当牵扯到同步问题的时候,就离不开多线程了。简单举个例子,桌子上有一台2016新款MacBook pro,我和女朋友都想要去玩,我们俩同时伸...
阅读全文
posted @ 2017-08-30 12:36 张伯雨
阅读(289)
评论(0)
推荐(0)
编辑
Java多线程简介
摘要: Java多线程简介Java中内置了对多线程的支持,让多线程的开发方便很多,但同时也带来了另外的复杂,线程间的交互以及很多的不确定性让多线程又显得很复杂。在此只是针对Java中多线程的基础做些说明,有关线程和进程的区别,以及多线程的好处和更深层的暂不多说。线程的状态线程的状态定义在Thread类中一个State枚举类型:新建状态(NEW),通过new Thread新建的线程处于新建状态,通常会调用s...
阅读全文
posted @ 2017-08-30 12:36 张伯雨
阅读(170)
评论(0)
推荐(0)
编辑
java enum的用法详解
摘要: 实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。因此,在比较两个枚举类型的值时,永远不需要调用equals方法,而直接使用"=="就可以了。(equals()方法也是直接使用==, 两者是一样的效果)Java Enum类型的语法结构尽管和Java类的语法不一样,应该说差别比较大。但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际...
阅读全文
posted @ 2017-08-30 12:35 张伯雨
阅读(1647)
评论(0)
推荐(0)
编辑
Java - Instrumentation
摘要: 使用JRebel启动工程时加上VM参数时有一个参数是"-javaagent:D:\jrebel_5.6.0\jrebel.jar"。javaagent是什么? java -help后看到如下信息: Java代理不是应用程序中的一部分,instrument支持Java以代理的形式监控或重新定义运行中的服务。我们可以在不修改程序代码的前提下通过Instrumentation API改变运行中的java...
阅读全文
posted @ 2017-08-30 12:34 张伯雨
阅读(1500)
评论(0)
推荐(0)
编辑
上一页
1
···
24
25
26
27
28
29
30
31
32
···
37
下一页