0%

以太网数据是以广播方式发送的,意即局域网内的每台主机都在监听网内传输的数据。以太网硬件将监听到的数据帧所包含的MAC地址与自己的MAC地址比较,如果相同,则接受该帧,否则忽略它,这个是以太网的过滤规则。但是,如果把以太网的硬件设置为“混杂模式”,那么它就可以接收网内的所有数据帧。

WinPcap相当于是一个库为抓包工具提供相关的支持。嗅探器就是依据这种原理来监测网络中流动着的数据。
————————————————
Link:https://blog.csdn.net/u013710265/java/article/details/72233557

TCP 与 UDP 的区别
区别点 TCP UDP
连接性 面向连接 无连接
可靠性 可靠 不可靠
有序性 有序 无序
面向 字节流 报文(保留报文的边界)
有界性 有界 无界
流量控制 有(滑动窗口)
拥塞控制 有(慢开始、拥塞避免、快重传、快恢复)
传输速度
量级 重量级 轻量级
双工性 全双工 一对一、一对多、多对一、多对多
头部 大(20-60 字节) 小(8 字节)
应用 文件传输、邮件传输、浏览器等 即时通讯、视频通话等

  1. http1.1 默认使用长连接,可有效减少TCP三次握手的开销
  2. http1.1 支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401。客户端接收到100才开始把请求body发送给服务器,这样当服务器返回401的时候,客户端就不用发送body了,节约了贷款。
  3. http1.1 支持文件断点续传,即支持传送内容的一部分,这样当客户端有一部分资源后,只需要跟服务器请求另外部分的资源即可。
  4. http1.1 有host域,而http1.0没有
  5. http2.0 使用多路复用技术(Multiplexing),允许同时通过单一的http2.0连接发起多重的请求-响应消息。http1.1 在同一时间对于同一个域名的请求数量有限制,超过限制后会阻塞请求。多路复用底层采用【增加二进制分帧层(将所有传输信息分割为更小的帧,用二进制编码,多个请求在同一个TCP连接上完成,可以承载任意数量的双向数据流)】方法,提高了传输性能,降低延迟。
Read more »

ServiceLoader整理

主要的使用场景是和第三方库解耦,解依赖。比如模块化的时候。比如接触第三方库依赖的时候。

使用
步骤如下:

定义接口
定义接口的实现
创建resources/META-INF/services目录
在上一步创建的目录下创建一个以接口名(类的全名) 命名的文件, 文件的内容是实现类的类名 (类的全名), 如:
在services目录下创建的文件是com.stone.imageloader.ImageLoader 文件中的内容为ImageLoader接口的实现类, 可能是com.stone.imageloader.impl.FrescoImageLoader
使用ServiceLoader查找接口的实现.

Read more »

#####【LeetCode暑期刷题打卡2019—Week2 链表专题】
LeetCode 19. Remove Nth Node From End of List 2:30
LeetCode 237. Delete Node in a Linked List 14:30
LeetCode 83. Remove Duplicates from Sorted List 22:08
LeetCode 61. Rotate List 32:00
LeetCode 24. Swap Nodes in Pairs 44:30
LeetCode 206. Reverse Linked List 53:10
LeetCode 92. Reverse Linked List II 64:00
LeetCode 160. Intersection of Two Linked Lists 77:08
LeetCode 142. Linked List Cycle II 88:15
LeetCode 148. Sort List 101:05

  1. Java中的泛型是什么 ? 使用泛型的好处是什么?

这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人 都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便。泛型防止了那种情况的发生。它提供了编译期的类型安全,确保你只能把正确类型的对象放入 集合中,避免了在运行时出现ClassCastException。

Read more »

  1. 数据结构与算法
  2. 计算机基础
    1.1 数据结构
    1.2 操作系统
    1.3 计算机网络
  3. Java基础
  4. Java虚拟机
  5. Android基础
  6. 设计模式
  7. HR面试