- 博客(4)
- 资源 (7)
- 收藏
- 关注
原创 从0到1用java再造tcpip协议栈:架构重建,完整实现ping应用
在原先代码设计中,我们为了方便,喜欢在一个模块中组织数据包的协议头,然后将要发送的数据融合在一起,并调用网卡将数据发送出去,这种偷懒的做法将多种逻辑融合在一起。这种做法一旦遇到复杂的数据发送需求时,系统逻辑的复杂性会呈现出爆炸性的增长,最后超出我们的控制范围。为了实现体系的层次化,将各种功能剥离成单独模块,实现系统的可理解性,我将体系结构改动为以下模式:从上图看,所有的应用实例,也就是调用网...
2019-01-25 10:42:29 1079
原创 从0到1用java再造tcpip协议栈:代码实现ping应用功能1
上一节我们讲解了基于ICMP echo协议的ping原理,并提出下图的代码实现架构:我们将遵照上面架构实现代码,首先为protocol后面的所有协议对象增加一个接口:package protocol;import java.util.HashMap;public interface IProtocol { public byte[] createHeader(HashMap&...
2019-01-16 16:35:47 732
原创 从0到1用java再造tcpip协议栈:基于ICMP echo协议的ping应用原理
如果你发现突然上不了网时,技术小白最常用的手段是重启一下,而有点技术范的人会打开控制台,然后输入:ping www.baidu.com然后观察控制台是否有相应的数据包信息显示。ping功能是我在机器上不了网时最常用的命令,它的作用是用于甄别到底是我要访问的网站挂了,还是网络出了问题,如果我连续ping几个对象,发现没有相应的回复数据包,那么我就知道我的网络出了问题,本节我们就看看如何从代码上...
2019-01-11 16:53:44 618
原创 使用回调函数及tensorboard实现网络训练实时监控
神经网络开发的一大特点是, 一旦我们把大规模数据输入网络进行分析时,你的感觉就像抛出一只纸飞机,除了抛出那一刻你拥有控制力外,一旦离手,它怎么飞怎么飘就不再是你能控制得了。神经网络代码的运行就有这个特点,我们不能像平常程序那样设置断点,然后单步调试,一旦运行后,我们只能观察结果。令人郁闷的是,很多时候训练非常耗时,你跑完几个小时后突然发现代码中存在bug,于是你停下程序,修正后你又得等待好几个小时...
2019-01-08 17:03:29 3903 3
一个java实现的简易编译器
2016-02-18
一个android 文本比对app的实现代码
2015-11-16
Android 4.4 App Development Essential
2014-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人