随笔分类 -  java学习

个人学习使用,所有收集仅供参考。
摘要:1、要为系统中的各种接口的类增加代理功能,那将需要太多的代理类,全部采用静态代理方式,将是一件非常麻烦的事情!写成百上千个代理类,是不是太累! 2、JVM可以在运行期动态生成出类的字节码,这种动态生成的类往往被用作代理类,即动态代理类。 3、JVM生成的动态类必须实现一个或多个接口,所以,JVM生成 阅读全文
posted @ 2019-07-05 13:48 樊伟胜 阅读(323) 评论(0) 推荐(0)
摘要:1、引入: 为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等,你准备如何做? 编写一个与目标类具有相同接口的代理类,代理类的每个方法调用目标类的相同方法,并在调用方法时加上系统功能的代码。 2、代理类的优点: 如果采用工厂模式和配 阅读全文
posted @ 2019-07-05 13:47 樊伟胜 阅读(641) 评论(0) 推荐(0)
摘要:事件源(组件) 事件(Event) 监听器(Listener) 事件处理(引发事件后处理方式) 事件监听机制流程图 务必记牢: 确定事件源(容器或组件) 通过事件源对象的addXXXListener()方法将侦听器注册到该事件源上。 该方法中接收XXXListener的子类对象,或者XXXListe 阅读全文
posted @ 2019-07-05 12:28 樊伟胜 阅读(492) 评论(0) 推荐(0)
摘要:基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void通过class属性也表示为 Class 对象; Class类中boolean isPrimitive() :判定指定的 Class 对象是否表示一个基本类型。 包 阅读全文
posted @ 2019-07-05 10:22 樊伟胜 阅读(402) 评论(0) 推荐(0)
摘要:如何得到各个字节码对应的实例对象? 每个类被加载后,系统会为该类生成对应的Class对象,通过Class对象可以访问到JVM中的这个类, 3种方式: 1、调用某个类的class属性获取Class对象,如Date.class会返回Date类对应的Class对象(其实就是得到一个类的一份字节码文件); 阅读全文
posted @ 2019-07-05 10:19 樊伟胜 阅读(226) 评论(0) 推荐(0)
摘要:反射的引入: Object obj = new Student(); 若程序运行时接收到外部传入的一个对象,该对象的编译类型是Object,但程序又需要调用该对象运行类型的方法: 1.若编译和运行类型都知道,使用 instanceof判断后,强转。 2.编译时根本无法预知该对象属于什么类,程序只能依 阅读全文
posted @ 2019-07-05 10:17 樊伟胜 阅读(1264) 评论(0) 推荐(0)
摘要:需求:源和目标! 那么我们需要源文件和目标文件! 构建管道的时候就需要两个:输出流和输入流管道! Eg: package july7file; //java7开始的自动关闭资源 import java.io.File; import java.io.FileInputStream; import j 阅读全文
posted @ 2019-07-05 08:55 樊伟胜 阅读(378) 评论(0) 推荐(0)
摘要:引入:我想使用List集合装公司的员工,却装了一条狗进来; 使用TreeSet的时候,只能存放同一种数据类型,可惜存了不同的数据类型,依然没有报错,可是运行时出错. 泛型定义: java5开始出现的一种对Java语言类型的一种拓展,以支持创建可以按类型进行参数化的类.可以把类型参数看作是使用参数类型 阅读全文
posted @ 2019-07-05 08:36 樊伟胜 阅读(328) 评论(0) 推荐(0)
摘要:Vector:线程安全,但速度慢,已被ArrayList替代。 ArrayList:线程不安全,查询速度快。 LinkedList:链表结构,增删速度快。取出List集合中元素的方式: get(int index):通过脚标获取元素。 iterator():通过迭代方法获取迭代器对象。 ArrayL 阅读全文
posted @ 2019-07-05 08:34 樊伟胜 阅读(400) 评论(0) 推荐(0)
摘要:映射关系,也有人称为字典,Map集合里存在两组值,一组是key,一组是value。Map里的key不允许重复。通过key总能找到唯一的value与之对应。 Map里的key集存储方式和对应的Set集合中的元素存储方式一致; 学生都有一个学号,我们能点学号就能找到某个学生,好比这个学号就是key,学生 阅读全文
posted @ 2019-07-05 08:34 樊伟胜 阅读(147) 评论(0) 推荐(0)
摘要:Collection子接口; List是有序的集合,集合中每个元素都有对应的顺序序列。List集合可使用重复元素,可以通过索引来访问指定位置的集合元素(顺序索引从0开始),List集合默认按元素的添加顺序设置元素的索引,比如第一个元素的索引就是0,好似数组。 List作为Collection子接口当 阅读全文
posted @ 2019-07-05 08:33 樊伟胜 阅读(164) 评论(0) 推荐(0)
摘要:TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,然后将集合里的元素按升序排列.此时需要排序元素的类必须实现Compareble接口,并覆写其int compareTo(Object o)方法; 该方法用于比较对象,若:obj1,compareTo(obj 阅读全文
posted @ 2019-07-05 08:31 樊伟胜 阅读(3123) 评论(0) 推荐(0)
摘要:TreeSet的自然排序是根据元素的大小进行升序排序的,若想自己定制排序,比如降序排序,就可以使用Comparator接口了: 该接口包含int compare(Object o1,Object o2)方法,用于比较两个对象的大小,比较结果和compareTo方法一致; 要实现定制排序,需要在创建T 阅读全文
posted @ 2019-07-05 08:31 樊伟胜 阅读(680) 评论(0) 推荐(0)
摘要:TreeSet是SortedSet接口唯一的实现,与HashSet相比额外的方法有: Comparator comparator():返回当前Set使用的Comparator,若返回null,表示以自然顺序排序。 Object first() 返回此 set 中当前第一个(最低)元素。 Object 阅读全文
posted @ 2019-07-05 08:29 樊伟胜 阅读(234) 评论(0) 推荐(0)
摘要:Iterator:迭代输出 一旦操作集合的遍历输出,首选Iterator接口; ListIterator:Iterator子接口,专门输出List中的元素; Enumeration:古老的输出方式,迭代Vector元素,被Iterator取代; foreach:可输出数组和Iterable对象; 我 阅读全文
posted @ 2019-07-04 14:48 樊伟胜 阅读(4064) 评论(0) 推荐(1)
摘要:为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就要对对象进行存储,集合就是存储对象最常用的一种方式。 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储任意数据类型,集合只能存储对象。 集合类的特点 阅读全文
posted @ 2019-07-04 14:45 樊伟胜 阅读(190) 评论(0) 推荐(0)
摘要:三种方法: 同步代码块: synchronized(obj) { //obj表示同步监视器,是同一个同步对象 /**..... TODO SOMETHING */ } 同步方法 格式: 在方法上加上synchronized修饰符即可。(一般不直接在run方法上加!) synchronized 返回值 阅读全文
posted @ 2019-07-04 14:43 樊伟胜 阅读(155) 评论(0) 推荐(0)
摘要:join方法:调用join方法的线程对象强制运行,该线程强制运行期间,其他线程无法运行,必须等到该线程结束后其他线程才可以运行。 有人也把这种方式成为联合线程 join方法的重载方法: join(long millis): join(long millis,int nanos): 通常很少使用第三个 阅读全文
posted @ 2019-07-04 14:41 樊伟胜 阅读(305) 评论(0) 推荐(0)
摘要:Thread类内部有个public的枚举Thread.State,里边将线程的状态分为: NEW 新建状态,至今尚未启动的线程处于这种状态。 RUNNABLE 运行状态,正在 Java 虚拟机中执行的线程处于这种状态。 BLOCKED 阻塞状态,受阻塞并等待某个监视器锁的线程处于这种状态。 WAIT 阅读全文
posted @ 2019-07-04 14:39 樊伟胜 阅读(201) 评论(0) 推荐(0)
摘要:A extends Thread: 简单 不能再继承其他类了(Java单继承) 同份资源不共享 A implements Runnable:(推荐) 多个线程共享一个目标资源,适合多线程处理同一份资源。 该类还可以继承其他类,也可以实现其他接口。 我的总结: 实现方式,因为避免了单继承的局限性,所以 阅读全文
posted @ 2019-07-04 14:37 樊伟胜 阅读(565) 评论(0) 推荐(0)