0%

jad命令 todo

java flight recorder todo

arthas trace todo

依赖注入jcp标准jsr330 todo

synchronizedMap todo

JNDI的两种写法 todo

Throwable和Exception todo

静态常量放类和接口的取舍 todo

建议常量类,尽管接口能够提供一点点遍历,但是多接口继承的情况下可能会冲突(虽然常量接口不可能会被继承),至于性能方面哪方更强,有待研究。。

Map集合的initialCapacity和load factor todo

Read more »

logback当前分成三个模块:logback-core,logback-classic和logback-access。logback-core是其它两个模块的基础模块。

logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14Logging。

logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。

Read more »

下个月3号要去考个java的证书,java很多基础的东西已经忘了,最近工作上几乎没有任务,索性就总结一下java的基础。

元注解

元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:

  • @Target,
  • @Retention,
  • @Documented,
  • @Inherited

这些类型和它们所支持的类在java.lang.annotation包中可以找到。下面我们看一下每个元注解的作用和相应分参数的使用说明。

@Inherited的官方说明是这样子的。

/**
 * Indicates that an annotation type is automatically inherited.  If
 * an Inherited meta-annotation is present on an annotation type
 * declaration, and the user queries the annotation type on a class
 * declaration, and the class declaration has no annotation for this type,
 * then the class's superclass will automatically be queried for the
 * annotation type.  This process will be repeated until an annotation for this
 * type is found, or the top of the class hierarchy (Object)
 * is reached.  If no superclass has an annotation for this type, then
 * the query will indicate that the class in question has no such annotation.
 *
 * <p>Note that this meta-annotation type has no effect if the annotated
 * type is used to annotate anything other than a class.  Note also
 * that this meta-annotation only causes annotations to be inherited
 * from superclasses; annotations on implemented interfaces have no
 * effect.
 *
 * @author  Joshua Bloch
 * @since 1.5
 */

好吧,看起来真的是吃力,后悔以前没有学好英文。

@Target

@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标

Read more »