自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

利用docx4j来处理word的合并与拆分

    docx4j是一款在java世界处理微软word/ppt/excel文档的强大工具。它其实是一个半开源的产品。虽然它对WORD各种处理在API层 面进行了封装,但是像WORD本身的拆分,合并。其作者(Jason Harrop)是单独提出来了,封装成了商用的JAR包来提供支持。而我在深入学习其API之后,先后将组合,拆分技术进行了实现。    docx4j用到了个比较N的技术--JAX...

2016-03-14 16:07:53 1963 1

spring mvc中的ModelAttribute与SessionAttributes

      spring mvc中,变量有一个作用域的概念,你可以很方便使用注解,就能实现变量的的设置,在各自的作用域内优雅的使用该变量。ModelAttribute假如有这样一段代码:myRequestObject这个引用,经过spring的处理,会自动把addStuffToRequestScope这个方法的返回值MyCommandBean作为值保存下来。实际上spring...

2016-03-10 20:02:00 233

jenkins的使用总结

 jenkins,作为开源世界的持续集成工具(CI),表现其实不错了。虽然不能与Atlassian的bamboo相比,别人是商业版本。我使用的是它的WAR包版本,可以从jenkins 官网下载。个人建议在tomcat7.0.32版本以上运行。系统管理主要是jenkins的管理后台配置,里面有很多功能。如系统设置,全局安全设置,权限管理,插件管理。其实最开始,是要安装相关的插件,如S...

2016-03-08 18:20:00 183

任务框架quartz的misfire的理解

     quartz,java世界里面的任务管理容器。至于为什么会有misfire这个概念,我想可以重这三个方面来进行说明:1 所有的线程都在忙于更高优先级的任务2 任务本身CRASH了3 代码的BUG,导置错误的设置了JOB基于这3种原因,其实也是现实世界中的常理。没有任何事情,都能保证100%运行OK。quartz提出了misfire的理论,让任务在错过之后,还能正常...

2016-03-03 15:58:00 670

一致性hash算法(consistent hashing and HRW )

       为什么需要一致性hash算法?在缓存应用层面,如何保证数据访问的平横性,单调性?平横性:主要是数据的平均分布,及当集群中某一个缓存服务失效,数据也能够正常分布单调性:当数据插入某个缓存之后,再次调用,同样会落到对应的缓存上面。两个算法比较:consistent hashing:通常做法就是通过一个环状来对缓存的key进行均横分布,如果不能命中,查找相邻节点。另...

2016-03-02 18:36:00 805

spring mvc中的Sugar ,你要来点吗?

    spring mvc作为展示层的组件,从参数预处理,验证,拦截,渲染。无不考虑的细致入微,你所要的做的,只是接口实现,切面接入,简单配置。今天我们以分页功能展开来说明,如何把我们复杂的参数处理从控制器进行剥离!第一步我们展示一个重量级的接口:HandlerMethodArgumentResolver第一段红色,表示在某个参数进行了注解之后,是否启用自定义的参数处理,...

2016-02-24 10:49:00 119

Zookeeper相关学习笔记(不断更新中)

       最近一直在看倪超的那本《从paxos到Zookeeper分布式一致性原理与实践》,整本书干货满满。个人感觉在章节顺序编排上有些小问题,不过,不影响它作为介绍这款中间件产品特性及原理而全面阐述的开山之作。总之,内容很多,我也只是了解了皮毛。接下来写的种种,算是我喝了这碗鸡汤,消化来剩下的。      分布式系统定义:                            ...

2016-02-01 17:57:00 92

mybatis自动生成类,ORM配置实践

         mybatis目前一直作为我主要使用的ORM框架,当然,它的简单,SQL可控,高效才是我选择它的最终原因。前段时间学习了他的实体,ORM的XML文件自动生成,感觉也是比较简单。下面稍微介绍一下具体的配置方面的 在它的官网上,有几种方式来生成类及配置。1 从命令提示符 使用 XML 配置文件2 作为Ant 任务使用 XML 配置文件3 作为Maven Plu...

2016-01-30 13:45:00 189

VisualVM 安装到eclipse

安装准备:eclipse引导vm程序:visualvm_launcher_u1_eclipse_36.zip地址:http://java.net/projects/visualvm/downloads/download/release133/visualvm_launcher_u1_eclipse_36.zipVM程序: visualvm_138.zip 地址:https://java.net/p...

2016-01-20 10:48:00 554 1

Thymeleaf 核心思想

Thymeleaf 是一个纯JAVA实现的,能处理XML/XHTML/HTML5 等模板文件解析的工具。他能处理一切基于XML文档格式的文件。特别是在WEB展现层面,可以很流畅的进行页面数据的渲染与显示。通过其DOM解析技术,把模板样式读入内存(当启用缓存模式),当页面需要展现时,读取内存中的样式,通过与后端数据的封装填充,最终显示给用户。这样在大量用户访问的时候,可以降低页面渲染产生的IO,提高...

