链表 链表的分类单向链表 Head → [A|→] → [B|→] → [C|→] → null 双向链表 Head ⇄ [A|⇄] ⇄ [B|⇄] ⇄ [C|⇄] ⇄ Tail 循环链表 分为单向和双向 Head → [A|→] → [B|→] → [C|→] → Head 跳跃链表 https://zhuanlan.zhihu.com/p/634954147 根据节点数量将链表分为多级,每个节 2022-02-01 02数据结构及算法
01-计算机网络 概述ISP 互联网服务提供商ISP(Internet Service Provider)可以从互联网管理机构获得许多IP地址,同时拥有通信线路和路由器等联网设备,个人或者机构向ISP缴纳一定的费用就可以接入互联网. 目前的互联网是一种多层次的ISP结构,ISP根据覆盖面积的大小分为第一层ISP,区域ISP和接入ISP.互联网交换点IXP允许两个ISP不经过第三个ISP直接项链. 主机 2022-02-01 03网络
02-传输层应用层 传输层UDP UDP是无连接的传输层协议; UDP使用尽最大努力交付,不保证可靠交付; UDP是面向报文的,对应用层交下来的报文,不合并,不拆分,保留原报文的边界; UDP没有拥塞控制,因此即使网络出现拥塞也不会降低发送速率; UDP支持一对一 一对多 多对多的交互通信; UDP的首部开销小,只有8字节 TCP 是一个可以提供可靠的,支持全双工、连接导向的协议 报文拆分 ->增加TCP 2022-02-01 03网络
IO 网络IOBIO 同步阻塞IO 每连接一线程:每个客户端连接需要一个独立的线程处理,线程的创建和销毁开销较大。 应用进程被阻塞,直到数据从内核缓冲区复制到应用进程缓冲区中才返回。在阻塞的过程中,其它应用进程还可以执行,因此阻塞不意味着整个操作系统都被阻塞。因为其它应用进程还可以执行,所以不消耗 CPU 时间,这种模型的 CPU 利用率会比较高。 NIO 同步非阻塞模型 单线程处理多连接:基于Sel 2022-02-01 04Java
1垃圾收集器和内存分配策略 垃圾收集器与内存分配策略对象存活的条件 对象的存活条件取决于其是否被可达性分析(Reachability Analysis)判定为“可达” JVM通过GC Roots作为起点,遍历对象引用链。若某个对象能被GC Roots直接或间接引用,则视为存活;否则,将被标记为可回收。 引用的概念 如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。引用不 2022-02-01 04Java > JVM
2Java内存区域 Java内存区域运行时数据区域 程序计数器 当前线程所执行的字节码的行号指示器。如果执行的是本地方法,计数器为空。每条线程都需要一个独立的程序计数器 唯一一个没有规定任何OutOfMemoryError情况的区域 为0时,可能在执行本地方法。 Java虚拟机栈 Java方法执行的内存模型:每个方法在执行的同时,都会创建一个栈帧(Stack Frame:方法运行时的基础数据结构)用于存 2022-02-01 04Java > JVM
4JVM调优 JVM常用参数hotSpot参数分类 标准的:- 开头,所有的hotSpot都支持 非标准的:- X 开头,特定版本hotSpot支持特定命令 不稳定:- XX开头,下个版本可能取消 常用参数 -Xmn -Xms -Xmx -Xss年轻代 最小堆 最大堆 栈空间 -XX:+UseTLAB使用TLAB,默认打开 -XX:+PrintTLAB打印TLAB的使用情况 -XX:TLABSize设置 2022-02-01 04Java > JVM
4虚拟机类加载机制 虚拟机类加载机制 1.8中的扩展类加载器在1.9中改为平台类加载器 类的加载、连接、初始化都是在程序运行期间完成的 类加载的生命周期 详解 loading(按需动态加载,双亲委派机制) 自底向上检查该类是否已经加载parent方向 linking Verfication 验证文件是否符合jjvm规定 Preparation 静态变量赋默认值 Resolution 将类、方法、属 2022-02-01 04Java > JVM
01Java基础 java基础面向对象和面向过程 程序和过程分别作为独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种思维方式站在计算机的角度去抽象问题和解决问题, 面向过程编程 站在显式的角度去抽象问题和解决问题,把数据和行为都看到是对象的一部分 Object通用方法1234567891011public native int hashCode()public boolean equa 2022-02-01 04Java > java基础
02Java集合 容器fail-fast&fail-safefail-fast fail-fast 机制,即快速失败机制,是java集合(Collection)中的一种错误检测机制。当在迭代集合的过程中该集合在结构上发生改变的时候,就有可能会发生fail-fast,即抛出 ConcurrentModificationException异常。fail-fast机制并不保证在不同步的修改下一定会抛出异常,它只是 2022-02-01 04Java > java基础