- 博客(11)
- 收藏
- 关注
原创 Spring中的注解
@Component:可以使用此注解描述Spring中的Bean,但它是一个泛化的概念,仅仅表示一个组件(Bean),并且可以作用在任何层次。使用时只需要将该注解标注在相应类上即可。 @Repository:用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与@Component相同。 @Service:通常作用于业务层(Service层),用于将业务层的类标识为Spring...
2019-07-01 20:17:30 483
原创 类的加载机制
类加载器ClassLoader就是加载其他类的类,它负责将字节码文件加载到内存,创建Class对象。 ClassLoader一般是系统提供的,不需要自己实现,不过,通过创建自定义的ClassLoader,可以实现一些强大灵活的功能,比如: 1.类加载的基本机制和过程 运行Java程序,就是执行java这个命令,指定包含main方法的完整类名,以及一个classpath,即...
2019-07-01 16:01:42 76
原创 注解
在Java中,注解就是给程序添加一些信息,用字符@开头,这些信息用于修饰它后面紧挨着的其他代码元素,比如类、接口、字段、方法中的参数、构造方法等。注解可以被编译器、程序运行时和其他工具使用,用于增强或修改程序的行为。 创建注解: 首先看看什么是元注解,元注解是指注解的注解(用于定义注解本身),包括@Retention、@Target、@Document、@Inherited四种...
2019-07-01 10:34:25 135
原创 Servlet
1.什么是servlet? (1)API:有一个接口Servlet,它是Servlet规范中定义的用来处理客户端请求的程序需要实现的顶级接口; (2)组件:服务器端用来处理客户端请求的组件,需要在web.xml请求中配置; 2.Servlet的生命周期? Serlvet生命周期分为三个阶段: (1)初始化阶段...
2019-06-29 15:04:07 88
原创 hashCode和equals
hashCode和equals用来标识对象,两个方法协同工作可以用来判断两个对象是否相等。众所周知,根据生成的哈希将数据离散开来,可以使存取元素更快。对象通过调用Object.hashCode()生成哈希值;由于不可避免地会存在哈希值冲突的情况,因此当hashCode相同时,还需要再调用equals进行一次值的比较;但是,若hashCode不同,将直接判断Objects不同,跳过equal...
2019-06-24 15:50:01 130
原创 Comparator接口
通过实现Comparator接口可以定制比较器,该接口定义为: public interface Comparator<T>{ int compare(T o1,T o2); boolean equals(Object obj); ... } 最主要的是compare方法,它比较两个对象,返回一个表示结果的值,负整数表示o1小于o2,0表示o1等于o2,正整数表示o1大于o...
2019-06-21 15:55:51 175
原创 ThreadLocal简介
线程本地变量,就是每个线程都有同一个变量的独有拷贝,下面看看其基本实现原理。 其中常用的就是set/get方法了。set方法的代码为: public void set(T value){ Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if(map!=null) map.set(this.value...
2019-06-21 15:03:34 53
原创 CGLIB代理
使用JDK动态代理存在一定的局限性,使用动态代理的对象必须实现一个或多个接口。如果要对没有实现接口的类进行代理,可以使用CGLIB代理。 CGLIB(Code Generation Library)是一个高性能开源的代码生成包,它采用非常底层的字节码技术,对指定的目标类生成一个子类,并对子类进行增强。 接下来,通过一个案例来演示CGLIB代理的实现过程,具体步骤如下。 创建一个目标类Use...
2019-06-21 11:02:09 216
原创 JDK动态代理
JDK动态代理是通过java.lang.reflect.Proxy类来实现的,我们通过调用Proxy类的newProxyInstance()方法来创建代理对象。 下面通过一个案例来演示Spring中的JDK动态代理的实现过程,具体步骤如下: 创建UserDao接口。 public interface UserDao{ public void addUser(); public void...
2019-06-21 08:24:14 207
原创 Comparable接口
Comparable接口 Comparable接口定义如下: public interface Comparable<T>{ publci int compareTo(T o); } 接口里就一个compareTo方法,当对象大于指定对象时返回正整数,等于时返回零,小于时返回负整数。 java包装类都实现了Comparable接口,当前对象与参数对象进行比较,在小于、等于、大于...
2019-06-20 22:28:17 91
原创 匿名内部类
匿名内部类 匿名内部类没有单独的类定义,它在创建对象的同时定义类 先看不使用匿名内部类的情况 创建一个接口Smoking public interface Smoking{ public abstract void smoking(); } 然后实现类,实现接口,重写接口抽象方法,创建实现类对象 class A implements Smoking{ public void smoking...
2019-06-01 22:39:08 74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人