摘要:
三、删除 1、介绍 红黑树的删除类似于排序二叉树,排序二叉树主要分为三种情况: (1)删除没有左孩子且没有右孩子的结点。即:度为0。 (2)删除只有左(右)孩子的结点。即:度为1。 (3)删除有左孩子且有右孩子的结点。即:度为2。 由于红黑树还有颜色的区分,所以在上述三种情况的基础上加上颜色,就是六 阅读全文
摘要:
一、概述 1、介绍 红黑树是一种自平衡的排序二叉树,常用于关联数组、字典,在各种语言的底层实现中被广泛应用,Java 的 TreeMap 和 TreeSet 就是基于红黑树实现的,在 JDK 8 的HashMap中也有应用。 红黑树是在排序二叉树的基础上定义的,且还要满足以下性质(重要):(请务必先 阅读全文
摘要:
一、概述 1、介绍 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就 阅读全文
摘要:
一、枚举 1、介绍 枚举类:类的对象只有有限个,确定的。当需要定义一组常量时,强烈建议使用枚举类。如果枚举类中只有一个对象,则可以作为单例模式的实现。 使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类。 2、枚举的实现 代码示例:方式一,JDK 5.0 之 阅读全文
摘要:
一、概述 1、介绍 Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。 网络编程的目的:直接或间接的通过网络协议与其它计算机实现数据交换,进行通讯。 阅读全文
摘要:
1 阅读全文
摘要:
1 阅读全文
摘要:
一、概述 1、介绍 代理模式(Proxy):为一个对象提供一个代理,以控制对这个对象的访问,即通过代理对象访问目标对象。这样做的好处是,可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。 代理模式有不同的形式,主 阅读全文
摘要:
一、引子 1、克隆人的问题 问题:有一个人叫张三,姓名:张三,年龄:18,身高:178。如何创建和张三属性完全相同的10个人呢? 代码示例: 1 public class Main { 2 3 public static void main(String[] args) { 4 Person p0 阅读全文
摘要:
一、其他 1、System.in、System.out(标准输入、输出流) System.in:标准的输入流,默认从键盘输入。 System.out:标准的输出流,默认从控制台输出。 改变标准输入输出(System下的静态方法)。 void setIn(InputStream in):重新分配"标准 阅读全文