摘要:
支付系统的记账业务,需要登记每笔记账流水的账后余额。在大规模并发条件下,简单使用乐观锁或者悲观锁都回严重的锁定数据库,导致性能变慢,下面介绍优化前和优化后的两种处理思路。 第一种方案,使用乐观锁实现过程:Step1:从账户中获取最近余额以及账户当前版本号,代码如下:Select version, b 阅读全文
摘要:
软件中,代码复用,就是站在巨人的肩膀上做一件事,事半功倍,没有什么需要从0开始做起。 从软件组成上分,软件的复用可以包含几个层面:1、工具这个代码一般是放在任何java项目中都可用,典型的是算法,如MD5、RSA等、解决特定技术问题的技术框架,如Spring、Hibernate,其他的如apache 阅读全文
摘要:
注入属性:private synchronized void injectReferenceServices() { if(this.injectReferenceServicesInitialized) return; PropertyDescriptor[] pds = PropertyUtil 阅读全文
摘要:
1、执行命令 C:\servers\apache-tomcat-8.0.27>keytool -genkey -alias tomcat -keyalg RSA -keypass pass123456 -storepass pass123456 -keystore server.keystore - 阅读全文
摘要:
涉及java的软件开发,首先想到技术框架,涉及后端的技术框架,首先想到了SSH或者SSI等。他们的组合,已经成为了事实上的标准,也确实能够很方便的解决很多问题,虽然可能并非最适合你的。 技术都是为解决具体业务而生的,凡技术框架也是为了解决程序猿的业务问题而生的。本文讨论下我们都需要怎样的技术框架。 阅读全文
摘要:
一个module中的web组件,负责将Service的结果按照适当的规范输出给前端。格式:http://server/moduleID/param0/param1/paramN/p.TYPE格式上包含三部分:moduleID:将请求分发到具体的模块,分发器参考下面具体介绍;paramX:参数部分TY 阅读全文
摘要:
一般的协调工作,让zookeeper来做那是最好的,问题是你得部署zookeeper。如果没有能否模拟一个协调者呢?这是本篇文章需要介绍的内容。 背景 有合同约定,如果总消费额达到一定的额度,需要启动折扣,达到另一个更高的额度后,会启动另一个折扣。用户的消费记录都是小额的,如1毛一笔,折扣需要详细到 阅读全文
摘要:
重放攻击,类似WEB表单的重复提交,接口的访问者使用同样的消息体不断访问接口提供者的过程,从而导致接口提供者压力变大甚至服务器故障、数据丢失等。 防止重放攻击的一般做法是请求方和提供方约定一个唯一的TID,请求方携带此ID,提供方校验ID。常见的几种做法: 1、请求方每次从提供方申请一个唯一的TID 阅读全文