- 浏览: 360144 次
- 性别:
- 来自: 武汉
最新评论
-
missfmaster:
这框架好特么底层。
Terracotta设计原理分析--(部分内容来自官方描述) -
小黄牛:
很好不错!分享一个在电商购物支付流程中,在各大参与者系统中可能 ...
分布式事务设计-两段式提交 -
zhglhy:
学习了,感谢分享
JAVA垃圾回收分析 -
talentluke:
如果在事务一中出现故障,数据库是可以回滚但消息队列不能回滚,队 ...
用消息队列和消息应用状态表来消除分布式事务(转载) -
langmanxingkong123:
谁说jedis不能存集合类的数据。乱说。。。
redis jredis jedis 使用
文章列表
Cygwin使用hadoop
- 博客分类:
- 开源
便于hadoop伪分布式在本地进行调试,采用Cygwin来进行hadoop开发是一种比较好的方式,因此该文章将介绍hadoop在Cygwin中的使用方法。
安装Hadoop伪分布,hadoop使用了ssh协议,ssh采用标准的公钥加密来生成一对用户验证密钥---一个公钥、一个私钥,并且使用NFS在集群中共享它,公钥被本地存储在集群的每个节点上,私钥则由主节点在视图访问远程节点时发送过来,默认情况下的Cygwin没有安装ssh,所以重新运行http://www.cygwin.com/setup.exe,在Select Packages的时候,在search输入ssh,选择
CountDownLatch
- 博客分类:
- JDK记录
CountDownLatch 是一个通用同步工具,它有很多用途,将计数 1 初始化的 CountDownLatch 用作一个简单的开/关锁存器,或阀门:在通过调用 countDown() 的线程打开入口前,所有调用 await 的线程都一直在入口处等待。用 N 初始化的 CountDownLatch 可以使一个线程在 N 个线程完成某项操作之前一直等待。 CountDownLatch 的一个有用特性是,它不要求调用 countDown 方法的线程等到计数到达零时才继续,而在所有线程都能通过之前,它只是阻止任何线程继续通过一个 await。 我们通过两段代码比较来看出CountDownLatch的 ...
CPU利用率和Load Average
- 博客分类:
- linux
CPU时间片
为了提高程序执行效率,大家在很多应用中都采用了多线程模式,这样可以将原来的序列化执行变为并行执行,任务的分解以及并行执行能够极大地提高程序的运行效率。但这都是代码级别的表现,而硬件是如何支持的呢?那就要靠CPU的时间片模式来说明这一切。程序的任何指令的执行往往都会要竞争CPU这个最宝贵的资源,不论你的程序分成了多少个线程去执行不同的任务,他们都必须排队等待获取这个资源来计算和处理命令。先看看单CPU的情况。下面两图描述了时间片模式和非时间片模式下的线程执行的情况:
图
jsr168? portal? portlet? 这些概念大家翻翻资料随处可见,我在这里就不多说了。通过一些资料收集,发现现在国内开发人员用的比较多的portal有:liferay,jetspeed,pluto potal,websphere portal ,lightportal,openportal等.通过现有资料得出结论:1.liferay,jetspeed现在商业项目还没有人成功在此基础上进行过二次开发,因为liferay二次开发难度很大,运用技术太多,没有文档说明,源代码中的注释很少,不方便二次开发,而jetspeed2目前好像还不能集成其他开源框
架(ssh)这样的案例。2.web ...
ssh2中文件带进度条的上传的demo有很多,但是大多数都是集成了上传的插件来实现的,如:swfupload,dwr等,功能也是非常强大,但是本上传组件没有集成任何插件来进行带进度条上传实现的。请大家在下载后,运行程序前了解本程序实现 ...
ThredLocal
- 博客分类:
- JDK记录
ThreadLocal作用,总结起来一句话就是,让线程轻松的就可以获得独立实例,不用在线程创建的时候传入。 ThreadLocal在资源实例里使用(创建一个方法A,A创建一个实例并与ThreadLocal绑定),用来在run()方法中调用该方法A,spring中访问数据库的模板使用了ThreadLocal技术,数据库资源本来是非线程安全的,如果使用synchronized进行同步,大大降低了并发访问,ThreadLocal,实际上应该理解为Thread的局部变量,把非线程安全的变量与current的线程绑定。每个访问的线程拿到的都是属于自己的一份,多个线程之间并不是共享实例,而是利用Thread ...
为什么需要自动生成代码?
作为一个软件公司,开发团队非常重要,作为一个开发团队,人员配备、开发效率等都非常重要,但是开发效率包含很多,如:代码质量(扩展性、重构性等),但是这些都是建立在规范的代码之上来进行,在一个团队中,每个开发者都有自己的习惯方式来进行代码的编写,例如(ssh文件名举例):
dao接口: 写法一:IXXXDao, 写法二:IXXXDAO 等等
dao实现类: 写法一:XXXHibernateDAO,写法二:XXXHibernateDao,写法三:XXXDAO等等
service接口:写法一:IXXXService,写法二:IXXXManager等等
servic ...
synchronized的优化
- 博客分类:
- JDK记录
在较早版本的JDK中使用synchronized来实现线程安全,但同时使得并发的线程变成顺序执行,对系统并发吞吐能力有极大影响,在JDK1.5以后可以对其进行优化了。
我们先来看看原始的synchronized的使用方法:
悲观锁:
public Object get(Object key) {
synchronized(map) {
if(map.get(key) == null) {
// set some values
}
return map.get(key);
...
Acegi 各种加密方式详解
- 博客分类:
- 应用架构
Acegi 对于密码提供三种方式:明文及不采用任何加密方式、MD5加密方式、哈希算法加密方式。只需要在DAO的认证管理器中分别加入一下对应一下配置:第一种:不使用任何加密方式的配置
Java代码
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService" re ...