RIP Learning

0 Overview

RIP, Router Information Protocol, 是一种根据跳数(hop count,既需要经过多少个中间设备才能够到达目标设备)来进行路由度量(routing metrix)从而在发送方和接收方之间决定最佳路径(best path)的动态路由协议。

阅读更多
UDP Learning

Overview

UDP, User Datagram Protocol,是一种不可靠的、无连接的协议,相比于TCP中的 建立连接/数据传输/释放连接 的三个步骤,在 UDP 中不需要如此麻烦的连接建立来传输数据,而是直接传输,同时 UDP 也没有复杂的报文段首部和控制位,而是仅仅简单的加上了源端口和目标端口和其他一些东西以供数据传输。

阅读更多
TCP Segment

0 Overview

TCP数据段主要有以下的几个特点:

阅读更多
Fail-Fast Iterator in Java

前言

快速失败(Fail-Fast)机制是一种在多线程写入或更新情况下的应对机制,能够在不处理后续操作的情况下先行抛出异常以便后续的处理。为什么会突然来学习快速失败机制呢,主要是在看 ArrayList 的源码的时候看到其有一个成员变量:protected transient int modCount = 0,好奇这个变量是做什么用的,查看了它的调用方法发现其是用于在检查多线程和迭代器写入,于是就去查阅文档和资料。

阅读更多
Cpp Operator Overloading

1 概述

C++Java 最不同的地方在我看来可能就是操作符重载了,Java 对于自定义类的加减法操作可能需要通过使用自定义的 add()sub() 方法来实现,而在 C++ 中,可以通过简单的操作符重载来赋予相同的符号以不同的意义(操作符重载也是一种函数重载)。这是 C++ 这个语言给予开发者的一个极大的权利与特性,让开发者能够根据自己的设想来实现不同的操作符,但是其也有一定的坏处,是否能够很好地使用这种特性考验的还是开发者的水平。

阅读更多
TCP/IP Model

概述

OSI 模型只是一个参考/逻辑模型。它旨在通过将通信过程划分为更小和更简单的组件来描述通信系统的功能。但是当我们谈到 TCP/IP 模型时,它是由美国国防部 (DoD) 在 1960 年代设计和开发的,并且基于标准协议。它代表传输控制协议/互联网协议。TCP/IP模型仅仅包括四层:

  1. Application Layer(应用层)
  2. Transport Layer(传输层)
  3. Internet Layer(网络层)
  4. Network Access Layer(网络接入层)
阅读更多
Design Pattern (4)

5 中介者模式 Mediator Pattern

5.1 概述

网状结构的软件系统:多对多联系将导致系统非常复杂,1几乎每个对象都需要与其他对象发生相互作用,而这种相互作用表现为一个对象与另一个对象的直接耦合,这将导致一个过度耦合的系统。

阅读更多
Database Management Review (4)

27 并发控制

事务并发执行带来的问题:

  1. 会产生多个事务同时存取同一数据的情况
  2. 可能会存取和存储不正确的数据,破坏事务隔离性和数据库的一致性
阅读更多
Cpp Review

记载学习cpp的过程中一些比较容易遗忘和比较特殊的点(相比Java)

Const in Cpp

const int* p1; // 不能改变指针指向的地址的值
int* const p2; // 不能改变指针指向的地址
class Entity {
private:
int m_x, m_y;
public:
// const代表该函数不会改变任何类的成员变量
int GetX() const
{
return m_x;
}
}
阅读更多
Cpp STL Learning

1 STL简介

img

阅读更多