算法复杂度基础 算法复杂度是用来描述算法的执行的增长率与执行时间,本质上是数学中的极限,当f(n)中的n趋于无穷大时,只有高阶因子对函数有影响 基本规则 常数cO(c)=O(...
算法复杂度基础 算法复杂度是用来描述算法的执行的增长率与执行时间,本质上是数学中的极限,当f(n)中的n趋于无穷大时,只有高阶因子对函数有影响 基本规则 常数cO(c)=O(...
这个类表示一个属性集,继承于HashTable,内部是String键值对。可在流中加载或保存。字符输入/输出流用的是默认字符集或者指定(用OutputStreamWriter...
获取环境变量 调用System.getenv(),返回一个Map ,里面便是系统环境变量了(PATH,JAVA_HOME...) 获取系统属性 调用System.getPro...
What 保证一个类只有一个实例,并提供它的全局唯一访问点。 保证一个Class只有一个实体对象存在。具体可以有很多种,只有保证全局唯一就可以 初始化就创建 lazy loa...
What 提供创建对象的接口 将创建工作转移到工厂中。假设有一个接口Shape,这个接口又有很多实现类Circle,Square。。。如果要获取一个Shape可能会 工厂模式...
序列化是把对象转换成存储或传输格式的过程。反序列化就是从文件或输入流获取对象。 Serializable接口 JAVA中只有实现了Serializable接口的类才可以实例化...
概念 在运行期间动态的创建接口的实现。通过生成的代理类,可以完成对接口的实现。 关键类和接口 处理接口方法的接口 InvocationHandler代理生成类 Proxy 典...
What @XXX注解是代码的注释,声明这个类,这个方法,这个字段是什么,需要干什么,是干什么的。本身不会做什么事情。解释过程可以指定编译器处理,或者运行期通过反射来处理。例...
理解: 在运行期,获取类的信息,包括构造方法,字段,名字等类信息。共同点: get.xxxs 获取公开的xxx数组getDeclaredxxxs 获取所有的xxx数组(包括...
I/O事件驱动模型。类似与AWT的Event处理,当点击某个键时才会触发我们的回掉函数。1.Reactor负责相应I/O事件,一旦发送,交给相应的handler去处理。2.h...
典型代码 核心点 Selector定义了用于多路复用的、非阻塞 I/O 操作的选择器。一个Selector监听一组Channel的I/O状态变化,实现了一个线程处理多个Soc...
关键概念 Buffer 概念:装基本数据类型的容器。内部基于线性数组。子类:ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer...
Um 造了个轮子,InputStreamReader 也是这样实现的。。。读取文件应用了NIO的一些类。。。主要时对ByteBuffer的一些操作 要点 1.CharsetD...
概念:应用程序的通信链路。 当客户端要与服务端通信,客户端首先要创建一个 Socket 实例,操作系统将为这个 Socket 实例分配一个没有被使用的本地端口号,并创建一个包...
File读写 字节流读写 1.直接通过FileInputStream, FileOutputStream缺点:效率低下,每次都需要底层的系统访问。关键代码 2.包装到Buff...
分类: 基于传输的格式: 1.字节流: InputStream OutputStream2.字符流:Writer Reader 基于传输的方式 1.File2.Socket...
Java实现对List去重 思路,通过Set不重复元素的特点,新建一个Set,如下 Java实现对List去重,并保留元素的出现顺序 通过LinkedHashSet,保留元素...
What 提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 Why 为容器而生,解决容器的遍历问题。它将对集合进行遍历的功能封装成...
对Array的排序 同过Arrays的sort方法。 基本类型的排序 调用Arrays.sort(基本类型数组); 比如Arrays.sort(int [])排序后,原数组内...
List常用遍历 已创建List l1.基础遍历,通过get(index)方法 2.通过Iterator接口 3.for语法糖,底层通过迭代器实现的 4.java8新增的f...