外出旅行、冬季保暖得常备户外袜、速干袜、加厚袜子哦。

猛戳乐途驿站http://zhoupa1188.taobao.com抢购品牌男女式加厚户外袜子,coolmax、全棉、保暖、吸汗、速干、登山、徒步袜子。满10包邮


谢炜的cnblogs

CSDN上比较完整:http://hi.csdn.net/xiefeifeihu

导航

2011年8月26日

grails项目编译时,如果报错:java.lang.NoClassDefFoundError: org/apache/commons/cli/Options的解决方法

摘要: grails项目编译时,如果报错:java.lang.NoClassDefFoundError: org/apache/commons/cli/Options的解决方法 Grails编译时报这个错有可能是因为依赖包是'groovy' JAR 而不是 'groovy-all'.只需将依赖改为groovy-all即可。 注意,加入grails项目A依赖于Groovy项目B,项目B是个maven项目... 阅读全文

posted @ 2011-08-26 18:14 飞飞狐 阅读(1746) 评论(0) 推荐(0) 编辑

2011年8月24日

类加载器(ClassLoader)对java安全性的支持

摘要: 类加载器(ClassLoader)对java安全性的支持 java类加载器是有层级结构,最先启动的是Bootstrap类加载器,然后再委派用户自定义加载器加载类。 当要加载一个类时,先依次向顶层加载器寻找是否已加载了这个类,如果已经加载就不再重新加载了。 java允许同一个包下的类的私有和保护成员可以进行访问,前提是这两个class属于同一个包,并且它们是由同一个类加载器加载的。否则,假设用户自定... 阅读全文

posted @ 2011-08-24 22:02 飞飞狐 阅读(486) 评论(0) 推荐(0) 编辑

2011年6月28日

年龄Age的计算(可以精确到1岁3个月10天)

摘要: import java.text.SimpleDateFormat/** * 年龄对象(3岁、3个月、30天) */class Age { Integer age AgeUnit unit Integer year Integer month Integer day Age() { } Age(int age) { this.age = age unit = AgeUnit.YearOfAge } Age(String str) { def regular = /^(\d+)(\S+)?/ if (!(str ==~ regular)) { throw new IllegalArgumentE 阅读全文

posted @ 2011-06-28 21:45 飞飞狐 阅读(675) 评论(2) 推荐(0) 编辑

2011年6月12日

使用Groovy脚本引擎 根据表达式求值 或 反向解析构造对象

摘要: 假设有这么一个需求:外部传入一个Map形式的字符串,如"[1:'A',2:'B']",现在要把这个字符串转换成map对象。 如果自己去解析并构造出map对象,显然很麻烦。 Groovy可以执行脚本,将一个脚本字符串传给GroovyShell,它再去sh.evaluate(expression).所有我们也可以利用它来帮我们解析出map对象。Map map = new GroovyShell().e... 阅读全文

posted @ 2011-06-12 10:34 飞飞狐 阅读(1256) 评论(0) 推荐(1) 编辑

2011年6月1日

实战 Groovy: 使用闭包、ExpandoMetaClass 和类别进行元编程

摘要: 实战 Groovy: 使用闭包、ExpandoMetaClass 和类别进行元编程 转载自:http://www.ibm.com/developerworks/cn/java/j-pg06239.html 随心所欲添加方法 Scott Davis, 创始人, ThirstyHead.com 简介: 进入到 Groovy 风格的元编程世界。在运行时向类动态添加方法的能力 — 甚至 Java™ 类以及... 阅读全文

posted @ 2011-06-01 10:21 飞飞狐 阅读(458) 评论(0) 推荐(0) 编辑

2011年5月30日

Groovy将字符串类型转换为自定义类型的方法

摘要: 将一个字符串转换为自定义类型: 例如Quantity是自定义的一个class,现在想这么调用Quantity quantity = "100个" as Quantity或def quantity = "100个".asType(Quantity) 需要重载String的asType方法(String.metaClass.asType)。具体实现如下(注意static方法块): package co... 阅读全文

posted @ 2011-05-30 21:00 飞飞狐 阅读(1726) 评论(0) 推荐(0) 编辑

2011年5月18日

jira插件在idea 10.5下面可以使用的方法

摘要: 在XXX\.IntelliJIdea10\config\plugins目录下面找到atlassian-idea-plugin.jar,用winrar打开,删除 org\apache\commons\logging目录就行了 阅读全文

posted @ 2011-05-18 19:51 飞飞狐 阅读(286) 评论(0) 推荐(0) 编辑

2011年5月10日

Groovy的展开操作符(Spread Operator)*.和*

摘要: Groovy的spread-dot操作符 "*."操作符称之为:spread-dot操作,即“展开(点)”操作。比如 list*.member 跟 list.collect{ item -> item?.member } 是等效的。此处member可以是属性,也可以是get/set方法,甚至是一般的方法。如下例 class SpreadDotDemo { def count } def list ... 阅读全文

posted @ 2011-05-10 11:21 飞飞狐 阅读(420) 评论(0) 推荐(0) 编辑

用maven编译groovy项目

摘要: maven编译groovy项目需要用到gmaven插件,pom.xml配置如下 添加库: <repository> <id>groovy</id> <url>http://repository.codehaus.org/org/codehaus/groovy/</url></repository> 添加依赖: <dependency> <groupId>org.codehaus.groovy</g... 阅读全文

posted @ 2011-05-10 11:21 飞飞狐 阅读(2134) 评论(1) 推荐(1) 编辑

2010年8月7日

用ASM实现AOP

摘要: AOP的关键在于拦截,如果在代码中直接写入要插入的代码则是最直接的AOP。这当然不是指在source中生写代码,而是希望在程序员不知觉的情况下修改了代码。 asm是个开源包,可以很方便地读写class的bytecode。网站是http://asm.ow2.org/。为了方便修改类建议下载Eclipse插件。 使用方法挺简单。首先实现一个ClassAdapter导出类,找到要修改的函数: 略。在... 阅读全文

posted @ 2010-08-07 17:29 飞飞狐 阅读(1173) 评论(0) 推荐(0) 编辑

外出旅行、冬季保暖得常备户外袜、速干袜、加厚袜子哦。

猛戳乐途驿站http://zhoupa1188.taobao.com抢购品牌男女式加厚户外袜子,coolmax、全棉、保暖、吸汗、速干、登山、徒步袜子。满10包邮