Java
Vincent·文森
调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步.
展开
-
Lucene学习笔记
1.先下载Lucene原创 2014-07-20 21:59:48 · 611 阅读 · 0 评论 -
多并发时支付如何保持账户余额的一致性?
不管是电商,还是O2O业务都会涉及到支付,而且多速情况下流量比较大,尤其是在做活动的时候。一般支付系统主要有充值,扣费,提现,转账等功能,那么在有些业务场景下,尤其是多并发的情况下,我们在做扣费业务操作时该怎样去保持账户余额的一致呢?Java开发人员可能第一个想法就是在调用扣减的DAO的方法上加上一个synchronized关键字,这个解决办法在单节点应用部署是也许能生效管用,但是在我们实际的应原创 2016-03-14 23:46:38 · 16447 阅读 · 0 评论 -
Redis分布式锁Java实现
Redis分布式锁Java实现redis分布式锁可以解决多个应用进程间同步操作的一致性。网上有很多资料并不能完全解决,PHP版的可以参考 http://www.cnblogs.com/it-cen/p/4984272.html1.时间同步问题2.在一个进程crash后失效时间后自动释放锁3.有些多线程race condition没有考虑到Java版本的代码参考如下package com.w原创 2016-03-14 17:49:07 · 2562 阅读 · 2 评论 -
错误: 需要class, interface或enum
奇葩错误一个,如下,求有经验的大虾给个指示~~[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ credit-monitor ---[INFO] Deleting /Users/lichaoqiang/wdzj/workspaces_wdzj/credit-monitor/target[INFO] [INFO] --原创 2016-03-16 18:05:43 · 5995 阅读 · 0 评论 -
HashMap的遍历最优方式
HashMap的遍历最优方式建议使用entrySet()的方式,因为在数据量比较大的时候,它的效率更高。原创 2015-07-27 14:37:14 · 1461 阅读 · 0 评论 -
设计模式学习之适配器模式
之前学习过模板模式,最近又开始迷上了适配器模式,这个模式也很简单,我们笔记本上的那个拖在外面的黑盒子就是个适配器,一般我们在中国能用,在日本也能用,虽然两个国家的的电源电压不同(中国 220V,日本110V),但是这个适配器能够把这些不同的电压转换成我们需要的 36V 电压,保证我们的笔记本能够正常运行,那我们的23种设计模式中引入这个适配器模式和这个电源适配器有异曲同工之妙。我们下面看一个例子:原创 2015-03-03 19:26:25 · 482 阅读 · 0 评论 -
模板模式的代码实现demo
设计模式是前辈们留下的思想财富,我们后辈需要去好好继承,好好学习。设计模式能使我们的代码更加精炼,更加简洁,本文实现了一个简单模板模式的代码,希望能和大家一起学习。原创 2015-02-03 00:46:22 · 653 阅读 · 0 评论 -
String,StringBuffer,StringBuilder拼接操作的效率对比
有很多时候,会有大量的字符串的拼接操作,但是我们很多coder,尤其是原创 2014-11-06 12:25:01 · 820 阅读 · 0 评论 -
定时调度Quartz框架学习小demo
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.2.1。不过我在网上下载的是1.8.6原创 2014-08-13 23:58:49 · 721 阅读 · 0 评论 -
dubbo异步调用传递性问题的解决方案
最近在重构代码时发现,原本的一个查询返回List的方法,改成dubbo接口后,调用这个方法一直返回null。后听同事说起,原来dubbo异步调用具有传递性,不过只会传递一次。就是ServiceA异步调ServiceB,ServiceB再同步调ServiceC,此时ServiceC会当异步调用。但是,如果后续还有同步调用,则因B调C为同步,则就会正常同步调用了。解决这个问题的话,转载 2016-07-27 15:50:33 · 6452 阅读 · 1 评论