摘要: /* SubClass sub = new SubClass(); 这句话到底做了什么事情呢? 1.javac编译.java源文件形成.class字节码文件; 2.new SubClass()对象时,先检查有没有父类,有父类,类加载器(ClassLoader)先将父类的Class文件读入内存,创建一 阅读全文
posted @ 2017-12-29 10:24 恶魔蜘蛛 阅读(1228) 评论(0) 推荐(0) 编辑
摘要: 用ThreadLocal是为了保证线程安全,实际上ThreadLoacal的key就是当前线程的Thread实例。单例模式下,spring把每个线程可能存在线程安全问题的参数值放进了ThreadLocal。这样虽然是一个实例在操作,但是不同线程下的数据互相之间都是隔离的,因为运行时创建和销毁的bea 阅读全文
posted @ 2017-12-29 10:04 恶魔蜘蛛 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1、任务清单:2、任务初步达成的效果:[每个模块]3、任务思路和计划:[每个模块] 阅读全文
posted @ 2017-12-25 13:09 恶魔蜘蛛 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一、三个主要组件: Loggers(记录器)、Appenders(输出源)、Layouts(布局) 1、Loggers组件: level级别:debug < info < warn < error < fatal 输出规则:只输出设定级别之上的日志。 2、Appenders组件: ConsoleAp 阅读全文
posted @ 2017-12-20 11:25 恶魔蜘蛛 阅读(118) 评论(0) 推荐(0) 编辑
摘要: # Set root logger level , logger output address, logger output address ... log4j.rootLogger = warn, Console, FILE, MAIL # 子记录器 log4j.logger.com.sapp = 阅读全文
posted @ 2017-12-20 10:48 恶魔蜘蛛 阅读(1894) 评论(0) 推荐(0) 编辑