2015-12-30 12:35:00 133

我目前认识的beanshell

beanshell是一个轻量级的脚本语言,具有动态性,完全支持JAVA语法。原理就是通过JAVA的反射获得JAVA语句和表达式的实时执行能力。Jmeter的内置脚本就是beanshell,用来处理定制的性能测试脚本编写。结合我的使用经验,我觉得以下场景可以考虑引入这个东西1 类的动态加载2 复杂逻辑与规则定义的可配置化3 与第三方不确定对象的处理使用这个工具之后,我觉得理论上所有的业务调用都可以基...

2015-12-18 10:15:00 146

resin4的jersery(jws)的兼容问题

resin3到resin4变化确实挺大的。个人比较钟情于tomcat,不知道公司那帮人为毛选择resin,并且还不是收费版本的,这是要闹哪样!!!唉。今天,处理了一个项目上的性能问题,需要通过jmeter压测一下,看看到底有没有提升。当我部署到实体机上是,服务老是启不来。经过调查,发现是是resin4下面的系统自带lib\eclipselink-2.4.0.jar的问题,它有一个...

2015-12-11 14:10:00 151

服务器CPU占用高排查记录

最近发现服务一个共用服务接口的CPU占用比较高,以下是排查记录 1 查寻当前CPU占用高的PIDps Hh -eo pid,tid,pcpu | sort -nk3 |tail 17259 17443  1.417259 19460  1.517259 23916  1.517259 17457  1.617259 18260  1.617259 22789  1.7...

2015-12-10 17:58:00 391 1

统一处理springmvc的Valid验证

对于后端的参数校验,我们一直在强调的验证规则,提示信息的重用。这不,springmvc通过集成Valid最大程序减少了我们的工作量。其实后端的参数过滤,是分几种请求来源的。每种的处理都不太一样,但是我们如果能重用验证规则,提示信息,那就很强大了。1 常用的表单提交,需要页面返回错误信息2 AJAX提交,需要JSON格式返回,或者XML3 接口调用,同样需要对应的数据格式返回对于这3类请求,我今天...

2015-11-27 17:15:08 185

在ubuntu安装Phabricator

前言:Phabricator是facebook团队进行codereview的一个工具,是基于php进行开发的。界面简洁优雅,是团队做代码评审的好帮手。个人认为,是当前最好的code review平台。官网地址http://phabricator.org/1 查看服务器版本stnts@ubuntu:~$ uname -aLinux ubuntu 3.19.0-25-gen...

2015-11-19 14:44:00 114

在Centos上安装代码评审工具ReviewBoard的相关支持插件点滴(第二篇)

因为这个codereview的数据是要安装到数据库中,所以先要配置数据库:1 设置编码集[client] default-character-set=utf8 上面这段红色,亲测非必须[mysqld] character-set-server=utf82 创建数据库$ mysql -u root -p mysql> CREATE DATABASE reviewboard...

2015-11-11 14:59:00 180

我们真的了解Volatile 吗?

     Volatile,JAVA5之后出现的多线程同步读锁属性修饰符。让我们看一下一个单例的例子:<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /&gt...

2015-10-26 19:08:00 83

使用RendezvousHash算法,处理分片

     当单机REDIS已经不能抗住一批量用户,显然,我们需要考虑水平方面的处理。作为SPRING的长期追随者,我发现他提供的spring-data-redis并没有分片的实现。于是,我在他的基础之前,建立了一个HASH映射,某一类的KEY,可以定位到其中一个RedisTemplate,这样可以较好的处理,降低单个REDIS的负载。但是,一开始,我是使用丑陋的取模算法,处理映射关系,后来发现,...

2015-10-15 17:53:07 1015

基于spring,Atomikos,mybatis的分布式动态数据源JTA实现

本文的几个关键词,分布式数据源,数据源的动态寻找,分布式事务JTA实现。     对于一些较大规模的应用,单个数据源是无法支撑起庞大的用户量,需要引入多数据源,水平层面进行分库分表,降低单个DB的负载。接下来,我们程序里里面需 要管理不同数据源之前的程序调用,保证功能是WORK的。另外,跨库就意味着之前单DB的事务就失效了,所以J2EE提出了JTA,分布式的事务管理,往 简单了说,就是2步提交...

2015-09-28 12:15:36 119

基于spring,Atomikos,mybatis的分布式动态数据源JTA实现

     本文的几个关键词,分布式数据源,数据源的动态寻找,分布式事务JTA实现。     对于一些较大规模的应用,单个数据源是无法支撑起庞大的用户量,需要引入多数据源,水平层面进行分库分表,降低单个DB的负载。接下来,我们程序里里面需 要管理不同数据源之前的程序调用,保证功能是WORK的。另外,跨库就意味着之前单DB的事务就失效了,所以J2EE提出了JTA,分布式的事务管理,往 简单了说,就是2...

2015-09-24 14:29:00 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除