• 特殊异常的性能优化处理

    闲话不多说,直入正题。 throw new ServiceException(ErrorType.BUSINESS_ERROR, “用户id匹配异常”); 像这样的异常处理,特点是: 1. 不需要递归StackTrace,即就是没有使用像这样的构造器public RuntimeException(String message, Throwable cause) { super(message, cause);} 2. 这个异常中的message是固定的,并且可以重用 那这是一种非常典型的Exception,我们可以进一...
    作者:孤风一剑/2017年9月14日/分类:Java开发/阅读:175次/标签:, , /评论关闭
  • 外部服务强依赖的单元测试

    背景: 项目中使用Spring,在测试中需要初始化Spring容器管理的资源。 开放平台开放接口,依赖其他业务系统的提供的接口,而JUnit的默认实现是单线程执行所有的测试用例。 JUnit为什么是单线程执行测试用例? 执行测试用例: /** * Do not use. Testing purposes only. */ public Result run(Runner runner) { Result result = new Resu...
    作者:孤风一剑/2017年9月14日/分类:Java开发/阅读:134次/标签:, , /评论关闭
  • java虚拟机学习总结

    前言 最近流行一句话,我们须要明白我们从哪里来,要到哪里去。我学习使用jvm也是一样,不但会使用,也需要深入jvm原理,才能更好利用它。 了解jvm运行的内存分配。与为什么jvm会抛出OutOfMemoryError。 需要熟悉GC回收算法,目前有的垃圾回收器。是我们优化jvm的的前提。 学习jvm让我们更加深入了解java程序的运行,也提高自己在解决问题能力。也明白在app生产运维我们如...
    作者:孤风一剑/2017年4月19日/分类:Java开发/阅读:512次/标签:, /评论关闭
  • java并发锁ReentrantReadWriteLock读写锁源码分析

    1、ReentrantReadWriterLock基础 所谓读写锁,是对访问资源共享锁和排斥锁,一般的重入性语义为 如果对资源加了写锁,其他线程无法再获得写锁与读锁,但是持有写锁的线程,可以对资源加读锁(锁降级);如果一个线程对资源加了读锁,其他线程可以继续加读锁。 java.util.concurrent.locks中关于多写锁的接口:ReadWriteLock [java] view plain copy public interfac...
    作者:孤风一剑/2016年11月22日/分类:Java开发/阅读:1,170次/标签:, , /评论关闭
  • Eclipse配置 MyBatis Generator

    1.插件安装      官网 http://www.mybatis.org/generator/index.html      插件地址: https://dl.bintray.com/mybatis/mybatis-generator 2新建generatorConfig.xml      插件安装完成后  右键---新建--other--mybatis 。     默认在项目目录下新建generatorConfig.xml 3配置generatorConfig.xml Xml代码   <?xml version="1.0" encoding="UTF-8"?>   <!DOCTY...
    作者:孤风一剑/2016年7月08日/分类:Java开发/阅读:1,066次/标签:, , /评论关闭
  • Spring Batch 之 JobParameters (十)

    继续前面关于Spring Batch系列的文章,本文主要介绍与JobParameters相关的一些知识。 一、JobParameters       顾名思义,所谓JobParameters,就是Job运行时的参数。它在bath中有两个作用:一是标示不同的jobInstance,二是作为job中用到的信息,以参数的形式传给job。       如何使用JobParameters呢?它主要是在启动的job的时候,与job联系起来的。看一下框架提供的启动jo...
    作者:孤风一剑/2016年5月31日/分类:Java开发/阅读:1,296次/标签:, , , /评论关闭
  • Spring Batch 之 skip讲解(九)

    前面的文章跟大家一起讨论了Spring Batch的概念,处理流程,以及SpringBatch处理文件、DB的一些简单实例。接下来的讨论,主要是关于Spring Batch的一些高级应用处理和实际开发中需要注意的一些问题。       今天主要和大家讨论SpringBatch关于skip容错机制的一些处理。       一、skip的介绍       在实际的项目开发中,我们常常要将几十万甚至上百万的数据从文件导入到DB中...
    作者:孤风一剑/2016年5月31日/分类:Java开发/阅读:925次/标签:, , , /评论关闭
  • Spring Batch 之 Sample(游标方式读写DB数据表)(八)

      前面关于Spring Batch的文章,讲述了SpringBatch对Flat、XML等文件的读写操作,本文将和大家一起讨论Spring Batch对DB的读写操作。Spring Batch对DB数据的读取操作提供两种形式,一种是以游标为基础,一条条的读取数据;另外一种是分页的方式读取DB。       通过前面文章的讲解,大家应该对SpringBatch的框架和基本配置有了一定的了解。为了不显得啰嗦,本文只提供读取DB...
    作者:孤风一剑/2016年5月31日/分类:Java开发/阅读:1,192次/标签:, , /评论关闭
  • Spring Batch 之 Sample(复合格式文件的读、多文件的写)(七)

    前面关于Spring Batch的文章,讲述了SpringBatch对CSV文件的读写操作、对XML文件的操作,以及对固定长格式文件的操作。这些事例,同一个Reader读取的都是相同格式的数据,最终写入一个文件。如果遇到下面这样的数据,并想将学生信息和商品信息分类后写入两个文件,应该如何处理呢? student,200001,ZhangSan,18,78goodsPNH001011000200.1zhangshana2011/12/18 01:12:36stude...
    作者:孤风一剑/2016年5月31日/分类:Java开发/阅读:1,253次/标签:, , /评论关闭
  • Spring Batch 之 Sample(固定长格式文件读写)(六)

    本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对固定长格式文件的读写操作。实例延续前面的例子,读取一个含有四个字段的TXT文件(ID,Name,Age,Score),对读取的字段做简单的处理,然后输出到另外一个TXT文件中。       工程结构如下图:       applicationContext.xml和log4j.xml前文已经叙述过,在此不做赘述。       本文核心配置文件batch.xml内容如下: ...
    作者:孤风一剑/2016年5月31日/分类:Java开发/阅读:948次/标签:, , /评论关闭