发表于: 2016-07-20 20:40:49

0 2272


今天完成的事情:

理了下之前看的一些知识



明天计划的事情:

完成任务3



遇到的问题:


收获:

下载jar的版本类别说明
Apache Log4j 2 binary (tar.gz)   程序 linux系统
Apache Log4j 2 binary (zip)      程序 windows系统
Apache Log4j 2 source (tar.gz)   源码 linux系统

Apache Log4j 2 source (zip)      源码 windows系统


部分Java代码:

package com.coderdream.log4j;


import org.apache.log4j.Logger;


public class HelloLog4j {
   private static Logger logger = Logger.getLogger(HelloLog4j.class);
   /**
   * @param args
   */
   public static void main(String[] args) {
      // System.out.println("This is println message.");
      // 记录debug级别的信息
      logger.debug("This is debug message.");
      // 记录info级别的信息
      logger.info("This is info message.");
      // 记录error级别的信息
      logger.error("This is error message.");
      }

   }


配置文件log4j.properties:
#可以设置级别:debug>info>error
#debug:显示debug、info、error
#info:显示info、error
#error:只error
log4j.rootLogger=debug,appender1
#log4j.rootLogger=info,appender1

#log4j.rootLogger=error,appender1


#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#样式为TTCCLayout

log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout


Logger - 日志写出器,供程序员输出日志信息 
Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去 
ConsoleAppender - 目的地为控制台的Appender 
FileAppender - 目的地为文件的Appender 
RollingFileAppender - 目的地为大小受限的文件的Appender 
Layout - 日志格式化器,用来把程序员的logging request格式化成字符串 

PatternLayout - 用指定的pattern格式化logging request的Layout


日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG


参考资料:

log4j详解与实战http://www.iteye.com/topic/378077


反射和映射:
ORM 就是Object-Relation Mapping,就是对象映射到数据库
反射就是要得到类和方法本身,因为是在方法中得到类和方法的对象,所以被称为反射调用
你也可以在api中查看Class和Method等类
Class string = String.class;这行代码就是对String类的反射调用
string.getMethods()就是来获取String类中的所有的方法,并把方法组装成Method对象的数组返回

还有其他的一些方法你可以自己看api


突然想起来一些基础知识,觉得有点理不清楚了,再次看了看自己的笔记。对于有些基础的知识得常看看。
JAVA的三种类型集合:
List特点:元素有放入顺序,元素可重复 
Map特点:元素按键值对存储,无放入顺序 

Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) 


list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对。


List接口有三个实现类:LinkedList,ArrayList,Vector 
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢 

ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低 


1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 

3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 


对类成员变量可分两种分类:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:
        对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。
        对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)

静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联!


jason是ECMAScript的一个子集
JSON 值可以是:

返回列表 返回列表
评论

    分享到