摘要: 关于 I/O 的类可以分为四种: 在本篇博客中主要讲述前两种 I/O,即字符流与字节流,并会提及磁盘IO。首先我们来看一下字节流与字符流的实现关系,如下图 一、字节流 在字节流的类中,最顶层的是 Inputstream 抽象类和 OutputStream 抽象类,两者定义了一些关于字节数据读写的基本 阅读全文
posted @ 2017-09-03 11:12 TengYunhao 阅读(4199) 评论(0) 推荐(0) 编辑
摘要: java.util.concurrent 包是在 Java5 时加入的,与 concurrent 的相关的有 JMM及 AbstractQueuedSynchronizer (AQS),两者是实现 concurrent 的基础,下面我们来看一下 1 JMM JMM 是 Java Memory Mod 阅读全文
posted @ 2017-09-02 14:22 TengYunhao 阅读(1153) 评论(0) 推荐(0) 编辑
摘要: 一、Collection Collection 接口定义了一些基本的方法: int size(); boolean isEmpty(); boolean add(E e); boolean addAll(Collection<? extend E> c); boolean remove(Object 阅读全文
posted @ 2017-08-30 16:31 TengYunhao 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: JVM内存中的各个区域都会回收吗? 首先我们知道 Java 栈和本地方法栈在方法执行完成后对应的栈帧就立刻出栈销毁,两者的回收率可以认为是100%;Java 堆中的对象在没有被引用后,即使用完成后会被回收;方法区中的数据一般不会回收,只有在同时满足:所有实例被回收、加载该类的类加载器被回收、Clas 阅读全文
posted @ 2017-08-24 15:17 TengYunhao 阅读(676) 评论(0) 推荐(1) 编辑
摘要: 一、类加载器 ClassLoader 能根据需要将 class 文件加载到 JVM 中,它使用双亲委托模型,在加载类的时候会判断如果类未被自己加载过,就优先让父加载器加载。另外在使用 instanceof 关键字、equals()方法、isAssignableFrom()方法、isInstance( 阅读全文
posted @ 2017-08-17 20:52 TengYunhao 阅读(4730) 评论(0) 推荐(1) 编辑
摘要: 一、基本结构 类加载器:在 JVM 启动时或在类运行时需要将类的字节码信息加载到 JVM 内存区域中。 执行引擎:负责执行字节码信息中包含的字节码指令,相当于实际机器上的 CPU。 内存区域:也被称为运行时数据区。将内存划分为多个区域,模拟实际机器上的储存、记录和调度功能模块。因为执行引擎在执行一段 阅读全文
posted @ 2017-08-16 01:34 TengYunhao 阅读(1463) 评论(1) 推荐(2) 编辑
摘要: 一、域名解析过程 1、浏览器检查缓存,域名缓存时间可以通过 TTL 属性来设置。 2、如果浏览器缓存中没有,浏览器会去查找操作系统缓存中是否有这个域名对应的 DNS 解析结果。如果要设置域名对应的 IP 地址,可以在Windows 中的配置文件 C:\Windows\System32\drivers 阅读全文
posted @ 2017-08-03 09:48 TengYunhao 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 请求过程: 1、用户在浏览器输入 www.sdjtu.edu.cn 这个URL。 2、浏览器请求 DNS 服务器将这个 URL 解析成对应的 IP 地址。 3、浏览器向 IP 地址对应的这个服务器发起一个get请求。 4、服务器返回数据资源。 一、HTTP解析 1、常见的http请求头 2、常见的h 阅读全文
posted @ 2017-08-03 09:45 TengYunhao 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 1、插入排序(Insertion Sort) 基本思路:将一个记录插入到已排序好的有序表中,从而得到一个新的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。 2、快速排序(Quick Sort) 基本思路:选取数列中一个数为基准,将数列分成 阅读全文
posted @ 2017-03-04 23:14 TengYunhao 阅读(402) 评论(0) 推荐(0) 编辑