- 博客(20)
- 收藏
- 关注
原创 数据库扫描全表的坑
1.现象容器云服务器一直重启,影响线上交易很长时间。系统占用cpu很高,数据库负载很高2.原因上游系统是通过定时来调用查询接口,查询接口参数没有防空校验,导致在查询的时候进行了全表查询,数据量太大,数据库链接超时,使服务器监控探活影响,3.解决方案参数一定、一定要检验,尤其是查询的接口...
2018-12-18 16:20:02
484
原创 账户余额更新问题总结
一.账户余额在高并发更新的时候,扣减会出现负数问题?思路,在sql语句的条件中,设置更新金额减去账户余额一定大于0,对于余额的更新,不使用乐观锁,也没有用查询到的余额作为可以更新的条件,而是设置更新金额减去账户余额一定大于0 ,这是能够高并发更新的关键,因为只有账户的余额不被扣成负数即可。另外,防止高并发余额账户查询的余额已经被其他线程更新,使用行级锁,所以对于查询语句添加for upda...
2018-09-11 13:32:24
6013
原创 Spring配置双数据源的坑
一.双数据源:顾名思义,一个项目中使用两套数据源,例如一个是mysql数据库,一个是oracle数据库,又或者同样都是mysql,但是要使用两个库中的数据。二.最简单的方式是,从service,dao层到spring文件配置完全使用两套,放到不同的包路径下。最后在spring加载的时候,将另一套的配置导入到一套就行,以一个主文件加载就行。三.遇到的坑1.对于配置文件中sqlSessio...
2018-09-07 18:25:55
859
原创 系统错误码定义规则
一、定义错误异常类/** * @author yunpeng.zhao * @version $Id TestException.java, v 0.1 2018-08-01 下午1:51 yunpeng.zhao Exp $$ */public class TestException extends RuntimeException{ private static fina...
2018-08-01 14:11:39
7162
原创 spring@Async结合线程池实现异步回调
一、定义自己的线程池,如果直接使用spring的异步标签@Async也可以,不过是使用的spring自己默认的线程池,没执行一次都会新建一个线程,消耗性能。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns...
2018-07-31 17:23:11
2118
原创 工厂模式+模板方法模式,实现步骤相同地订单逻辑
一、定义工厂管理类/** * 订单业务管理类 * @author yunpeng.zhao * @version $Id PayMethodManager.java, v 0.1 2018-02-04 上午11:03 yp-tc-m-2651 Exp $$ */public class OrderBizFactory { private static final Logg...
2018-07-31 16:50:36
2166
1
原创 使用注解对手机号及卡号加验工具类
一、定义加验地注解类/** * @Description:加掩码注解 * @Author: yunpeng.zhao * @date 2017-08-19 18:51 */@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })@Retention(RUNTIME)@Documentedpublic...
2018-07-31 16:33:48
623
转载 java 性能优化
不论做什么时候,都要先制定目标,这和要想进行优化先要制定系统的性能指标一样,性能优化的一般步骤 对系统软件进行优化,首先需要有明确的性能目标,清楚地指出优化的对象和最终目的.其次,需要在目标平台上对软件进行测试,通过各种性能 监控和统计工具,观测和确认当前的系统是否已经达到相关目标,若已经达到,则没有必要再进行优化;若当前系统性能尚未达到优化目标.则需要查找当前的性能瓶颈. 可能成为性
2017-10-22 22:29:40
509
原创 java常用设计模式总结
设计原则:(重要)1.逻辑代码独立到单独的方法中,注重封装性--易读,易复用。不要在一个方法中,写下上百行的逻辑代码。把各小逻辑代码独立出来,写于其它方法中,易读其可重复调用。2.写类,写方法,写功能时,应考虑其移植性,复用性:防止一次性代码!是否可以拿到其它同类事物中应该?是否可以拿到其它系统中应该?3.熟练运用继承的思想:找出应用中相同之处,且不容易发生变化的东西,把它们抽...
2017-10-22 20:57:07
245
原创 注解结合AOP在方法前后打印日志
亮点:直接在方法上添加一行注解,就可以实现统计方法的执行时间,另外根据注解参数中属性来控制是否进行方法入参的校验知识点:java注解+AOP+java 反射机制特别注意点:如果要进行方法入参的校验,返回参数类定义中必须要有 A(Stirng a,String b)的构造方法,否则会报错,如果方法没有返回参数 请修改红色部分,为防止隐私我已经将所有类中包路径去除,使用时请自行修改。步骤
2017-08-16 10:09:26
1595
原创 BigDecimal的使用
1.两个数字比较大小 double类型和BigDecimal类型例如:这里一定要重新new 一个新的BigDecimal 否则比较不正确//校验金额是否正确BigDecimal amount1 = new BigDecimal(paymentEntity.getPayAmount());if (amount1.compareTo(new BigDecimal(payCallBack
2017-06-28 15:25:58
343
原创 eclipse中中文注释乱码解决方法
1、在项目上右键找属性--》Resource 中设置encoding为gbk,如果不行再执行第二步2、Windows-----general------Content Types 中 选择 Text-----javaSourceFile 把下面的default encoding 设置为GBK 并 update 就行了 另外如果CVS或者SVN资源文件中有中
2017-02-22 09:27:18
1220
原创 数据结构与算法学习
数据结构分为物理结构和逻辑结构,其中逻辑结构包括 集合结构、线性结构、树形结构、图形结构。物理结构是指数据元素在计算机存储器中的存储顺序,包括顺序存储和链式存储两种。算法与数据结构相辅相成,算法的5个特性有:输入、输出、有穷性、确定性、可行性。算法的根本目的是提高时间效率和减少存储值。
2017-02-09 22:01:50
220
原创 xml与javaBean的互相转化
1.学会使用xml的各个注解与含义,参考网址如下 http://blog.youkuaiyun.com/lhzjj/article/details/11796713举例:@XmlRootElement(name="RequestOrder")@XmlType(propOrder={"clientFlag","orderNo","subOrderNo","tradeNo","mailNo","type
2016-04-21 16:32:40
396
原创 浅谈spring框架中集成国际化+velocity
1.在spring配置文件中增加如下配置 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> classpath:/i18n/messages //资源文件的位置
2016-03-09 15:34:37
4175
原创 MyBatis 中 批量操作如查询
实例:根据订单号进行多了查询定义domain public class orders{ public String orderId; //订单号 **** ** public String[] orderIds; //用来存储多个订单号,批量操作时使用 public void setOrderId(String orderId) { //每次前台页面填写完毕自动添加到数组中
2016-03-07 16:42:18
1034
原创 微信与支付宝两个平台对接文档
1.与支付宝平台的对接:https://doc.open.alipay.com/doc2/detail?treeId=60&articleId=103564&docType=12.与微信平台的对接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=1_1
2016-03-03 14:55:23
1073
原创 增加eclipse的内存
解决GC overhead limit exceeded 的问题 产生问题的过程是:eclipse中新建maven项目经常遇到 骨架类型导不出 原因是:eclipse初始化内存不够的原因 具体的解决办法是 配置eclipse.ini 文件 中的属性 ,文件位置在eclipse的安装目录下面配置参数如下:-Xms512m-Xmx1024m-XX:MaxPermSize=
2015-08-05 22:32:46
490
原创 有用的网址
http://blog.youkuaiyun.com/p793049488/article/details/37818989 解决乱码问题http://www.baidu.com/link?url=mUgoBllCPQMNQHxP0HNYHYraki5H6kJQTjNowwDiK22c-XL9e_PN71UV9YfYzHLMmX8JXaPgHyyBNI21p3K_4H8mbuJyl-lGdaBm
2015-04-15 13:34:45
445
原创 svn项目管理工具的简单用法
初次使用优快云编写项目,1.下载svn,网址是http://subversion.apache.org/根据不同的操作系统来选择安装包。2.下载并安装好后,将bin文件夹的目录添加到系统属性Path中。一般svn是安装在Linux中的,它要不在Windows下快很多。3.在命令行中运行svnserver -help 查看操作命令帮助4.项目管理人员创建root文件夹,
2015-01-14 18:04:51
1342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人