自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

昕友软件博客

技术文章原创、开源软件、产品、代码段...

  • 博客(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

Activiti流程演示Demo

Activiti流程演示Demo,独立web App,需要开启Acitivi服务。

2017-03-12

Liferay集成Activiti开发工程

Liferay集成Activiti开发工程,需要Liferay IDE支持。

2017-03-12

Liferay平台开发使用详细PPT演示文稿

介绍Liferay企业门户,PPT章节: 概述 功能和使用 开发扩展 安全、认证 高可用 Demo

2017-03-12

Liferay7门户集成Activiti BPM用户组同步

在实际的BPM集成开发过程中,Liferay和Activiti这两个异构的系统之间,用户、组的同步需求非常重要,用来实现签收组的概念,比如指定签收组、会签、抢签都需要用到。 Activiti可以通过自定义实现SessionFactory,实现customUserManager和customRoleManager的方式集成第三方的用户关系。 这里我介绍一个方法,可以借助Liferay的实体监听器来做用户、组、用户-组成员关系的三种同步。其实实现原理非常简单,用户组的同步,就是实现 BaseModelListener 泛型接口 详情见:http://www.cnblogs.com/starcrm/p/6200674.html

2016-12-19

Liferay7门户集成Activiti BPM上传文件部署流程模板

通过ActionURL部署流程文件,实现Activiti的模板后台管理和Liferay的集成。

2016-12-16

Liferay7门户集成Activiti BPM展示流程列表功能

Activiti BPM集成Liferay7的Portlet组件模块,用于展示流程列表,流程XML模板,流程图等。 详细说明: http://www.cnblogs.com/starcrm/p/6177844.html

2016-12-15

Activiti5.21依赖库

用于http://www.cnblogs.com/starcrm/p/5946419.html

2016-10-10

Liferay开发持久化层和服务层演示Demo代码

Liferay开发实战(2):Service Builder生成持久化层,一个简单留言板的例子。 http://www.cnblogs.com/starcrm/p/5175674.html

2016-02-03

Java Web Project开发WebSocket服务端/客户端

为方便开发,用了Jetty服务器,在网上很多例子都是基于jetty7.0的。但jetty9.0以后WebSocket的基类代码变化很多,于是自己动手开发。

2016-01-15

C#使用七牛云存储上传下载文件

项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现。 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了。

2016-01-14

ASP.NET MVC 在线录音录像(音视频录制并上传)

最近有个在线招聘录音的开发需求,需要在招聘网站上让招聘者上传录音和视频。该工程利用WebRTC技术,可以在除了IE以外的浏览器正常运行,推荐Chrome浏览器。

2016-01-07

ASP.net MVC vcard名片二维码自动生成

简单好用的二维码工具,找了很多都没办法生成名片二维码(只能生成网址),于是自己写了一个。

2016-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除