自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 JDK源码阅读——ReentrantReadWriteLock

最近总结了下ReentrantReadWriteLock的学习,写的比较生硬。 点击阅读 

2014-01-15 22:55:54 144

原创 Java字符串搜索思想(String)

今天被问到Java字符串搜索,中午抽空研究了String的源码。 int indexOf(String str) 核心查找代码:  for (int i = sourceOffset + fromIndex; i <= max; i++) { /* Look for first character. */ ...

2014-01-03 14:19:23 199

原创 2013个人总结

2013年已经过去了,今天迎来了2014年的第一个工作日,天气很好,希望2014年一帆风顺。 2013年对我来说是重要的转折点,我在这一年里成长的很快(有自身的原因,也有外界的原因)。这一年,工作虽然不是很忙,但是研究自己感兴趣的技术占据了大量的时间(当然还有一部分时间陪家人),过的很充实。 学习 这一年看了很多书:《Java核心技术》基础和高级、《UML精粹》、《深入理...

2014-01-03 00:12:59 143

原创 CentOS 6.4 中文乱码

今天在家里使用centos的时候发现中文乱码,网上各种解决方案都试过了,没有作用。同样的镜像我在单位运行中文是正常的,百思不得其解; 后来忽然灵光一闪,是不是SecureCRT这货引起的? 果断用PUTTY连上去,vi xxx,一切正常,果然是SecureCRT这货有问题,标记一下。 PS: 为什么我要用SecureCRT?   支持标签式窗口,我开7-8个VM,管理起来比...

2013-11-09 00:01:32 305

MMT——微信易信接入

系统架构:主要基于Spring框架,包含IOC、MVC、Security等,数据持久化采用Mybatis 3,UI采用了Bootstrap 3+ Velocity模板。功能介绍:1. 微信易信接入——智能消息回复;2. 消息库管理——多级消息回复;3. 自定义菜单管理——实时同步到微信、易信;4. 集成国内天气查询;5. 数据统计——包含订阅,退订,粉丝,消息等各种数据统计; htt...

2013-10-23 09:31:08 188

原创 Java乱码小技巧

      Java乱码的问题,应该是最常见的。我最近一个项目中的一种场景是这样的:99%的数据不会出现乱码,1%的数据会出现乱码(这在Ajax调用时产生),原因是框架硬编码了字符集:iso-8859-1. 其实有很多方法解决掉这个乱码:1. 加个字符过滤器; 2. 修改框架的代码,支持UTF-8 等等. 为了1%的调用加个过滤器,我是无法忍受的。 修改框架代码,这个还...

2013-10-14 00:40:46 191

原创 Mybatis statement-builders文档的坑

前几天把Mybatis升级到3.2.2,发现动态SQL的SqlBuilder/SelectBuilder这几个类应经被弃用,取而代之的是一个叫AbstractSQL的抽象类,打开看源码(什么注释都没有。。。);翻了半天官方文档,发现他有个默认的实现SQL类,新的Mybatis可以通过SQL类来构造动态SQL,详情请见官方文档:http://mybatis.github.io/mybatis...

2013-09-22 11:17:43 163

原创 Velocity的坑——字符串首尾的空格那些事

最近的项目采用Velocity 1.7作为模板引擎,几天用下来,感觉还是挺爽的。不过今天发现一个坑:macro里面如果有多行的话,输出的字符串前后都被加上了换行和空格。直接上代码:#macro(getContextPath) #set($root = $context.webApplicationContext.servletContext.contextPath) ...

2013-09-18 21:16:03 2327

XStream注解方式实现生成的XML带CDATA标签

最近在实现微信公众接口的时候,用到了XStream来实现java Object和XML的相互转换,由于生成的XML需要用到CDATA标签,于是对XPPDriver做了一点扩展,用于支持自定义的注解。 第一步,需要创建自己的标签类XStreamCDATA,用于标记需要加入CDATA标签的field,代码如下:@Retention(RetentionPolicy.RUNTIME)@...

2013-09-03 14:32:23 1226

原创 Java Exception学习

通过对Java Core的学习,对java exception有了新的认识,之前在处理异常的时候,会采用try...catch...finally这种形式:public void connect2() { Socket client = null; PrintWriter out = null; Scanner scanner = null; try { ...

2013-06-21 13:09:52 103

原创 Java CyclicBarrier学习

CyclicBarrier用于处理任务拆分,计算,等待计算全部完成,然后合并计算的场景,Future,CountDownLatch可以实现类似的场景。 package multithread.cycle;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQue...

2013-06-04 17:26:38 98

原创 Java 信号量(Semaphore)学习

信号量(Semaphore)为程序并发运行提供了多个通道,在此标记一下。 package multithread.semaphore;import java.security.SecureRandom;import java.util.concurrent.Semaphore;/** * 模拟超市收银 * * @author lemzhang * ...

2013-06-04 16:02:38 138

原创 Java Exchanger 学习笔记

今天学习了一下Exchanger. 可以让一对线程交换数据,模拟了一个场景,标记一下,方便以后查看。 package multithread.exchanger;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util...

2013-06-04 14:37:20 164

原创 Java之split result array 长度问题

      今天遇到一个BUG,给定数据"a,b,c,d,e“,用"a,b,c,d,e“.split(",")函数生成的数组长度是5。但是,如果给定的数组是“a,b,c,d,”,这种格式,情况就不一样了,我之前一直认为"a,b,c,d,“.split(",")的数组长度是5,但是事实上,长度是4。 参考代码片段: String a = "a,b,c,d,";String b...

2013-04-18 22:46:14 421

软件设计师-2007年11月上午答案

软件设计师-2007年11月上午答案

2008-05-06

空空如也

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

TA关注的人

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