自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

感性企鹅的专栏

轻松的学技术:)

  • 博客(122)
  • 资源 (8)
  • 收藏
  • 关注

原创 效率提升-idea的leetcode插件应用

安装leetcode插件 遍历功能 右下角为配置入口 配置账号密码 登录 双击可以进行考题 编写第一题,这里使用官方推荐的map法进行解题。可以看到内存占用多,但是执行速度快。 同时也可以查看提交历史(跟git差不多) 可以查看解题方法 open solation 评价 刷题更加便捷了。。。 ...

2020-05-14 11:22:43 1476

原创 java-一道面试题(链式+stream编程)

题目要求:一分钟内完成此题,只能用一行代码实现。 现在有5个用户,筛选: 1、ID必须是偶数 2、年龄必须大于23岁 3、用户名转换为大写 4、用户名字母倒排序 5、只输出一个用户 public class MyTest { User user1 = new User(1, "AB", 24); User user2 = new User(2, "cd", 25); User user3 = new User(3, "ef", 23); List<User> list = Arra.

2020-05-08 21:48:24 579

原创 并发编程-一个简单的例子阐述volatile的保持线程间内存可见性作用(volatile)

实践 代码参考:https://gitee.com/wangtonggui/java_demo.git的keyword-demo 使用volatile,线程可以停止 不使用,线程不可以停止 说明volatile可以进行变量的线程间同步 评价 使用一个例子可以方便的说明问题。 ...

2020-04-29 12:03:15 309

原创 并发编程-复现一个简单的并发场景

实践过程 代码参考:https://gitee.com/wangtonggui/java_demo.git的ParallelProblem 模拟场景:黄牛抢票 把count看做是票 把Thread看做是黄牛 黄牛不断抢票,但是多次尝试之后,出现了两个黄牛抢到一张票的场景 评价 java中如果没有进行任何线程安全同步的情况下,公有资源的访问必然会出现线程安全的问题。 ...

2020-04-28 12:07:03 466

原创 并发编程-简易秒杀实践(分布式锁+redis+springboot+redisson)

背景 分布式锁的核心是把并发操作强行串行化,在面试过程中非常常见,在高并发场景的编程下也非常常见。本wiki将进行简易的编程实践。 注:代码没有在线上工程中实际应用,仅供学习参考 实践过程 搭建环境 使用docker搭建redis环境 sudo docker run --name redis -p 6379:6379 -d redis spring boot实现一个简易的web服务(seckil...

2020-04-27 19:24:38 486

原创 java-注解解析与实践

背景

2020-04-23 15:34:03 201

原创 设计模式-java实现静态代理和动态代理

背景 在进行mybatis的学习中,设计到了动态搭理,即仅仅定义接口和mapper,就能获取相应的接口实现类,进行dao的种种操作。 实践过程 参考代码:https://gitee.com/wangtonggui/design_pattern.git 需求:使用代理的方式,实现某接口的时间调用时间纪录。 静态代理 Person实现了eat的接口,我们要通过代理的方式纪录eat的时间 下面是通过继...

2020-04-22 14:38:48 255

原创 并发编程-juc-semaphore信号量实践

背景 在进行限流与熔断的过程中,java信号量起到了很大的作用,本wiki将java的信号量做了最基础的实战。 实践过程 参考代码:https://gitee.com/wangtonggui/java_demo.git 创建信号量,公平模式就是先到先得,抢占式就是看运气 信号量阻塞-1,这个是线程安全的 当信号量的可用许可证为0的时候,acquire就会阻塞 release操作就是+1操作,...

2020-04-20 19:56:49 303

原创 数据库-存储过程的理解与实践

背景 存储过程的概念类似于linux中的sh脚本,即能同时执行多条命令,而且可以传入参数等。 实践 创建过程 create procedure procedure_name() begin select name from t_user; select name from t_user; end; 删除一个过程 drop procedure procedure_name 调用过程 call...

2020-04-20 11:15:28 260

原创 效率提升-idea-按照包下断点

背景 在进行框架代码研究的时候,下断点尝试是常用的手段。本wiki尝试一种按照包来下断点的调试手法。 实践过程 随便创建一个工程,这里以mybatis为例,写了一个mybatis的helloworld级别的代码, 在run里面进入view breakpoints 添加一个断点方案,选择Java Method BreakPoints 输入你想打断点的包org.apache.ibatis.ses...

2020-04-19 20:28:02 328

原创 框架编程-mybatis的helloworld(mybati+maven+xml)

文章目录背景实践过程准备数据创建maven工程添加mybatis的maven依赖添加java代码添加mybatis配置测试代码评价 背景 之前经常在springboot中使用mybatis,封装性太强,不容易窥其全貌,本wiki将根据官方文档自己实现一个demo。 简单来说: mybatis可以完全替代你jdbc 让sql的操作更简单 让结果集的映射更简单 实践过程 源码地址:https://...

2020-04-17 17:14:57 304

原创 编程框架-springboot-@SpringBootApplication的探索

背景 如果研究springboot,那么必然要研究它的自动装配,而自动配置的核心如下: SpringbootApplication注解所带动的一系列配置(这里是静态的,当run后进行扫描的时候,就会全部涉列到,本文重点阐述) run方法(启动过程,将来另外的wiki进行阐述) SpringBootApplication探索过程 总览 细看 Spring boot必须要做的两件事,做完之后就可...

2020-04-16 20:48:39 235

原创 java-jdk中常用类的使用demo(String类)

概述 本文阐述jdk中String类的常用方法。 实践过程 下载示例代码 源码地址:https://gitee.com/wangtonggui/java_demo.git 跑一跑看看 String的new,可以直接传入StringBuffer和StringBuilder 方便的定位字符 判断字符串是否相等 判断字符串的大于小于和等于 剩下的startWith、endWith、indexO...

2020-04-13 21:54:41 384

原创 编程框架-springboot启动流程(springboot+2.2.x)

背景 天天在用spring boot,不了解基础的启动流程是真的说不过去。本wiki将进行启动流程阐述。 启动流程 时序图 DemoApplicationSpringApplicationStopWatchSystemSpringFactBeanUtilsSpringApplicatBinderSpringApplicatiSpringBootExcConfigurableAppAbstractA...

2020-04-13 17:47:28 507

原创 效率提升-idea索引技巧-在某个包中进行查找

背景 用idea看源代码能提高效率,但是扛不住代码量大,重复的内容多。本wiki将总结一个查看代码的小技巧,以备后用。 搜索过程 目标查找SpringBootConfiguration的使用情况 ctrl + shift + f,查找SpringBootConfiguration 点击右侧的三个点(从这里来设定搜索范围) 点击 + -> local,输入名称springframework(...

2020-04-13 11:52:59 1333 1

原创 设计模式-java实战建造者模式(uml+java)

背景 20+种设计模式,实践ing。本wiki将阐述建造者模式(builder模式)。 这个模式的特点是:降低同系列对象的创建难度。 重点参考:https://www.bilibili.com/video/BV1Qx411o7tN?p=27 实践过程 需求分析 拿视频里面的例子来说: 客户端(client)想创建几个电脑对象,给不同的人使用,那么就会出现以下代码: // 电脑类如下 @Data p...

2020-04-12 11:11:32 555

原创 java-mapStruct源码走读

背景 最近在研究mapStruct,为了方便以后能顺手使用,本wiki将简单地走读一下源码。 源码走读 总览 源码下载:https://gitee.com/mirrors/mapstruct.git pom模块概览 parent,只有一个pom文件,用于全局统一加载工具,例如guava、freemarker等 build-config,一些配置的xml集合 core,各种注解和常量的定义与...

2020-04-08 17:10:36 1593

原创 java-自定义代码生成器(spring boot+freemarker)

背景 javaEE 开发的本质是进行数据操作,开发的难点其实是在数据库设计。本wiki将阐述一下数据库设计完毕后,直接生成代码的过程。 生成代码过程 clone自制的代码生成器: git clone https://gitee.com/wangtonggui/code-maker.git 做一下数据库的简单配置: 目标库是:dbpay 生成器会自动生成这个库下所有表的model 直接运行工程,查...

2020-04-08 14:56:13 971

原创 java-apt编程实践(Annotatino Processing Tool+maven)

背景 最近在研究mapStruct,而mapStruct核心技巧就是apt,通过编译期注解+freemarker进行java文件生成,从而省去了很多编码。 本wiki将阐述一个apt的编程实践。 实践过程 创建一个hello工程 工程由两个模块组成: application模块,将使用自定义的编译器注解 apt模块,自定义注解,并且完成AbstractProcessor的继承和实现 根pom如...

2020-04-07 16:01:26 1578

原创 java-spi编程实践(Service Provider Interface+maven)

背景 在研究java注解处理器的过程中,涉及到了spi机制的理解,本wiki将进行一下实践。 spi机制 spi机制的目标:实现接口与实现的解耦。 spi机制在开源项目中的应用: spring中大量使用(ioc的过程会自动选取一个实现) 数据库驱动加载 dubbo等等 在后续的博客中将对不同的框架进行调研并加以说明。 spi简易demo 创建一个maven项目 pom文件如下 <?xm...

2020-04-06 18:15:07 969

原创 效率提升-再次实践pojo的映射简化(mapStruct)

背景 之前写了一个mapStruct的Hello World,本wiki将再用一个实际项目中的例子来进行优化。 实现过程 创建一个spring boot项目 这里创建了一个MyApplicationRunner,方便我们调试bean 复制之前项目中的代码 使用mapStruct进行修改 评价 ...

2020-04-04 15:03:49 429

原创 效率提升-简化java开发中pojo的转换(mapstruct)

背景 在java的web开发中,pojo转换难以避免,mapstruct工具帮我们进行了简化,本wiki将进行实践。 实践过程 简易实践 创建一个hello项目(最简单的maven项目即可)。 pom文件添加依赖 <properties> <mapstruct.version>1.2.0.Final</mapstruct.version&gt...

2020-04-03 16:40:30 733

原创 工程组件-nginx提供文件下载功能

背景 nginx是开发中的利器,本wiki将阐述如何使用nginx制作一个文件下载服务器。 实战过程 docker默认安装nginx sudo docker run -d --name nginx -p 9008:80 nginx:stable 浏览器访问9008端口 sudo docker exec -it nginx bash cd /etc/nginx # 查看默认配置文件 cat ngi...

2020-04-02 20:25:17 766

原创 工程组件-使用docker安装部署配置Jenkins(docker+Jenkins)

背景 Jenkins在自动化集成中必不可少,本博客将阐述一种简易的安装部署方式。 安装部署过程 docker安装Jenkins最新版 下载最新版本的Jenkins资源包:http://updates.jenkins-ci.org/latest/jenkins.war mkdir -p /home/jenkins_home mkdir -p /home/soft cd /home/soft rz上传...

2020-04-02 14:22:23 311

原创 工程组建-pinpoint的apm部署

文章目录背景部署hbase下载hbase的jar包解压后配置 hbase-site.xml配置hbase-env.sh启动hbase创建hbase表查看启动情况部署pinpoint-web部署tomcat查看启动情况部署pinpoint-collector启动服务的时候同时使用agent进入pinpoint-web观测数据服务运行情况评价 背景 在进行微服务开发过程中,链路追踪功能是必要的。本文将...

2020-04-01 18:28:39 480

原创 效率提升-任务管理(teambition)

背景 在工作和学习中,是不是经常出现忘记任务我的情况呢?本博客将阐述一个简单的任务管理系统工具,teambition。 使用实战 官网地址:https://www.teambition.com 注册登录后如图。 可以直接创建自己的任务,进行纪录,另外可以进行任务的追踪。 teambition的功能不仅如此,还可以进行项目的创建与追踪、同时可以进行团队管理(正如其名)。 评价 此工具进行任务管理还...

2020-03-31 11:02:18 649

原创 效率提升-使用markdown画时序图

背景 markdown现在使用越来越多,好处多多。本博客将阐述如何使用markdown来画时序图。 参考 文档:https://mermaid-js.github.io 友情提示,网络不好的话可能访问不通。 实战 文本审核基础服务odps读取训练数据(文本分词)返回训练数据(文本分词)模型训练预测测试集计算模型指标写入模型写入模型指标数据文本审核基础服务odps 源码 sequenceDiagra...

2020-03-26 21:48:53 1001

原创 java-元组实现

背景 在java工程开发的过程中,经常会遇到需要函数直接返回多个参数的情况,这里阐述一种自定义元组的方法。 代码实战 以下为元组类的定义 public class Tuple { public static <A, B> TwoTuple<A, B> tuple(A a, B b) { return new TwoTuple<>(a, ...

2020-03-25 14:32:23 1441

原创 大数据-一站式内容画像数据处理(pyodps+odps)

背景 公司的pro环境并没有搭建自己存储环境,而是直接使用阿里云的rds,那么数仓的建设也就直接使用了阿里云的dataworks(也就是原odps,也有maxcompute)。 数据存储的限制,需要使用pyodps的sdk才能进行更好的管理、分析、处理(机器学习、深度学习模型训练等)。 本wiki将阐述使用pyodps的优势。 数据流 概念解析: 内容源 爬虫系统,scrapy实现,爬取文章...

2020-03-18 16:54:28 2387 2

原创 python-jupyterhub通过docker方式安装

背景 在python的开发中,经常会用到jupyter notebook,脚本都是写在本机的,这点难以协同开发。本博客将阐述jupyterhub的安装,方便在服务器上写jupyter。 安装过程 参考:https://jupyterhub.readthedocs.io/en/stable/quickstart-docker.html 提前安装docker,步骤略。 使用如下命令进行下载并且启动镜像...

2020-03-13 16:30:21 2163

原创 java-log4j2的配置实战

背景 spring boot项目中用了log4j2,配置的设置只是重复的轮子,博主进行一下记录和分享。 实战 log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <!--设置log4j2的自身log级别为warn --> <configuration status="warn"> <propertie...

2020-02-26 15:02:49 250

原创 效率提升-windows空间优化工具spacesniffer

背景 最近在家里办公,是windows系统,C盘空间快红了,现在优化一下。博主推荐使用spacesniffer工具来辅助。 实践 打开spacesniffer工具,直接进行扫描,可以看到使用空间被非常直观的方式被展示出来了,方便我们去删除。 这里gradle的空间很大,是之前搞android的时候留下的。。。剩下的小伙伴们自己用用体会体会吧。 ...

2020-02-23 22:57:16 1084

原创 操作系统-linux-centos7安装google的bbr加速

背景 同事推荐ecs上安装google的bbr加速,可以提升网络吞吐。本文将进行记录。 实战 安装和重启 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh 安装完成后会提示重启。 重启 ech...

2020-02-14 16:42:41 729

原创 框架编程-spring-redisTemplate访问多数据源实现

背景 在使用spring boot 2.x做项目的时候,需要访问多个数据库db,本博客讲进行实战展示 实战 思路:每一个redisTemplate实例只能访问一个对应的db,所以我们需要做多个redisTemplate实例,并且每个实例必须有自己对应的连接工厂。 package com.ztjy.contentrank.common; import com.alibaba.fastjson.pa...

2020-02-14 09:24:31 461

原创 数据库-解决Lock wait timeout exceeded; try restarting transaction

背景 有一次在操作alpha环境的表过程中,因为网络问题,导致锁表,有以下提示: Lock wait timeout exceeded; try restarting transaction 解决过程 问题如下: 查看锁住的thread: SELECT * FROM information_schema.innodb_trx \G 杀掉对应的thread: kill 17901; 问题解决: ...

2020-02-13 11:45:40 1332 1

原创 数据挖掘-pandas-读取mysql

背景 pandas经常用来读取不同数据源的数据进行分析,本博客实战读取mysql的结构化数据。 实战 依赖模块: import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://szy:yP0tfUTHvP5q@alpha-mysql.szy.com:3306/dbar...

2020-02-13 10:18:01 311

原创 python-疑难杂症-zadd报错

错误复现 正常使用zadd报错 r = redis.StrictRedis(host=xxxxx) d = dict() d['1231'] = 123 r.zadd(d) redisError: ZADD requires an equal number of values and scores python版本:3.6.1 错误定位 在另外一个环境3.6.5,运行代码,正常。 说明是版本问题...

2020-02-10 11:55:03 2134

原创 python-在python中实现java的hashCode函数

背景 今天有个需求,需要用python实现java的hashCode分表。 本博客将把这个操作记录下来,以免以后重复造轮子。 实现 def hash_code(s): h = 0 if len(s) > 0: for item in s: h = 31 * h + ord(item) return h ...

2020-01-29 20:23:42 3053

原创 开源项目-基础环境部署

背景 众多的开源项目都是基于mysql存储,redis缓存,spring boot开发的。 本博客主要是把基础环境的部署进行文档记录。 环境部署 服务器,阿里云 系统环境, linux centos 部署方法,docker 添加基础用户 adduser wang # 添加密码 passwd wang # 添加sudo权限 vi /etc/sudoers # 在100行后添加(原则是:模仿ro...

2020-01-26 10:27:34 558

原创 机器学习-java调用机器学习pai的LR模型

背景 最近在使用阿里的机器学习pai进行模型训练,训练出来的模型需要给java进行调用来使用。本博客阐述java调用pmml进行预测的过程。 实战 获取pmml模型 在机器学习pai->模板实验->心脏病预测,可以直接训练并且导出模型,具体步骤参考:https://help.aliyun.com/document_detail/34929.html?spm=a2c4g.11186623...

2020-01-14 16:56:38 1024

10w文章标题数据(仅供学习使用)

本次上传的资料仅供nlp的学习,博主的博客中也将使用到这些数据,进行文章title的一些基本挖掘。希望大家能来博客转转,互相学习、借鉴,并提出宝贵意见。

2020-02-18

cifar-10-python.tar.gz的下载资源

通过官方网站https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz下载太慢,特提供此资源

2019-09-05

VOCtrainval_11-May-2012.tar训练测试数据下载

在pascal官网下载的深度学习数据集,有时间的可以去官网直接下载。 官网:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.htm 着急用的从云盘直接拿走。

2019-08-23

SpaceSniffer.zip

博主找到了一款非常好用的windows工具,用于磁盘清理,希望对大家有用。。本工具主要用于磁盘空间扫描,之后进行直观的ui展示,一下子就能知道自己的磁盘中文件夹的大小

2020-02-23

资料and停用词典.zip

资料+停用词。本资源可以在博主的某一篇博客中使用,大家相互学习,有建议欢迎留言。 关联博客:https://blog.youkuaiyun.com/wangjie5540/article/details/103811651

2020-01-02

lr_demo.pmml

这里是一个pmml的模型文件,配合csdn的谋篇博客而来,方便pmml的模型调用的展示。https://editor.youkuaiyun.com/md/?articleId=103975388

2020-01-14

VGG_ILSVRC_16_layers_fc_reduced.caffemodel.txt

在weiliu89的ssd模型训练过程中必须要是用到vggnet的预训练模型。 weiliu89项目地址:https://github.com/weiliu89/caffe/tree/ssd

2019-08-23

TCP-IP详解.卷三:TCP事务协议,HTTP,NNTP和UNIX域协议

目 录 译者序 前言 第一部分 TCP事务协议 第1章 T/TCP概述 1 1.1 概述 1 1.2 UDP上的客户-服务器 1 1.3 TCP上的客户-服务器 6 1.4 T/TCP上的客户-服务器 12 1.5 测试网络 15 1.6 时间测量程序 15 1.7 应用 17 1.8 历史 19 1.9 实现 20 1.10 小结 21 第2章 T/TCP协议 23 2.1 概述 23 2.2 T/TCP中的新TCP选项 23 2.3 T/TCP实现所需变量 25 2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出报文段最大长度MSS 36 3.7 向后兼容性 39 3.8 小结 41 第4章 T/TCP协议(续) 43 4.1 概述 43 4.2 客户的端口号和TIME_WAIT状态 43 4.3 设置TIME_WAIT状态的目的 45 4.4 TIME_WAIT状态的截断 48 4.5 利用TAO跳过三次握手 51 4.6 小结 55 第5章 T/TCP协议的实现:插口层 56 5.1 概述 56 5.2 常量 56 5.3 sosend函数 56 5.4 小结 58 第6章 T/TCP的实现:路由表 59 6.1 概述 59 6.2 代码介绍 59 6.3 radix_node_head结构 60 6.4 rtentry结构 61 6.5 rt_metrics结构 61 6.6 in_inithead函数 61 6.7 in_addroute函数 62 6.8 in_matroute函数 63 6.9 in_clsroute函数 63 6.10 in_rtqtimo函数 64 6.11 in_rtqkill函数 66 6.12 小结 69 第7章 T/TCP实现:协议控制块 70 7.1 概述 70 7.2 in_pcbladdr函数 71 7.3 in_pcbconnect函数 71 7.4 小结 72 第8章 T/TCP实现: TCP概要 73 8.1 概述 73 8.2 代码介绍 73 8.3 TCP的protosw结构 74 8.4 TCP控制块 74 8.5 tcp_init函数 75 8.6 tcp_slowtimo函数 75 8.7 小结 76 第9章 T/TCP实现:TCP输出 77 9.1 概述 77 9.2 tcp_output函数 77 9.2.1 新的自动变量 77 9.2.2 增加隐藏的状态标志 77 9.2.3 在SYN_SENT状态不要重传SYN 78 9.2.4 发送器的糊涂窗口避免机制 78 9.2.5 有RST或SYN标志时强制发送报文段 79 9.2.6 发送MSS选项 80 9.2.7 是否发送时间戳选项 80 9.2.8 发送T/TCP的CC选项 80 9.2.9 根据TCP选项调整数据长度 83 9.3 小结 83 第10章 T/TCP实现:TCP函数 84 10.1 概述 84 10.2 tcp_newtcpcb函数 84 10.3 tcp_rtlookup函数 85 10.4 tcp_gettaocache函数 86 10.5 重传超时间隔的计算 86 10.6 tcp_close函数 89 10.7 tcp_msssend函数 90 10.8 tcp_mssrcvd函数 91 10.9 tcp_dooptions函数 96 10.10 tcp_reass函数 98 10.11 小结 99 第11章 T/TCP实现:TCP输入 101 11.1 概述 101 11.2 预处理 103 11.3 首部预测 104 11.4 被动打开的启动 105 11.5 主动打开的启动 108 11.6 PAWS:防止序号重复 114 11.7 ACK处理 115 11.8 完成被动打开和同时打开 115 11.9 ACK处理(续) 116 11.10 FIN处理 118 11.11 小结 119 第12章 T/TCP实现:TCP用户请求 120 12.1 概述 120 12.2 PRU_CONNECT请求 120 12.3 tcp_connect函数 120 12.4 PRU_SEND和PRU_SEND_EOF请求 124 12.5 tcp_usrclosed函数 125 12.6 tcp_sysctl函数 126 12.7 T/TCP的前景 126 12.8 小结 127 第二部分 TCP的其他应用 第13章 HTTP:超文本传送协议 129 13.1 概述 129 13.2 HTTP和HTML概述 130 13.3 HTTP 132 13.3.1 报文类型:请求与响应 132 13.3.2 首部字段 133 13.3.3 响应代码 133 13.3.4 各种报文头举例 134 13.3.5 例子:客户程序缓存 135 13.3.6 例子:服务器重定向 136 13.4 一个例子 136 13.5 HTTP的统计资料 138 13.6 性能问题 139 13.7 小结 141 第14章 在HTTP服务器上找到的分组 142 14.1 概述 142 14.2 多个HTTP服务器 144 14.3 客户端SYN的到达间隔时间 145 14.4 RTT的测量 149 14.5 用listen设置入连接队列的容量 150 14.6 客户端的SYN选项 154 14.7 客户端的SYN重传 156 14.8 域名 157 14.9 超时的持续探测 157 14.10 T/TCP路由表大小的模拟 160 14.11 mbuf的交互 162 14.12 TCP的PCB高速缓存和首部预测 163 14.13 小结 165 第15章 NNTP:网络新闻传送协议 166 15.1 概述 166 15.2 NNTP 167 15.3 一个简单的新闻客户 170 15.4 一个复杂的新闻客户 171 15.5 NNTP的统计资料 172 15.6 小结 173 第三部分 Unix域协议 第16章 Unix域协议:概述 175 16.1 概述 175 16.2 用途 176 16.3 性能 177 16.4 编码举例 177 16.5 小结 179 第17章 Unix域协议:实现 180 17.1 概述 180 17.2 代码介绍 180 17.3 Unix domain和protosw结构 181 17.4 Unix域插口地址结构 182 17.5 Unix域协议控制块 183 17.6 uipc_usrreq函数 185 17.7 PRU_ATTACH请求和unp_attach函数 186 17.8 PRU_DETACH请求和unp_detach函数 187 17.9 PRU_BIND请求和unp_bind函数 189 17.10 PRU_CONNECT请求和unp_connect 函数 191 17.11 PRU_CONNECT2请求和unp_connect2 函数 195 17.12 socketpair系统调用 198 17.13 pipe系统调用 202 17.14 PRU_ACCEPT请求 203 17.15 PRU_DISCONNECT请求和 unp_disconnect函数 204 17.16 PRU_SHUTDOWN请求和unp_shutdown 函数 205 17.17 PRU_ABORT请求和unp_drop函数 206 17.18 其他各种请求 207 17.19 小结 209 第18章 Unix域协议:I/O和描述符的传递 210 18.1 概述 210 18.2 PRU_SEND和PRU_RCVD请求 210 18.3 描述符的传递 214 18.4 unp_internalize函数 218 18.5 unp_externalize函数 220 18.6 unp_discard函数 221 18.7 unp_dispose函数 222 18.8 unp_scan函数 222 18.9 unp_gc函数 223 18.10 unp_mark函数 230 18.11 性能(再讨论) 231 18.12 小结 231 附录A 测量网络时间 232 附录B 编写T/TCP应用程序 242 参考文献 246 缩略语 251

2012-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除