摘要:以下是thrift的客户端和服务端交互的一个原理图。可以看到遵循了rpc框架的传输层、协议层和应用层三层。本文提到的异常就是与这三层相对应的传输异常TTransportException(ConnectException、SocketTimeoutException)、协议异常TProtocolException和应用异常TApplicationException。
阅读全文
摘要:我们知道fastjson是基于流写入的。不难看出,在调用getCurrentUser时,因为currentUser是null,所以要给currentUser初始化,这时fastjson又要调用其getCurrentUser方法,然后又因为currentUser是null而不得不再给currentUser初始化,如此反复。。。,必然导致StackOverflow。
阅读全文
摘要:mybatis连接mysql数据库,发现同一个update执行多次,返回的int值都是1。 我记得同样的update再次执行时 受影响行数是0。 后来发现,我之前一直用的SQLyog是这样子的。 原来,不同的连接客户端执行update给出的受影响行数不同。如下是navicat for mysql,J
阅读全文
摘要:定义延迟队列时,要配置ttl,同时,在消息入队时,也不需要指定消息的过期时间了。
阅读全文
摘要:基本上每个企业应用系统都涉及到时间处理。我们知道,以前用java原生的Date+Calendar非常的不方便。后来Joda-Time诞生,Joda-Time是Java SE 8(Java8/Java1.8,我们口中说的Java8、JDK8、JDK1.8都是同一个东西)之前广泛使用的Java日期和时间
阅读全文
摘要:MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的。
阅读全文
摘要:团队绩效考评,假设总分100,看团队里每个人的绩效占比。假如让每个人给自己打分,那么结果往往会超过100分。而如果让每个人给他人评分,结果总是会低于100分。
阅读全文
摘要:安全和稳定是三方支付系统的两个关键要素,系统开发要时刻紧绷这两根弦。安全要从服务器、网络、程序、数据、资金这几个方面来考虑。
阅读全文
摘要:商户手续费(MercFeeModEnum)的收费方式有 手续费计算类里,会根据商户的收费方式配置来计算手续费。配置值是0,则手续费是0;配置值是1,则计算手续费;配置值是2也会计算手续费,只不过定期收取;配置值是3则不计算手续费(手续费是0),同样收取方式同配置值2。 实时清分逻辑里,在调用记账时,
阅读全文
摘要:Java是一种强类型语言。通俗说就是,在Java中存储的数据都是有类型的,而且必须在编译时就确定其类型。
编程规范里,也强调数据要有明确的数据类型。这样会让代码变得很清晰,而且会规避不必要的麻烦。
阅读全文
摘要:我们看,上面的分支判断if...else if...else里,条件都是基于apprSts与枚举ApprStsEnum比较来进行逻辑判断的。那么,对于这种情况,从代码整洁度的角度来讲,应把apprSts定义为枚举类型ApprStsEnum,这时的分支判断就显得清晰多了。
阅读全文
摘要:本文重点讨论的是方法的返回值。所以呢,对于上面的方法,我们撇开两个入参不说,其他代码不足也勿喷。
阅读全文
摘要:想到了一句话,办法总比困难多,上一句是啥来着?
阅读全文
摘要:继续讲枚举的使用。前文阐释了方法请求参数、方法返回值、POJO属性定义成枚举类型的好处。本文讲在方法里使用枚举的妙处。
阅读全文
摘要:如果把某域定义成了枚举,那么,正确使用枚举要注意如下几点:
除了对外交易的输入输出,程序内部涉及到该域的,一律用枚举类型。例如:方法参数、bo的属性。
接收到外来的数据后,在使用该域时,应先把该域转换成枚举类型。
要做到上面几点,容易,也不容易。
阅读全文
摘要:如果把某域定义成了枚举,那么,正确使用枚举要注意如下几点:
除了对外的交易,程序内部涉及到该域的,一律用枚举类型。例如:方法参数、dto的属性。
接收到外来的数据后,在使用该域时,应先把该域转换成枚举类型。
要做到上面几点,容易,也不容易。
阅读全文
摘要:词典:qrcode-二维码(quick response code)。二维码绝对是互联网的创新,也带动了科技的进步。不需要任何实体介质,只需要通过手机扫码即可完成人机交互。微信又带动了网络社交潮流,加上各家电商购物的不断崛起,移动支付应运而生。 对于扫码支付来说,支付服务商返回的就是一个付款码地址,
阅读全文
摘要:从应用层面和运维层面(协议层)同时做安全控制
阅读全文