摘要: 1. 浅复制: 被复制对象的所有变量都与原来对象相同的值,而所有的对其他对象的引用仍然指向原来的对象,换言之,浅复制紧紧复制所考虑的对象,而 不复制他所引用的对象 。 2. 深复制: 被复制对象的所有变量都与原来对象相同的值,除去那些引用其他对象的变量。 那些引用其他对象的变量将指向被复制过的新对象 阅读全文
posted @ 2017-04-10 22:33 涣涣虚心 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1. 死锁(deadlock):两个线程都在等待彼此先完成。多个线程共享同一个资源的时候需要进行同步,以保证资源操作的完整性;但是过多的同步就可能产生死锁。 tips: 使用一种名为资源排序的简单技术可以避免死锁,即给每个需要锁的对象指定一个顺序,确保每个线程都按这个顺序来获取锁。 2. wait( 阅读全文
posted @ 2017-04-10 22:30 涣涣虚心 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 1. 停止线程的方式: 不能使用Thread类的stop方法来终止线程的执行,一般要设定一个变量,在run方法中是一个循环,循环每次检查该变量,如果满足条件则继续执行,否则跳出循环,线程结束。 2. 不能依靠线程的优先级来决定线程的执行顺序 。 通过实现Runnable接口的多线程类,该类的属性会被 阅读全文
posted @ 2017-04-10 22:28 涣涣虚心 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 1. 线程的生命周期: 一个线程从创建到消亡的过程。 2. 四种状态: 创建状态 可运行状态(就绪状态) 运行状态 不可运行状态(堵塞状态) 消亡状态 3. 线程状态转换图: 4. 创建状态: 当使用new创建一个新的线程对象时,处于创建状态。 处于创建状态的线程只是 一个空的线程对象,系统不为它分 阅读全文
posted @ 2017-04-10 22:25 涣涣虚心 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1. Thread类也实现了Runnable接口 ,因此实现了Runnable接口中的run方法。 2. 当生成一个线程对象时,如果没有为其设定名字,那么线程对象的名字将使用如下形式:Thread-number,该number将是自动增加的,并被所有的Thread对象所共享( 因为是static的成 阅读全文
posted @ 2017-04-10 22:21 涣涣虚心 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是线程: 程序中单独顺序的流控制,线程本身不能运行,只能用于程序中。 2. 多线程: 单个程序中可以同时运行多个不同的线程执行不同的任务。 3. 多线程编程的目的: 最大限度的利用CPU资源。 5. java中如果我们自己没用产生线程,那么系统就会给我们产生一个线程(主线程,main方法救 阅读全文
posted @ 2017-04-10 22:17 涣涣虚心 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1. RandomAccessFile 实现了DataOutput, DataInput接口。 所以它可以writeByte(), writeInt()…. 同时也可以readByte(), readInt()。 有seek( )方法来访问文件,可以从文件的任意位置读写文件,这个seek可以看做文件 阅读全文
posted @ 2017-04-10 22:13 涣涣虚心 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 1. 装饰模式:包装模式 以对 客户端透明的方式扩展 对象的功能,是 继承关系的一个替代方案 。 对客户透明的方式动态的给一个对象附加上更多的责任,换言之, 客户端不会觉得对象在装饰前喝装饰后有什么区别 。 可以在 不创造更多子类的情况下将对象的功能加以扩展 。 把客户端的调用委派到被装饰类。这种 阅读全文
posted @ 2017-04-10 22:01 涣涣虚心 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1. Java io中最重要的就是5个类和1个接口: 5个类:File、OutputStream、InputStream、Writer、Reader 1个接口:Serializable 2. File类是针对文件本身的操作,如果要对文件内容进行操作,需要使用 RandonAccessFile 类,此 阅读全文
posted @ 2017-04-10 21:51 涣涣虚心 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 内部类(Inner Class),共分为4种。 1. 静态内部类(static inner class): 只能访问外部类的 静态成员变量和静态方法,生成静态内部类对象的方式为: OuterClass.InnerClass inner = new OuterClass.InnerClass() 2. 阅读全文
posted @ 2017-04-10 21:43 涣涣虚心 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 1. 概念: 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己。 2. 观察者模式的组成: 抽象主题角色: 把所有对 观察者对象的引用保存在一个 集合中,每个抽象主题角色都可以有 任意数量的观察者。抽象主 阅读全文
posted @ 2017-04-10 21:23 涣涣虚心 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1. 常见一些注解: @Override 表示子类要重写父类的对应方法。 @Deprecated 表示方法是不建议被使用的( RetentionType 是Runtime的 )。 @SuppressWarnngs 注解表示遗址警告。 2. 自定义注解: 当注解的属性名为 value 时,在对其赋值时 阅读全文
posted @ 2017-04-10 13:28 涣涣虚心 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 1. 作用: 为其他对象提供一种代理可以控制对这个对象的访问 。 在某些情况下,一些客户不想或者不能直接饮用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 tips1: 代理主题操作真是主题,只是 主题执行具体的业务操作 ,而 代理主题负责其他相关业务的处理 。 2. 涉及到的角色 阅读全文
posted @ 2017-04-10 12:46 涣涣虚心 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1. 无论生成某个类的多少对象,这些对象都会对应于同于个class。 tips1: 反射的一切操作都是由Object完成,类、数组的引用都可以用**Object**进行接收。 2. 要想使用反射,首先需要获得待处理类货对象所对应的Class对象 阅读全文
posted @ 2017-04-10 12:34 涣涣虚心 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 策略模式定义以及code sample. 阅读全文
posted @ 2017-04-10 10:40 涣涣虚心 阅读(104) 评论(0) 推荐(0) 编辑