22Jul/100
凑数更
不得不说……最近不知道在弄什么,所以也没什么东西写,于是来凑数更了……
- Class
不同 ClassLoader实例加载的Class是不同的。所以当你发现明明传入的类型一摸一样却报ClassCastException的时候,多半是ClassLoader搞的鬼……嗯,之前玩Groovy万能console的时候就遇到了。 - StringBuilder
很多时候我们被教导使用StringBuilder来代替字符串的+操作以提高性能和减少内存占用,但其实对于一连串的+操作,编译器会自动把它们变成StringBuilder的append 操作。所以当你有一长串的+操作且都是连在一起的时候,尽请放心使用,编译器已经帮你搞定了。另外StringBuilder是非线程安全的,所以在绝大多数实现下效率高于StringBuffer。 - Annotation
嗯……Annotation挺好使的。Annotation可以被Annotation,但是被Annotation的类直接getAnnotation是get不到Annotation它的Annotation的Annotation的。而且Annotation本身不能继承别的Annotation,所以如果你希望传递Annotation的话,你需要递归获取所有Annotation的Annotation才能知道到底这个类有没有被你希望的那个Annotation给Annotation。我是故意这么写的,真蛋疼。
另,spring就可以识别到Annotation的传递,你可以把@Component注解到你自己的Annotation上,然后用你自己的Annotation注解bean,spring会识别到这个传递关系,并把bean纳入管理。