摘要: 经典问题:换零钱方式的统计 问题介绍 现在有若干不同面额的零钱,供顾客来换。零钱种类有 0.5美元,0.25美元,10美分,5美分和1美分五种(这里也可以自定义,程序改动的地方也很简单)。 计算当顾客用a元换零钱时,共有多少种兑换方法? 解法描述(这里照搬sicp中的内容) 将总数为a的现金换成n种 阅读全文
posted @ 2017-01-30 12:54 JintaoXIAO 阅读(652) 评论(0) 推荐(0) 编辑
摘要: `public class Proxy extends Object implements Serializable` Proxy类提供了用于创建动态代理类和实例的静态方法,它同时也是这些方法所创建的实例的超类。 要创建某个接口Foo的代理: 一个动态代理类(下面简称为代理类)是这样一个类:它在创建 阅读全文
posted @ 2017-03-14 18:00 JintaoXIAO 阅读(287) 评论(0) 推荐(0) 编辑
摘要: "查看原文" 本文覆盖的是一个java的内建概念,叫做终结器(Finalizers)。这个概念既很好的隐藏了,又广为人知,这取决于你是否费时间来好好的看看java.lang.Object类。在Object中,有一个方法finalize()。该方法的实现是空的,但是jvm内部行为的威力和危险,都通过这 阅读全文
posted @ 2017-03-14 13:15 JintaoXIAO 阅读(2244) 评论(0) 推荐(1) 编辑
摘要: Exploring RandomAccessFile 构造方法: 其中, 参数必须为 ,`"rw" "rws" "rwd"`其中之一。 :以只读方式打开 :读写方式打开 :当文件不存在的时候,会创建它。而且,每次内容的更新都是同步写入存储设备。 :与 类似,会同时将文件元数据写入 文件元数据是文件的 阅读全文
posted @ 2017-01-31 00:41 JintaoXIAO 阅读(189) 评论(0) 推荐(0) 编辑
摘要: Introducing Channels _channel_对象代表了一个开放连接到能够执行IO操作的硬件设备,如文件,网络流,应用组件。_channel_使用_buffer_作为一个传输数据载体。 Channel and Its Children 所有_channel_类都是 接口的实现类。它声明 阅读全文
posted @ 2017-01-31 00:40 JintaoXIAO 阅读(1171) 评论(0) 推荐(0) 编辑
摘要: Stream Classes Overview 输出流的继承类图: 输入流的继承类图: 和`StringBufferInputStream`由于不支持字符编码,已经废弃掉了。 也是不支持字符编码的,但由于大量应用,暂时还没有废弃。 Touring the Stream Classes OutputS 阅读全文
posted @ 2017-01-31 00:39 JintaoXIAO 阅读(429) 评论(0) 推荐(0) 编辑
摘要: Buffers Introducing Buffers _buffer_存储固定数量的数据,它是我们和I/O服务打交道的媒介对象,主要供_channel_读写使用。 具有四个属性: _Capacity_:该buffer能够存储的数据容量 _Limit_:buffer中可供读写的上边界 _Positi 阅读全文
posted @ 2017-01-31 00:36 JintaoXIAO 阅读(191) 评论(0) 推荐(0) 编辑
摘要: Constructing File Instances 当使用相对路径时,默认是相对于JVM的启动的当前用户目录来的,可以通过 的`getProperty("user.dir") File`的实例实际上是对文件或路径的抽象表示(并不保证它代表的路径时存在的)。 由于不同系统的文件系统目录不同,因此, 阅读全文
posted @ 2017-01-31 00:35 JintaoXIAO 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 介绍 策略模式似乎是所有设计模式中最简单的,然而它为你的代码提供了极大的灵活性。这个模式到处都用,而且还会连接其它模式使用。我们学过的其它模式都或多或少的与该模式有关。 要理解策略模式,我们会设计一个文本格式化器用于文本编辑器。我们会创建不同的文本格式化器,供文本编辑器对不同文本做相应的格式化。 什 阅读全文
posted @ 2017-01-31 00:31 JintaoXIAO 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 意图 为子系统中的一组接口提供一个一致的界面,_Facade_模式定义了一个高层接口,这个接口使得这一子系统更加易用。 动机 将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小。达到该目标的途径之一就是引入一个外观对象,它为子系统中较为一 阅读全文
posted @ 2017-01-31 00:31 JintaoXIAO 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 介绍 在面向对象编程中,对象之间相互交流共同完成工作。但有时候,创建一个重量级对象成本较高(如通过网络,I/O,数据库操作才能完成创建的对象),而你的应用还需要大量的这种对象(它们都包含几乎相似的属性),那么这就隐含着一个性能问题。 让我们考虑这样一个场景:一个应用需要某些访问控制。不同类型的用户具 阅读全文
posted @ 2017-01-31 00:30 JintaoXIAO 阅读(236) 评论(0) 推荐(0) 编辑