`
zy19982004
  • 浏览: 654417 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:249905
社区版块
存档分类
最新评论
文章列表
一.四种日志系统 JCL http://zy19982004.iteye.com/blog/1991328 Apache Log4j http://zy19982004.iteye.com/blog/1992939 Slf4j http://zy19982004.iteye.com/blog/1993059 JDK Logger http://zy19982004.iteye.com/blog/1993209 二.为什么会有桥接      除了JDK Logger是一个纯粹的日志实现之外,其它三个日志系统都是api+impl的形式。每个人都想去做门面,让别的厂商做实现 ...
一.JDK Logger      JDK从1.4版本开始有了自己的日志系统,相比log4j slf4j jcl,JDK Logger显得简单明了,它没有像其它几个框架,都想去做门面,它只是简单的做了自己的事情。下一篇文章将详细比较这四个日志以及相互之间的桥接。在此不啰嗦。   二.JDK Logger核心类 Logger:日志类。 LogManager:日志管理类,读取配置文件,创建日志,缓存日志都有它完成了。类似于Log4j的LogManager。 LogRecord:日志信息类。 Level:日志级别。六个单词的国际化资源在sun.util.logging.resour ...
一.SLF4J      http://www.slf4j.org/   二.SLF4J核心类  Logger:日志类。 LoggerFactory:负责查找系统里日志的实现,负责创建日志。类似JCL的LogFactory,类似log4j的LogManager。 ILoggerFactory:该接口只有一个getLogger(name)方法。类似log4j的LoggerRepository 。 LoggerFactoryBinder:该接口可以ILoggerFactory getLoggerFactory()。累世log4j的RepositorySelector。 Stat ...
一.Apache Log4j http://logging.apache.org/log4j/2.x/ 本文只讲初始化Logger的过程。 二.Apache Log4j里的几个核心类 Logger:日志类。getLogger()交给LogManager去实现。 Level:八个级别。 #OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE,ALL。 LogManager:Use the LogManager  class to retreive  Logger instances or to operate on the current LoggerR ...
一.Apache Commons Logging      http://zy19982004.iteye.com/blog/1867448里提到了commons-logging的工作方式,本文将看下代码怎么实现这一工作方式。   二.Apache Commons Logging类结构      就这么简单,一个接口包,一个实现包。   三.类说明 Log:A simple logging interface abstracting logging APIs,和JDBC API是一个性质的东西 Level。对六种日志级别的操作,官网建议我们这样用: http://co ...
  一.ContextClassLoader ContextClassLoader只是一个逻辑上的概念,在Java Api里并没有一个叫ContextClassLoader的类。 JVM默认类加载体系已经能满足大部分情况的使用了,那为什么还需要ContextClassLoader呢。但有时候这样的加载体系并不能满足要求,比喻需要动态加载应用程序开发人员提供的资源时。考虑JDBC的实现,JDK中的JDBC Api是由BootStrap加载的,当我们确定使用某一厂商的JDBC实现时,实现类也会由BootstrapLoader加载,显然BootstrapLoader是加载不了的。于是就出现了 ...
一.自定义ClassLoader关键 是继承ClassLoader还是继承URLClassLoader。 如果你的class文件存放于一个JAR文件里,同时你需要一些自己的load策略,可以考虑继承URLClassLoader。 如果你的class文件位于其它地方,继承ClassLoader。比喻位于普通文件夹里,可以自定义一个JyzClassLoader;如果位于网络上,可以定义一个NetworkClassLoaer,等等。 class NetworkClassLoader extends ClassLoader { String host; ...
一.ClassLoader源码继承图         SecureClassLoader:这个类我没做深入研究,你把它当成一个增强版的ClassLoader,增强了从何地load class,增强了能不能load这些代码权限。   二.源码   public abstract class ClassLoader { // 父ClassLoader private ClassLoader parent; // 被此classLoader加载过的Class对象 private Vector classes = new Vector(); // The ...
一.Launcher      我们习以为常的ClassLoader.getSystemClassLoader()来获得系统类加载器,有没有考虑过到底是怎么得到的呢?阅读完Launcher的源码,就清楚了。   二.源码 public class Launcher { private static URLStreamHandlerFactory factory = new Factory(); private static Launcher launcher = new Launcher(); public static Launcher getLa ...
占位
一.@Inherited      @Inherited:允许子类继承父类的注解。   二.代码 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Inherited public @interface DBTable { public String name() default ""; } @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface DBTabl ...
一.引入       上文http://zy19982004.iteye.com/blog/1979208中,提到了注解类JyzTargetPackage可以定义为@Target(ElementType.PACKAGE),可是在被注解类里我无论怎么加,编译器都报错,于是引入了package-info.java这个文件。   二.创建package-info.java "I found that when you create a new package in eclispe there is a check box to check if you want a packa ...
一.注解术语      http://zy19982004.iteye.com/blog/1979039里把注解里的术语罗列了一遍,未做深入解读。本文用一个例子来强化注解术语。   二.代码   package com.jyz.study.jdk.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Re ...
一.元注解 @Target:表示该注解可以用于什么地方。可选的ElementType参数包括: TYPE:类,接口(包括注解类型),enum的声明。 FIELD:域的声明(包括enum实例)。 METHOD:方法的声明。 PARAMETER:参数的声明。 CONSTRUCTOR:构造器的声明。 LOCAL_VARIABLE:局部变量的声明。 ANNOTATION_TYPE:注解的声明。 PACKAGE:包的声明。 @Retention:表示需要在什么级别保存该注解学习。可选的RetentionPolicy参数包括: SOURCE:注解将被编译器丢弃。 CLAS ...

Java注解学习

 
写点什么
Global site tag (gtag.js) - Google Analytics