随笔分类 -  JAVA

摘要:1. java.io包中面向流stream oriented。NIO采用面向块的概念block oriented。 即NIO操作以大的数据块为单位进行,而不是一次一个字节或字符进行。这样做 性能得以提高,但是却牺牲了操作的简单性。 2. NIO提供与平台无关的非阻塞I/O (nonblocking 阅读全文
posted @ 2017-04-11 14:19 涣涣虚心 阅读(128) 评论(0) 推荐(0)
摘要:1. JDBC的操作步骤: 加载数据库驱动程序:各个数据库都会提供自己实现的JDBC的jar包,将jar包配置到classpath路径即可。 连接数据库:根据各个数据库的不同,连接地址也不同,由各厂商提供。取得连接之后才能对数据库进行查询或更新操作。 使用SQL语句进行数据库操作。 关闭数据库连接: 阅读全文
posted @ 2017-04-11 14:16 涣涣虚心 阅读(134) 评论(0) 推荐(0)
摘要:1. 组合模式: 部分 整体模式,它使我们树形结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 2. 意图: 将对象组合成树形结构以表示部分 整体的单层结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 阅读全文
posted @ 2017-04-11 14:10 涣涣虚心 阅读(165) 评论(0) 推荐(0)
摘要:1. 将请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化;对起那个请求进行排队或记录请求日志。 命令模式告诉我们可以为一个操作生成一个对象并给出它的一个execute(执行)方法。 2. Command模式为系统架构带来效果: 实现请求一方(TestCase开发)和调用一方(Junit) 阅读全文
posted @ 2017-04-11 13:58 涣涣虚心 阅读(147) 评论(0) 推荐(0)
摘要:1. 定义了一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。 2. 使用场合: 一次性实现一个算法的不变部分,并且将可变的行为留给子类来完成。 各子类的行为应该 阅读全文
posted @ 2017-04-11 13:52 涣涣虚心 阅读(100) 评论(0) 推荐(0)
摘要:1. 意图: 将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 2. 构成: 目标抽象角色(Target):定义客户要用的特定领域的接口。 适配器(Adapter):调用另一个接口,作为一个转换器。 适配器(Adaptee):被 阅读全文
posted @ 2017-04-11 13:34 涣涣虚心 阅读(168) 评论(0) 推荐(0)
摘要:Junit3.8 的最佳实践: 1. 测试类必须要继承TestCase,且要注意 sds public void 无方法参数 方法名必须以test打头 2. Test Case 之间一定要保持完全的独立性,不允许出现任何依赖关系。 3. 不能依赖于测试方法的执行顺序。 4. 关于setUp与tear 阅读全文
posted @ 2017-04-11 13:25 涣涣虚心 阅读(151) 评论(0) 推荐(0)
摘要:虚拟机作用: 为应用程序屏蔽底层操作系统的细节,因为不同系统底层API不同,虚拟机就用来处理这些底层的细节,从而为程序提供一个统一的接口。 为应用程序提供必要的运行时的支持,包括基本类型和操作符、对象模型、Unicode支持、动态链接、垃圾回收器、内存模型和访问控制。 1. ClassLoader类 阅读全文
posted @ 2017-04-11 11:38 涣涣虚心 阅读(173) 评论(0) 推荐(0)
摘要:1. Java的网络编程提供了两种通信协议:TCP(传输控制协议) 和 UDP(数据报协议). 二者都属于传输层协议。 TCP是可靠传输协议,传输前会采用”三次握手”的方式建立连接,以保证传输的可靠性。 UDP是不可靠的传输协议,即发送出去的数据不一定能接收得到。 2. InetAddress表示I 阅读全文
posted @ 2017-04-11 09:45 涣涣虚心 阅读(129) 评论(0) 推荐(0)
摘要:1. 浅复制: 被复制对象的所有变量都与原来对象相同的值,而所有的对其他对象的引用仍然指向原来的对象,换言之,浅复制紧紧复制所考虑的对象,而 不复制他所引用的对象 。 2. 深复制: 被复制对象的所有变量都与原来对象相同的值,除去那些引用其他对象的变量。 那些引用其他对象的变量将指向被复制过的新对象 阅读全文
posted @ 2017-04-10 22:33 涣涣虚心 阅读(161) 评论(0) 推荐(0)
摘要:1. 死锁(deadlock):两个线程都在等待彼此先完成。多个线程共享同一个资源的时候需要进行同步,以保证资源操作的完整性;但是过多的同步就可能产生死锁。 tips: 使用一种名为资源排序的简单技术可以避免死锁,即给每个需要锁的对象指定一个顺序,确保每个线程都按这个顺序来获取锁。 2. wait( 阅读全文
posted @ 2017-04-10 22:30 涣涣虚心 阅读(351) 评论(0) 推荐(0)
摘要:1. 停止线程的方式: 不能使用Thread类的stop方法来终止线程的执行,一般要设定一个变量,在run方法中是一个循环,循环每次检查该变量,如果满足条件则继续执行,否则跳出循环,线程结束。 2. 不能依靠线程的优先级来决定线程的执行顺序 。 通过实现Runnable接口的多线程类,该类的属性会被 阅读全文
posted @ 2017-04-10 22:28 涣涣虚心 阅读(175) 评论(0) 推荐(0)
摘要:1. 线程的生命周期: 一个线程从创建到消亡的过程。 2. 四种状态: 创建状态 可运行状态(就绪状态) 运行状态 不可运行状态(堵塞状态) 消亡状态 3. 线程状态转换图: 4. 创建状态: 当使用new创建一个新的线程对象时,处于创建状态。 处于创建状态的线程只是 一个空的线程对象,系统不为它分 阅读全文
posted @ 2017-04-10 22:25 涣涣虚心 阅读(154) 评论(0) 推荐(0)
摘要:1. Thread类也实现了Runnable接口 ,因此实现了Runnable接口中的run方法。 2. 当生成一个线程对象时,如果没有为其设定名字,那么线程对象的名字将使用如下形式:Thread-number,该number将是自动增加的,并被所有的Thread对象所共享( 因为是static的成 阅读全文
posted @ 2017-04-10 22:21 涣涣虚心 阅读(156) 评论(0) 推荐(0)
摘要:1. 什么是线程: 程序中单独顺序的流控制,线程本身不能运行,只能用于程序中。 2. 多线程: 单个程序中可以同时运行多个不同的线程执行不同的任务。 3. 多线程编程的目的: 最大限度的利用CPU资源。 5. java中如果我们自己没用产生线程,那么系统就会给我们产生一个线程(主线程,main方法救 阅读全文
posted @ 2017-04-10 22:17 涣涣虚心 阅读(168) 评论(0) 推荐(0)
摘要:1. RandomAccessFile 实现了DataOutput, DataInput接口。 所以它可以writeByte(), writeInt()…. 同时也可以readByte(), readInt()。 有seek( )方法来访问文件,可以从文件的任意位置读写文件,这个seek可以看做文件 阅读全文
posted @ 2017-04-10 22:13 涣涣虚心 阅读(314) 评论(0) 推荐(0)
摘要:1. 装饰模式:包装模式 以对 客户端透明的方式扩展 对象的功能,是 继承关系的一个替代方案 。 对客户透明的方式动态的给一个对象附加上更多的责任,换言之, 客户端不会觉得对象在装饰前喝装饰后有什么区别 。 可以在 不创造更多子类的情况下将对象的功能加以扩展 。 把客户端的调用委派到被装饰类。这种 阅读全文
posted @ 2017-04-10 22:01 涣涣虚心 阅读(110) 评论(0) 推荐(0)
摘要:1. Java io中最重要的就是5个类和1个接口: 5个类:File、OutputStream、InputStream、Writer、Reader 1个接口:Serializable 2. File类是针对文件本身的操作,如果要对文件内容进行操作,需要使用 RandonAccessFile 类,此 阅读全文
posted @ 2017-04-10 21:51 涣涣虚心 阅读(134) 评论(0) 推荐(0)
摘要:内部类(Inner Class),共分为4种。 1. 静态内部类(static inner class): 只能访问外部类的 静态成员变量和静态方法,生成静态内部类对象的方式为: OuterClass.InnerClass inner = new OuterClass.InnerClass() 2. 阅读全文
posted @ 2017-04-10 21:43 涣涣虚心 阅读(100) 评论(0) 推荐(0)
摘要:1. 概念: 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己。 2. 观察者模式的组成: 抽象主题角色: 把所有对 观察者对象的引用保存在一个 集合中,每个抽象主题角色都可以有 任意数量的观察者。抽象主 阅读全文
posted @ 2017-04-10 21:23 涣涣虚心 阅读(119) 评论(0) 推荐(0)