摘要: 1、集合 1.1 List:可重复 1、ArrayList:基于数组实现,增删慢,查询快,线程不安全 ArrayList是使用最广泛的List实现类,提供了对List的增加(add)、删除(remove)、访问(get)功能。 ArrayList不需要在定义时指定数组长度,在数组长度不能满足存储要求 阅读全文
posted @ 2020-01-09 13:43 jet-software 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 图是由有穷非空集合的顶点和顶点之间的边组成的集合,通常表示为G(V,E),其中G表示一个图,V表示图G中的顶点的集合,E是图G中边的集合。 在线性结构中,每个元素都只有一个直接前驱和一个直接后继,主要用来表示一对一的数据结构。 在树形结构中,数据之间有着明显的父子关系,主要用来表示一对多的数据结构。 阅读全文
posted @ 2020-01-07 16:29 jet-software 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 7、哈夫曼树 7.1、哈夫曼树的概述 哈夫曼树,也称最优二叉树,它是n个带权叶子结点构成的所有二叉树中,带权路径长度最小的二叉树。 所谓树的带权路径长度,就是树中所有的叶节点的权值乘上其到根结点的路径长度。 权值越大的结点离根结点越近的二叉树才是最优二叉树。 树的带权路径路径长度(WPL)是从树根到 阅读全文
posted @ 2020-01-05 12:29 jet-software 阅读(1046) 评论(0) 推荐(0) 编辑
摘要: 1、栈 栈又名堆栈,是允许在同一端进行插入和删除操作的特殊线性表。其中,允许进行插入和删除操作的一端叫做栈顶(Top),另一端叫做栈底,栈底固定,栈顶浮动。 栈是后进先出的线性表,数据结构如下: 实现一个栈,需要实现以下核心方法: (1)push():向栈中压入一个数据,先入栈的数据放在最下面。 ( 阅读全文
posted @ 2020-01-04 18:30 jet-software 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Java 语言的编译期大致可以分为三种: 前端编译器,把.java 文件编译成class 文件—— .java -> .class 后端运行期编译器 JIT 编译器(即时编译器),把字节码转变为机器码的过程—— .class -> 机器码 静态提前编译器 AOT ,直接把 .java 文件编译成机器 阅读全文
posted @ 2020-01-03 22:51 jet-software 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 1、JVM运行机制 Java虚拟机包括一个类加载器子系统、运行时数据区、执行引擎和本地接口库。本地接口库通过调用本地方法库与操作系统交互。如图: 类加载器子系统用于将编译好的.Class文件加载到JVM中。 运行时数据区用于存储在JVM运行过程中产生的数据,运行时数据区包括程序计数器、方法区、本地方 阅读全文
posted @ 2020-01-02 22:33 jet-software 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 七、观察者模式 观察者模式是指被观察者的状态发生改变时,系统基于事件驱动理论将其状态通知到订阅其状态的观察者对象中,以完成状态的修改和事件传播。 在观察者模式中,观察者和被观察者是抽象耦合的,两者之间建立了一套事件触发机制,以降低二者的耦合度。 观察者模式具体UML: (1)定义抽象主题Subjec 阅读全文
posted @ 2019-12-31 21:57 jet-software 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 一、责任链模式 用于避免请求发送者与多个请求处理者耦合在一起,让所有请求的处理者持有下一个对象的引用,从而将请求串联成一条链,在有请求发生时,可将请求沿着这条链传递,直到遇到该对象的处理器。 通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者, 阅读全文
posted @ 2019-12-30 22:33 jet-software 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 一、适配器模式 适配器模式通过定义一个适配器类作为两个不兼容的接口之间的桥梁,将一个类的接口转换成用户期望的另一个接口,使得两个或多个原本不兼容的接口可以基于适配器类一起工作。 适配器的实现主要分为三类:类适配器模式、对象适配器模式和接口适配器模式。 1、类适配器模式 在不改变原来接口或类结构的情况 阅读全文
posted @ 2019-12-30 11:06 jet-software 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1、工厂模式 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 通俗的讲,工厂模型的本质就是用工厂方法代替new操作创建一种实例化对象的方式,以提供一种方便地创建有同种类型接口的产品的复杂对象。 以创建手机为例: (1)定义接口: public 阅读全文
posted @ 2019-12-29 12:42 jet-software 阅读(182) 评论(0) 推荐(0) 编辑