泛型、注解、log4j

泛型:将运行阶段的类型错误提前到编译阶段。

声明泛型必须两端的一致,要么左面有,要么右边有,两边都有的两边必须一致。

泛型方法:

static 之后 返回类型之前进行声明

泛型类:

在类名之后进行声明

泛型接口:

在接口名称后进行声明

泛型关键字:

?         <?>  所表达的是 该类不能进行修改,只能获取

? extends  <? extends ***类> 必须是该类的子类

? super    <? super  ***类> 必须是该类的父类

参数化类型:parameterType

this.getClass().getGenericSuperclass()//当前运行类的父类

ParameterType

pt.getActualTypeArguments()//获取<>里面的类型,是个数组,因为可能有多个

注解:告诉编译器如何运行程序,替代配置文件。

@Deprecated

@SupperssWarnnings({ “unused”,”unchecked” })  不让编译器进行警告

@Override  复写父类方法

@interface,不能有主体,在名称后+default 可以设置默认值,

注解的使用范围:

@Target({

TYPE,     类

FIELD,     字段

METHOD,  方法

PARAMETER,   参数

CONSTRUCTOR, 构造器

LOCAL_VARIABLE  局部变量

})

注解的周期

@Retention(RetentionPolicy.SOURCE)    注解只在源码级别有效

@Retention(RetentionPolicy.CLASS)      注解在字节码即别有效  默认值

@Retention(RetentionPolicy.RUNTIME)   注解在运行时期有效

log4j:tomcat提供的日志组件。

使用方法:

1、导入log4j.jar包

2、LogFactory.getLog(当前类.class);

3、.info\error\debug\warn

级别:debug   info   warn   error

配置:

# 通过根元素指定日志输出的级别、目的地:

#  日志输出优先级: debug < info < warn < error

log4j.rootLogger=info,console,file

############# 日志输出到控制台 #############

# 日志输出到控制台使用的api类

log4j.appender.console=org.apache.log4j.ConsoleAppender

# 指定日志输出的格式: 灵活的格式

log4j.appender.console.layout=org.apache.log4j.PatternLayout

# 具体格式内容

log4j.appender.console.layout.ConversionPattern=%d %p %c.%M()-%m%n

############# 日志输出到文件 #############

log4j.appender.file=org.apache.log4j.RollingFileAppender

# 文件参数: 指定日志文件路径

log4j.appender.file.File=../logs/MyLog.log

# 文件参数: 指定日志文件最大大小

log4j.appender.file.MaxFileSize=5kb

# 文件参数: 指定产生日志文件的最大数目

log4j.appender.file.MaxBackupIndex=100

# 日志格式

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d %c.%M()-%m%n

泛型、注解、log4j的更多相关文章

  1. 泛型-----键值对----映射 hashmap--entry中key value 链表

    connection map 集合框架 * java.util.Collection *集合与数组相似,也是可以保存一组元素,并且提供了操作元素的相关方法. *collection是所有集合的顶级接口 ...

  2. JAVA高级特性反射和注解

    反射: 枚举反射泛型注解.html34.3 KB 反射, 主要是指通过类加载, 动态的访问, 检测和修改类本身状态或行为的一种能力, 并能根据自身行为的状态和结果, 调整或修改应用所描述行为的状态和相 ...

  3. 基础篇:深入解析JAVA注解机制

    目录 java实现注解的底层原理和概念 五种元注解详解 使用动态代理机制处理注解 spring.AOP和注解机制 (题外)@FunctionalInterface原理介绍 欢迎指正文中错误 关注公众号 ...

  4. SpringBoot技术栈搭建个人博客【后台开发】

    前言:在之前,我们已经完成了项目的基本准备,那么就可以开始后台开发了,突然又想到一个问题,就是准备的时候只是设计了前台的RESTful APIs,但是后台管理我们同样也是需要API的,那么就在这一篇里 ...

  5. Lombok 介绍

    Lombok使用 介绍 在项目中使用Lombok可以减少很多重复代码的书写.比如说getter/setter/toString等方法的编写. IDEA中的安装 打开IDEA的Setting –> ...

  6. idea安装Lombok及使用介绍

    原文:https://blog.csdn.net/motui/article/details/79012846 Lombok使用 介绍 在项目中使用Lombok可以减少很多重复代码的书写.比如说get ...

  7. 使用Lombok来优雅的编码

    介绍在项目中使用Lombok可以减少很多重复代码的书写.比如说getter/setter/toString等方法的编写. IDEA中的安装打开IDEA的Setting –> 选择Plugins选 ...

  8. 【造轮子】打造一个简单的万能Excel读写工具

    大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...

  9. Atitit.attilax软件研发与项目管理之道

    Atitit.attilax软件研发与项目管理之道 1. 前言4 2. 鸣谢4 3. Genesis 创世记4 4. 软件发展史4 5. 箴言4 6. 使徒行传 4 7. attilax书 4 8. ...

  10. JVM学习(1)——通过实例总结Java虚拟机的运行机制

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: JVM的历史 JVM的运行流程简介 JVM的组成(基于 Java 7) JVM调优参数:-Xmx和-Xms ...

随机推荐

  1. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream(转)

    java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream 使用Tomcat的Manag ...

  2. C# 动态语言特性,dynamic 关键字研究

    1       动态语言简介 支持动态特性的语言现在大行其道,并且有继续增长的趋势.比如 Ruby 和 Python, 还有天王级的巨星 --- JavaScript. 现在一个程序员说自己对 Jav ...

  3. 20个Linux命令及Linux终端的趣事

    20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...

  4. IPicture总结

    1.利用IPicture接口加载.显示图片 IPicture接口管理一个图片对象和它的属性.图片对象提供对Bitmap Icon Metafile的语言不相关的抽象支持.图像对象的主要接口是IPict ...

  5. 如何将Oracle安装为Linux服务

    方法一:使用oracle自带的启动和关闭脚本 1. oracle用户修改/etc/oratab 文件: $ vi /etc/oratab orcl:/oracle/app/product/10.2.0 ...

  6. Linux常用C函数---内存控制篇

    函数讲解部分参考http://net.pku.edu.cn/~yhf/linux_c/ calloc(配置内存空间) 相关函数 malloc,free,realloc,brk 表头文件 #includ ...

  7. 线性表的Java实现

    一.概念 对于常用的数据结构,可分为线性结构和非线性结构,线性结构主要是线性表,非线性结构主要是数和图.当n>0时,表可表示为:(a0,a1,a2,a3,…an) 1. 线性表的特征: 1.存在 ...

  8. bzoj 维护序列seq(双标记线段树)

    Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 4184  Solved: 1518[Submit][Status][Discus ...

  9. Seeding(dfs)

    Seeding Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submi ...

  10. pl/sql查询中文乱码

    1.设置系统环境变量 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 2.修改注册表 regedit->hkey_local_machine ...