- 博客(7)
- 资源 (12)
- 收藏
- 关注
原创 (原创)确保JAVA线程安全的4种常用方法
在Java中可以有很多方法来保证线程安全,比如使用同步方法、同步块,使用原子类(atomic concurrent classes),实现并发锁,使用volatile关键字,使用不变类和线程安全类。这里是最基础的线程安全教程实际上在volatile的使用上很容易有误解,以为volatile就可以做原子操作,实际不然。Volatile 变量具有 synchronized 的可见性特...
2015-11-30 15:12:00 262
原创 (转)ReentrantLock可重入锁的使用场景
原文: http://my.oschina.net/noahxiao/blog/101558
2015-11-30 10:59:00 155
原创 (原创)JAVA阻塞队列LinkedBlockingQueue 以及非阻塞队列ConcurrentLinkedQueue 的区别
阻塞队列:线程安全按 FIFO(先进先出)排序元素。队列的头部 是在队列中时间最长的元素。队列的尾部 是在队列中时间最短的元素。新元素插入到队列的尾部,并且队列检索操作会获得位于队列头部的元素。链接队列的吞吐量通常要高于基于数组的队列,但是在大多数并发应用程序中,其可预知的性能要低。注意:1、必须要使用take()方法在获取的时候达成阻塞结果2、使用poll()方法将产生非阻...
2015-11-26 16:10:00 447
原创 读/写锁的实现和应用(高并发状态下的map实现)
程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以应该允许多个线程能在同时读取共享资源。但是如果有一个线程想去写这些共享资源,就不应该再有其它线程对该资源进行读或写(译者注:也就是说:读-读能共存,读-写不能共存,写-写不能共存)。这就需要一个读/写锁来解决这个问题。 按照上面...
2015-11-26 10:36:00 244
原创 Jira API传字符串的换行问题 (文本编辑器使用)
因为jira的文本编辑器自动进行了2次转义,如果从API过来的文本换行需要手动处理。吐血。 net里: desc = desc.Replace("\n", "\\n").Replace("\r", "\\r").Replace("\"","\\\""); java里:
2015-11-18 15:42:00 477
原创 使用泛型SwingWorker与EDT事件分发线程保持通讯
为什么要使用SwingWorker在swing开发中,如果一个应用程序,执行一些任务,需要大量的时间来完成,比如下载一个大文件或执行一个复杂的数据库查询。我们假设这些任务是由用户使用一个按钮触发的。在单线程应用程序,用户单击按钮,进入计算的过程,然后等待任务完成之前,所有的事件都在主线程EDT线程进行。但如果某些任务耗时很长,用户将甚至不能在中途取消任务,应用程序必须响应只有...
2015-11-16 14:43:00 165
原创 编写线程安全的Java缓存读写机制 (原创)
一种习以为常的缓存写法:IF value in cached THEN return value from cacheELSE compute value save value in cache return valueEND IF 看上去逻辑无比正确,但实际上会造成2种问题:1、这种方法是不线程安全的。2、产生数值写入重复,造成错...
2015-11-16 10:27:00 227
Liferay7门户集成Activiti BPM用户组同步
2016-12-19
Liferay7门户集成Activiti BPM展示流程列表功能
2016-12-15
Liferay开发持久化层和服务层演示Demo代码
2016-02-03
Java Web Project开发WebSocket服务端/客户端
2016-01-15
C#使用七牛云存储上传下载文件
2016-01-14
ASP.NET MVC 在线录音录像(音视频录制并上传)
2016-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人