数据链路层
【网络协议 5】数据链路层✅ 数据链路层主要有三个目的: 为IP模块发送和接受IP数据报; 为ARP模块发送ARP请求和接受ARP应答; 为RARP发送RARP请求和RARP应答。 这里的ARP协议主要用来将32bit的IP地址解析为对应48bit(以太网中)的MAC地址(硬件地址)。而RARP协议则是将硬件地址解析为IP地址,这两个协议位于网络层,和IP数据报一样,都...
【网络协议 5】数据链路层✅ 数据链路层主要有三个目的: 为IP模块发送和接受IP数据报; 为ARP模块发送ARP请求和接受ARP应答; 为RARP发送RARP请求和RARP应答。 这里的ARP协议主要用来将32bit的IP地址解析为对应48bit(以太网中)的MAC地址(硬件地址)。而RARP协议则是将硬件地址解析为IP地址,这两个协议位于网络层,和IP数据报一样,都...
【网络协议 4】TCP连接的建立和释放✅ TCP首部格式 先看TCP报文段的格式,如下; TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项。因此TCP报文段的最小长度为20个字节。 首部固定部分的各字段的意义如下: 1、源端口和目的端口:加上IP首部的源IP地址和目的IP地址,确定唯一的一个TCP连接。另外通过目的端口来决定TCP将数据报交付于那个应...
作者: 阮一峰 日期: 2012年5月31日 我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为”互联网协议”(Internet Protocol Suite)。它们对电脑如何连接和组网,...
HTTP 规定在 HTTP 客户端与 HTTP 服务器之间的每次交互,都由一个 ASCII 码串构成的请求和一个类 MIME1 的相应组成(MIME-like)。HTTP 报文通常都是用 TCP 连接。 从层次的角度看,HTTP 是面向事务的应用层协议。所谓事务,就是指一系列的信息交换,而这一系列的信息交换是一个不可分割的整体,即要么所有信息交换都完成,要么一次交换都不进行。 HTTP ...
线程池 创建和销毁对象是很费时间的,所以有 创建统一的一个线程池。 通俗理解就是有一个池子,里面存放着已经创建好的线程,当有任务提交给线程池执行时,池子中的某个线程会主动执行该任务。如果池子中的线程数量不够应付数量众多的任务时,则需要自动扩充新的线程到池子中,但是该数量时有限的,就好比池塘的水界线一样。当任务比较少的时候,池子中的线程能够自动回收,释放资源。为了能够异步地提交任务和缓存未...
ch6 共享模型之无锁 CAS 与 Volatile 引入的例子 用的 AtomicInteger 的解决方法,内部并没有用锁来保护共享变量的线程安全。 那么它是如何实现的呢? public void withdraw(Integer amount) { while (true) { while (true) { ...
所谓的“线程八锁”,其实就是看 synchronized 锁住的是哪个对象 情况1:12 或 21都是有可能的,就看cpu先调度哪个线程 @Slf4j(topic = "c.Number") class Number{ public synchronized void a() { log.debug("1"); } public synchroni...
5 共享模型之内存 共享变量在多线程间的“可见性”问题; 多条指令执行时的“有序性”问题。 Java 内存模型 JMM 即 Java Memory Model,它定义了主存,工作内存抽象概念,底层对应着 CPU寄存器、缓存、硬件内存、CPU 指令优化等。 JMM 体现在以下几个方面 原子性 - 保证指令不会受到线程上下文切换的影响; 可见性 - 保证指令不会受...
monitor lock 1 preview 并发之共享模型——管程-悲观锁(阻塞) 共享问题 synchronized 关键字,解决多线程中的并发问题 线程安全分析,知道怎么样的代码编写是线程安全的,哪些有隐患 Monitor,原理分析,管程的底层实现 重要组成部分 wait/notify 也是线程通信的基础 线程状态转换,补充上一章的内容:线程状态 活...
1 创建和运行线程 每个 Java 程序一启动的时候,实际上就有一个线程在运行即主方法线程,默认就有一个主线程在运行了,如果想要在主线程之外再创建线程可以有如下方法。 创建和启动分两步走。 这里有三种方法 继承 Thread 类并重写 run() 方法; 实现 Runnable 接口的 run() 方法; 使用 FutureTask 的方式。 本质上来说只有1种方式:...