正文内容加载中...
posted @ 2014-04-20 13:14 阿春阿晓 阅读(1292) 评论(0) 推荐(0) 编辑
摘要: 本文翻译自Getting Started with Google Guava这本书,如有翻译不足的地方请指出。在这一章,我们开始注意到使用Guava进行编写代码会更加简单。我们将看看如何使用Guava当中的接口和类可以帮助我们,通过应用行之有效的模式,以使我们的代码更容易维护以及健壮。在本章中我们将... 阅读全文
posted @ 2014-04-20 10:03 阿春阿晓 阅读(3238) 评论(0) 推荐(0) 编辑
摘要: 使用Joiner类将任意字符串通过分隔符进行连接到一起是大多程序员经常做的事情。他们经常使用array,list,iterable并且循环变量将每一个临时变量添加到StringBuilder当中去,并且中间添加分隔符。这些笨重的处理方式如下:public String buildString(Lis... 阅读全文
posted @ 2014-04-13 17:23 阿春阿晓 阅读(3897) 评论(0) 推荐(1) 编辑
摘要: OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 -------百度百科 从语言角度来说:它是一个功能强大的表达式语言,用来获取和设置 java 对象的属性 ,它旨在提供一个更高抽象度语法来对 java 对象图进行导航。另外,java 中很多可以做的事情,也可以使用 OGNL 来完成,例如:列表映射... 阅读全文
posted @ 2013-11-14 16:16 阿春阿晓 阅读(18901) 评论(3) 推荐(2) 编辑
摘要: AOP(Aspect Oriented Programming)面向切面编程,AOP的作用不过多介绍,本文是主要是介绍AOP的成员,是我在复习的时候记录的一些笔记,方便以后查阅方便一些。 JointPoint(连接点),在系统运行的之前,AOP的功能模块都需要织入到OOP的功能模块上,JointPoint就代表了在哪些执行点上进行织入操作的点。JointPoint可以是类的初始化、方法的调用、方法的执行、方法的调用、字段设置、字段获取、异常处理执行等。下面举例说明: public class JointPointTest{ private String name; publ... 阅读全文
posted @ 2013-11-12 15:22 阿春阿晓 阅读(1247) 评论(1) 推荐(1) 编辑
摘要: 前言:这几天在研究apache shiro如何使用,这好用到了给密码加密的地方,就碰巧研究了下java的MD5加密是如何实现的,下面记录下我遇到的一些小问题。 使用java进行MD5加密非常的简单,代码如下: public static void main(String[] args) throws Exception { MessageDigest md5 = MessageDigest.getInstance("MD5"); String password = "wodemima"; byte[] bytes = md5.digest... 阅读全文
posted @ 2013-11-06 21:54 阿春阿晓 阅读(5332) 评论(3) 推荐(2) 编辑
摘要: 事务隔离级别: 1.更新遗失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。 基本上就是指某个事务对字段进行更新的信息,因另一个事务的介入而遗失更新效力。举例来说,若某个字段数据原为ZZZ,用户A、B 分别在不同的时间点对同一字段进行更新事务,如下图: 单就用户A 的事务而言,最后字段应该是OOO,单就用户B 的事务而言,最后字段应该是ZZZ。在完全没有隔离两者事务的情况下,由于用户B 撤销操作时间在用户A 确认之后,因此最后字段结果会是ZZZ,用户A... 阅读全文
posted @ 2013-09-02 21:36 阿春阿晓 阅读(1712) 评论(1) 推荐(2) 编辑
摘要: 刚才在写代码的时候,发现实现了接口的方法上面无法写@Override注解。当时脑袋一片空白,莫非是我以前对重写的认识全错了。然后开始在网上查找了下,终于找出了问题的所在。记录下来给自己提个醒吧~ @Override是JDK5 就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override 修改你的eclipse指定的编译器版本 在选项里的java compiler中指定版本至少在5.0以上 例如: @Override public void... 阅读全文
posted @ 2013-06-08 11:06 阿春阿晓 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 在需要线程同步的时候如何选择合适的线程锁?例:选择可以存入到常量池当中的对象,String对象等 public class SyncTest{ private String name = "name";public void method(String flag) { synchronized (name) { System.out.println(flag + ", invoke method ...."); try { Thread.sleep(10... 阅读全文
posted @ 2013-05-15 14:50 阿春阿晓 阅读(1375) 评论(3) 推荐(1) 编辑
摘要: 1. 创建一个获取Connection对象和关闭资源的工具类 在对数据库进行CRUD操作的时候,每一个操作都需要获取Connection对象,所以我们就可以把获取Connection对象的过程抽离到一个工具类当中,下面是具体代码。 View Code public final class JdbcUtil{ private JdbcUtil() { } private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL"; private static String user = "scott&qu 阅读全文
posted @ 2013-04-15 09:56 阿春阿晓 阅读(2810) 评论(0) 推荐(1) 编辑