博弈论 第1节 导论——五个入门结论
TFTP简单文本传输协议的基本原理
TFTP简单文本传输协议的介绍
随着互联网发展,文件传输效率越来越快,相应的传输协议也越来越复杂。早年有很多文件传输协议如今已经很少再用,所谓老兵不死,只是慢慢凋零。这些协议尽管现在使用不多,但它们的设计思想依然值得我们好好研究和掌握。
例如 FTP 以及它的 UDP 版本 TFTP,它们实现文件传输的协议设计思想依然非常值得研究,它对我们设计新协议依然很有启发性。本节开始,我们研究 TFTP 协议的原理以及相关代码实现。
TFTP 原名叫Trivial File Transport Protocol
.对互联网早期存有记忆的同学对 FTP 协议一定非常了解,当时局域网乃至整个网络上很多大文件,例如电影的传输依靠的就是该协议。FTP 协议运行在 TCP 协议之上,它的内容很复杂,除了文件传输外,它还支持很多文件相关操作,例如远程实现文件建立,删除等。TFTP 是 FTP 协议的简化版,它运行在 UDP 协议上,同时简化了很多 FTP 操作,只支持文件的传输功能。
DNS协议原理实现
DNS(域名解析协议)基本原理介绍
我们这章开始研究和实现一个体系较为复杂的协议,也就是域名解析协议,简写为DNS。该协议几乎也是我们”日用而不知”的幕后英雄,没有它肯定就没有现在的互联网繁荣。
当我们在浏览器上输入网址,例如www.baidu.com
时,浏览器先通过DNS协议找到与该网址对应的IP地址,然后再使用IP去向服务器获取网页信息。也就是说互联网上的设备其实有两种辨认方法,一种是IP,一种是域名。就如同人的身份证,人有名字,同时也有几十位数字组成的身份证号。
人与人相互识别时,使用的都是名字,几乎没有人使用身份证号来识别他人的,即使身份证号相对于名字而言更加唯一和准确。说到底是因为人对数字识别很费劲,而记住名字很容易。
Linux服务器配置
实验内容介绍
Linux 操作系统在服务器领域具有广泛的应用。Web 服务是服务器领域中应用最广泛的服务,常见 Web 服务有 WAMP(Windows+Apache+MySQL+PHP)
和 LAMP(Linux+Apache+MySQL+PHP)
架构,其中 Apache 是全世界最流行的 Web 服务软件,此外,Web 服务软件 nginx,因其具有优秀的性能也受到越来越多的用户欢迎。本实验中,演示在 Linux 环境下搭建支持 PHP 等网页的 Web 服务平台,即LAMP。
Linux 环境下搭建 Web 服务器有三种方式,一是在安装操作系统时勾选相应服务组件;二是从网上下载或从 ISO 系统镜像包中拷贝安装包手动安装;三是在在连接网络的的情况下在线安装。
本实验演示以 kali 64 位操作系统为例。因 kali 系统已经自带 Apache、MySQL 和 PHP,为了解安装流程,请先卸载系统自带软件。
Java虚拟机知识总结(二)
三、GC算法和收集器
本文参考:
Oracle Java JVM Standard Options:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
HotSpot Glossary of Terms:http://openjdk.java.net/groups/hotspot/docs/HotSpotGlossary.html
周志明《深入理解Java虚拟机》第二版
如何判断对象可以被回收
堆中几乎放着所有的对象实例,对堆垃圾回收前的第一步就是要判断哪些对象已经死亡(即不能再被任何途径使用的对象)
引用计数法
给对象添加一个引用计数器,每当有一个地方引用,计数器就加1。当引用失效,计数器就减1。任何时候计数器为0的对象就是不可能再被使用的。
这个方法实现简单,效率高,但是目前主流的虚拟机中没有选择这个算法来管理内存,最主要的原因是它很难解决对象之前相互循环引用的问题。所谓对象之间的相互引用问题,通过下面代码所示:除了对象a和b相互引用着对方之外,这两个对象之间再无任何引用。但是它们因为互相引用对方,导致它们的引用计数器都不为0,于是引用计数器法无法通知GC回收器回收它们。
Java虚拟机知识总结(一)
DHCP 主机动态配置协议详解
一、DHCP介绍
1. 简要介绍
DHCP 协议在我们日常生活中应该是最常见而又经常被忽略的一种协议了。当你走进一间屋子,手机自动连上了 WiFi,当你离开了屋子,又自动断开了 WiFi…… 这一系列的幕后都是DHCP协议在默默工作。
DHCP 协议(Dynamic Host Configuration Protocol)是一个基于UDP协议的局域网的网络协议。指的是由服务器控制一段 IP 地址范围,客户机登录服务器时就可以自动获得服务器分配的 IP 地址和子网掩码。
该协议的最大作用是动态的为加入网络的设备分配 IP 地址,在该协议出现前,IP 地址的分配基于静态模式,你把设备的 mac 地址手动在路由器设置,然后路由器自动生成一个 IP 与你的 mac 地址绑定起来。这种应用在有线网络时代可以适用,但在无线时代,每时每刻可能有不同的设备加入或离开网络,因此原有静态匹配 IP 的做法不再适合。
DHCP 协议的诞生就是为了迎合在无线情况下,网络内部连接设备不断变化的情况。它包含两部分,一是分配 IP 地址,二是支持客户端请求,服务器应答,使得两者之间有效交换配置信息。
DHCP 最重要功能显然是动态分配 IP 地址,当我们的设备连接上网络之后里面获得一个可用的 IP 地址,就得感谢该协议的执行,现在我们大多数设备都依靠 DHCP 来从路由器动态获得 IP