自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

站在人文与技术的交汇点

关注互联网,学习IT

  • 博客(61)
  • 资源 (17)
  • 问答 (2)
  • 收藏
  • 关注

原创 Java基础github

最近在一直研究WebRTC开源项目Kurento-Room,初步研究的差不多了。也写了一些文档,等时机成熟我再分享出来!由于自己JAVA基础较为薄弱,所以特地学习和编写了一些例程,涉及JAVA基础和数据结构,正在Github上更新,希望大家多交流!1、java基础例程,参考毕向东视频教程 (https://github.com/Shuo-Jia/JavaSample) 2、java数据结构与算法

2017-06-23 18:00:44 713

原创 史上最全最简单的C++、JAVA面试合集

OFFER面试指南包含程序员常见的面试考题,涵盖C++、JAVA、操作系统、算法等丰富的面试资料。所有资料将同步更新到微信小程序,同时,微信小程序也包含各大互联网公司、排行榜,欢迎关注使用。...

2022-08-07 22:27:24 333 1

原创 JAVA面试指南,这个就够了

最近手残,搞了个公众号,主要闲暇时间随便聊一些程序圈的一些事,也会分享一些技术面试的资料,感兴趣的可以关注一波。关注后,后台发送 面试指南,可以获取2021最新JAVA面试总结,基本看完后,JAVA八股文这些应该不在话下了。...

2021-09-07 18:54:25 165

原创 深入理解系列之JDK8下JVM虚拟机(1)——JVM内存组成

今天开始谈论一些JVM虚拟机的知识。其实在前面叙述中多多少少已经附带提起了JVM相关的知识,如类加载、多线程相关的底层机制、方法调用、泛型的机制等等,但是实际上JVM知识会有很多,今天就把比较重要的其他一些知识再拿出来理一理。首先要讲的也是非常基础的就是JVM的内存组成: JVM的内存被划分5个区域: 堆区、方法区——这两个区域的数据共享 虚拟机栈、本地方法栈、程序计数器——...

2018-05-14 10:22:09 18258 5

原创 Tomcat多线程模型浅析

我们在上一部分文章里已经看到了,Tomcat的架构是如何一步步构建出来,但是在后台服务器的构建中,一个很重要的问题是如何实现多线程?一般情况下,如果我们来实现最初步的想法就是:不断循环接收客户端的连接,每个连接构建一个线程,然后进行相关的数据处理!但是,实际上我们应该考虑的更多,比如如何选用BIO还是NIO等等?所以,我们来借鉴一下Tomcat的多线程设计思路!首先Tomcat的设计了...

2018-05-13 19:00:14 7914

原创 深入理解系列之JAVA多线程(3)——volatile原理

我们在上一篇文章讲到,synchronized关键字保证了代码同步性,同时有利于实现程序的安全性,但是同时也带来性能下降的弊端!所以,如果不是必要的我们应该避免使用synchronized关键字,在一些情况下可以采用其他方式作为替代!其中之一就是volatile。1、什么是缓存一致性?关于缓存一致性,我在第一章就简要的介绍过。缓存一致性的出现是因为计算机内存模型导致的:为了解决...

2018-05-09 18:49:04 423 2

原创 深入理解系列之JAVA多线程(2)——synchronized同步原理

多线程中为了解决线程安全问题,一个重要的手段就是同步!所谓同步其实就是使得原本各个线程交叉执行(异步),变成排队执行(同步)。同步策略使得不同线程操作共享数据遵循“先来后到“,从而避免某个线程没有处理完数据就被另一线程抢占操作出现数据被覆盖或者脏读的情况。其中同步最常用的手段就是synchronized关键字!1、synchronized有哪些主要用法?有什么区别?synchr...

2018-05-09 11:34:24 483

原创 Tomcat架构浅析

Tomcat服务器作为目前比较流行的一种服务器容器已经被广泛用于后台服务器的搭建、后台集成框架的嵌入(如SpringBoot),不同于Apache、Nginx本身(注意是本身,其实可以搭配后台脚本实现动态网页)仅仅支持静态网页,由于Tomcat其实是一种Servlet规范的实现,而Servlet又支持JSP,所以Tomcat实际上是完美支持动态页面的渲染的。了解Tomcat的工作原理,有助于...

2018-05-08 16:21:01 576 1

原创 深入理解系列之JAVA多线程(1)——概念与原理机制

现代操作系统都支持多任务的处理,所以为了提高JAVA程序运行的效率,JAVA在虚拟机层面采用了多线程机制,即“同时”运行多个逻辑代码!问题一、线程和进程的区别是什么?在操作系统层面,我们听到最多的就是“进程”的概念,即在日常操作系统使用中,我们认为每个软件就是一个进程,线程被称作“轻量级的进程“,我们通常用以下三句话(或表达同类意思的语句)来阐述他们之间的关系:1)、进程是...

2018-04-30 17:44:19 507

原创 深入理解系列之JAVA多态机制(重载/重写)

多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态(来自百度百科)。所以,按照这个意思其实多态的“主题”是对象,但是实际在我们运用中我们常把“重载”和“重写”称之为“多态”其实这是不严谨的!重载和重写只是多态的存在带来的两种应用表现形式,也就是说正是因为重载和重写我们才看到了多态的“威力”。所以,当我们谈论多态实现机制的时候其实就...

2018-04-25 16:21:49 518

原创 NIO入门实例-写一个客户端/服务器例程

注:该文章实际为《java网络编程》例11-1和例11-2的源码勘误!原例程经过实际测试并不能实现期望的功能,在分析代码逻辑后勘误如下!在勘误之前贴出书中原始例程(仅服务器有误):package org.nioTest;import sun.rmi.runtime.Log;import java.io.IOException;import java.net.InetSocke...

2018-04-23 23:07:41 506

原创 深入理解系列之JAVA泛型机制

泛型是指在声明(类,方法,属性)的时候采用一个“标志符”来代替,而只有在调用的时候才传入真正的类型,我们最常见的泛型实例就是前面讲述的集合类,集合类在声明的时候都是通过泛型方式来声明的,只有在调用(实例化)时我们才确定传入的是Integer亦或是String等等!注:本文着重叙述泛型实现的原理,而忽略一些泛型应用时的注意事项,详细应用时的注意事项请参看其他博文问题一、为什么要采...

2018-04-20 11:47:26 430

原创 WebRTC自适应控制算法

该文章系总结性文章,主要参考一下文章: 1、webrtc视频jitterbuffer原理机制(描述版) - 简书 http://www.jianshu.com/p/bd10d60cebcd 2、WebRTC视频接收缓冲区基于KalmanFilter的延迟模型 - 简书 http://www.jianshu.com/p/bb34995c549a 3、WebRTC基于GCC的拥塞控制(上) ...

2018-04-19 11:31:25 1968

原创 通过python抓取博客信息

最近写博客,忽然想知道自己的博客阅读量的趋势都是怎么样的,无奈CSDN并不提供这个功能。本来是想偶尔的手动查看,记录到excel表格中然后一段时间后就能知道大概了,但是作为程序员能够交个程序自动执行的就不要采用这种原始的办法了,上网一搜果然有和我一样“无聊的”想做这个统计的,再加上最近学习python,所以就决定写个python爬虫脚本来抓取这些信息!(无奈python水平太弱,对于python中...

2018-04-19 11:07:18 443 1

原创 深入理解系列之JAVA数据结构(5)——String

String类型是Java编程中最为常见的数据结构(没有之一),与之相关联的还有StringBuilder和StringBuffer。其中String类型是不可变的;后者均是可变的字符串,但是StringBuilder是线程不安全的,StringBuffer线程安全;所以三者的效率排名为:StringBuilder>String>StringBuffer。另外,为了优化字符串的使...

2018-04-17 21:04:21 5623 5

原创 深入理解系列之JAVA反射机制

反射是指,程序运行期间,对于任意一个类,都能够知道这个类的所有属性和方法,且都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。问题一、反射机制的理论基础是什么?如前言所属,基本每个java程序员都知道反射的概念和作用,但是为什么java可以支持反射?为什么C/C++就没有呢?其实,java之所以能够实现反射其根本的理论基...

2018-04-17 09:54:00 461

原创 深入理解系列之JAVA动态代理机制

代理的作用,就是生成代理对象使得真实对象的某些方法执行被代理对象拦截,从而在真实方法执行前、执行后添加额外的“动作”!动态代理则是指不需要修改原来的对象方法,在程序运行的过程中动态的生成代理对象,从而动态的生成这些“额外的”动作,主要从两个方面来深入理解动态代理机制!问题一、动态代理的基本实现是什么?动态代理本质上还是java中的“代理设计模式”,所以启UML图如下所示 ...

2018-04-15 22:12:28 690

原创 深入理解系列之JAVA数据结构(4)——Hashtable

1、Hashtable和HashMap,从存储结构和实现来讲基本上都是相同的, Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类,但二者都实现了Map接口。 2、它和HashMap的最大的不同是它是线程安全的,另外它不允许key和value为null。 3、Hashtable是个过时的集合类,不建议在新代码中使用,不需要线程安全...

2018-04-07 13:00:23 333

原创 深入理解系列之JAVA数据结构(3)——HashMap

1、 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable大致相同) 2、此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 3、 值得注意的是HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collectio...

2018-04-06 23:46:01 492

原创 深入理解系列之JAVA数据结构(2)——LinkedList

1、LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 2、LinkedList相对于ArrayList来说,是可以快速添加,删除元素,ArrayList添加删除元素的话需移动数组元素,可能还需要考虑到扩容数组长度。 3、 LinkedList 实现 List 接口,能对它进行队列操作。 Link...

2018-04-06 17:00:50 245

原创 深入理解系列之JAVA数据结构(1)——ArrayList

1、 ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。提供了相关的添加、删除、修改、遍历等功能。 2、ArrayList实现了RandmoAccess接口,即提供了随机访问功能。在ArrayList中,我们即可以通过元素的序号快速获取元素对象,这就是快速随机访问。ArrayList实现了Cloneable接口,即覆盖了函数clone(),能...

2018-04-06 15:49:41 444

原创 常用查找算法原理总结

一、静态查找表1、顺序查找表:设置界(0~n),然后从头比到尾,有则返回!   顺序查找表plus:把原来的界(0~n)改为设置哨兵R[0]或者R[n],当比较到R[0](从后往前比)或者R[n](从前往后比)还没有相等的时候,就是没有!否则,有则返回!这样省略了每次都要判断是否到了界点的步骤! 2、有序查找表:“最基本”的是折半查找!首先和R[m]=R[(0+n)/2]比较,如果

2018-01-06 21:23:21 535

原创 常用排序算法原理总结

前面有篇文章总结了性能,同时强调了算法原理才是最重要的,仅仅记住一些性能指标的数据,是没有用的。这篇文章主要以较“精炼简单”但是又“详细啰嗦”的语言来描述算法实现的细节过程!注意:可能不适合初学者看,初学者应该先看算法书籍以及实现的源码,然后再参考下文叙述来帮助理解算法实际的原理!本篇没有实例代码,请参看《大话数据结构》的C源码和个人的github的java源码链接!(《大话数据结构》java语言

2018-01-05 15:57:01 418

原创 常用查找、排序算法的性能总结

话说这些性能总结也就对考试(例如考研、面试刷题)有用,算法最终的目的还是理解和运用,所以大家看看看看一下就行了,最终还是靠理解为主! 一、查找算法 其中二叉树查找的标红的性能有待考究;哈希查找的查找长度网上也有,看起来太复杂(哈希表(等概率情况下)查找成功与查找不成功的平均查找长度) 二、排序算法 其中“初始序列”指复杂度是否和初始序列有关,其实如果发现最好最差平均复杂度一样,就是...

2018-01-04 17:02:01 1606

原创 ssh免密登录,各种权限设置都无效的解决办法!

如果失败,有可能是以下原因:1、权限问题2、配置问题

2018-01-02 20:20:13 17334 10

原创 KMP字符串匹配

    我们假设有上图字符串S:abcaab和T:abcababcaabab字符匹配需求,左边是朴素算法:即从T的第0位和分别和S的1~n位开始比较,相同则用黄色标注,不同则用红色标注,如果遇到不同,然后T的第0位和下一位开始重新来过开始第二轮比较。但是,在这个比较的过程中,我们会发现两种情况:     1.   0~3位分别相同,即T[0]=S[0],T[1]=S[1],T[2]=S[2]...

2017-07-13 16:43:44 577

原创 数据链路层概述

数据链路层主要的通信信道包括点对点信道和广播信道。点对点信道针对的是任意两台主机间的通信方式,而广播信道是指局域网间众多主机通信的的处理方式。 在点对点通信中,主机间需要通过“封装成帧”来界定数据的起始,需要使用填充技术区分和处理“透明传输”中的无效界定符,最终需要“差错检测”技术中的“CRC”校验来提高数据传输的正确率。而完成这一些列操纵的重要协议即为“PPP协议”。而PPP协议又包括链路控制协...

2017-01-12 20:10:22 747

原创 NAT转换

距离上一次总结“路由原理”已经十多天了,之所以是拖这么长,是因为期间在通过Socket编程运用“NET转换原理”的时候出现了一些障碍,至今没有完全解决!不管怎样我们还是先总结一下吧!首先必须来了解一下何为“NAT转换”!“NAT转换”存在的最直接的意义就是解决了IP地址不够用的现状。“局外人”会认为日常生活中我们每台电脑所用的IP地址是唯一的,因为只有这样才不会产生不必要的“冲突”。其实这是不准确的

2017-01-12 19:36:13 1317 1

原创 (6)Kurento之系统搭建IV-Helloworld

此示例,基于helloworld-demo。其余所有搭建方法均与此相同。 1、DEMO搭建git clone https://github.com/Kurento/kurento-tutorial-java.git cd kurento-tutorial-java/kurento-hello-world git checkout 6.6.0 mvn compile exec:jav...

2017-01-12 12:12:03 2711 1

原创 (5)Kurento之系统搭建III-运行环境/工具

接下来我们需要搭建信令服务器,以测试KMS服务器是否正常工作。在Kurento中,信令服务器准确的说叫“应用服务器”,因为除了提供WebRTC基础的信令交互外,还通过与KMS交互来创建相应的媒体功能。比如:需要录制功能。那我的“应用服务器”就需要发起“创建录制功能”的信令。在官网上,应用服务器的功能被定义为:1.配置媒体处理逻辑: 在应用程序中,这个部分配置了Kurento如何来处理媒体。...

2017-01-12 12:04:44 2350 1

原创 (4)Kurento之系统搭建II-Coturn

上一篇讲到配置stun/turn服务器。这里我们自己搭建一个属于自己stun/turn服务器。此服务器能够成功使用的先决条件即必须使用的一端能够访问到此服务器所在的主机。所以一般情况一定要具备“公网”环境!一般情况下申请的云主机都会提供公网环境,即使像上文那样,主机在NAT之后!好了,确定号网络环境后,开始搭建。首先下载安装包:http://turnserver.open-sys.org/do...

2017-01-12 11:54:57 4002 2

原创 (3)Kurento之系统搭建I-KMS6.0

首先,要搭建的自然是KMS。注意:KMS必须安装在Ubuntu 14.04 LTS 64位上!按照官网文档:echo "deb http://ubuntu.kurento.org trusty kms6" | sudo tee /etc/apt/sources.list.d/kurento.list wget -O - http://ubuntu.kurento.org/kurento....

2017-01-12 10:36:18 5011 7

原创 (2)Kurento之KMS通信架构

根据项目需求及Kurento协议,设计如下架构:这个看起来貌似很复杂,但其实只是WebRTC的拓展而已,即中间加入第三方进行通信,所以任意一端和KMS实际上组成了原始的WebRTC架构。你可以只看左边或者右边的通信架构,即发现其实本质上一样的。在Kurento通信架构中,KMS和每个客户端(图中的Android和PC-Browser)组成了一个“通信对端”,视频数据首先经过KMS,然后在转...

2017-01-12 10:30:43 3762 4

原创 (1)Kurento之WebRTC通信架构

  关于WebRTC网上有好多介绍,这里我就不详细的叙述了。重点放在WebRTC的项目实施过程,涉及后续开发,将会有详细介绍。  WebRTC是由谷歌提出的一套基于UDP协议的网页流媒体协议。有以下几个特点: 1、网页间直接通信。即不需要安装任何插件,通过网页前端的JS程序,即可构建两端的通信。 2、NAT穿透。不需要中间流媒体服务器进行中转流媒体数据,通过NAT穿透协议ICE框架,即可实...

2017-01-12 09:51:51 5246

原创 ADT的栈的实现

ADT,称为抽象数据类型。所谓抽象数据类型,即定义一种数据形式,并封装该数据的操作方法。 参考链接: http://blog.csdn.net/qscool1987/article/details/7179791, 这里我们在C++中实现一种“栈”的抽象数据类型。首先介绍一下栈:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相

2017-01-10 21:50:51 2296

原创 运算符重载典例:Vector-维克多

我们在上一节介绍了关于重载和友元的概念和用法!这篇文章重点介绍运算符重载的一些实例。   上篇我们已经说了,运算符重载相当于赋予运算符”拓展功能”。所以并不局限于“加减乘除”等。我们在C++中,使用打印函数时,常常用count<<来表示,但我们也知道<<,也可以表示“移位”!这里其实就是对<<做了“运算符重载”!我们也知道,当要输出类Time对象coding的hours,minutes值时,我们必

2017-01-10 21:39:50 2746

原创 重载/友元

重载分为函数重载和运算符重载!重载本身的概念在C++中通俗含义是:相同的某个元素表达不同的意思!我们首先来看函数重载。函数重载  函数重载本身时比较简单明了的,即定义同一个函数名称,通过设置不同的传入参数来使之成为不同的函数!如下所示: Time(); Time(int h, int m = 0);在类声明中声明同一个函数名称Time(注意,这是个特殊的函数,我们称之为构造函数,即创建对象时,将自

2017-01-10 20:53:15 520

原创 类/指针/函数/this

这几个元素加一块,如果对其不是很理解,怕是看不懂源码。我们首先看三段代码:1、定义:#ifndef STOCK_H_#define STOCK_H_ #include"stdafx.h"#include class Stock{private:    std::string company;    int shares;    double sh

2016-12-13 15:16:22 784

原创 netstat命令输出结果分析

netstat命令一般用来查看IP/Port占用情况,在网络程序员那里就可以用于检测数据发送/接收的端口是否正确。比如最近在做“视频实时传输”项目时就是用它发现问题的。所以有必要看懂netstat命令输出结果的含义,下面给出三个典型的结果:说明:Tserver01为一个UDP服务器测试程序,用于接收客户端的请求数据,然后回传另一组数据到客户端。UDP ——传输协议为UDP协

2016-04-12 11:15:28 27501 1

转载 64位和32位的区别

最近在调试UDP传输视频数据的时候,发现不同编译器下的定义的相同的结构体在传输的时候导致大小改变,从而使得数据传输出错。感觉下边的一篇文章总结的不错!-----------------------------------------------------------------------------------------转载自:http://blog.csdn.net/zhongzh

2016-03-21 10:02:22 835

高清H264测试序列

高清的h264的测试视频序列文件,绝对H264文件,VLC可播放

2019-01-19

JAVA网络编程第四版中文

《Java网络编程(第四版)》实用指南全面介绍了如何使用Java开发网络程序。你将学习如何使用Java的网络类库既快速又轻松地完成常见的网络编程任务,如编写多线程服务器、加密通信、广播到本地网络,以及向服务器端程序提交数据。作者提供了真正可实用的程序来讲解他介绍的方法和类。第4版经过全面修订,已经涵盖REST、SPDY、异步I/O和很多其他高级技术。本书主要内容有:研究Internet底层协议,如TCP/IP和UDP/IP;了解Java的核心I/O API如何处理网络输入和输出;发现InetAddress类如何帮助Java程序与DNS交互;用Java的URI和URL类定位、识别和下载网络资源;深入研究HTTP协议,包括REST、HTTP首部和cookie;使用Java的底层Socket类编写服务器和网络客户端;利用非阻塞I/O同时管理多个连接。

2018-04-23

图解TCP/IP 第五版

第1章 网络基础知识 1.1  计算机网络出现的背景 1.1.1  计算机的普及与多样化 1.1.2  从独立模式到网络互连模式 1.1.3  从计算机通信到信息通信 1.1.4  计算机网络的作用 1.2  计算机与网络发展的7个阶段 1.2.1  批处理 1.2.2  分时系统 1.2.3  计算机之间的通信 1.2.4  计算机网络的产生 1.2.5  互联网的普及 1.2.6  以互联网技术为中心的时代 1.2.7  从“单纯建立连接”到“安全建立连接” 1.2.8  手握金刚钻的TCP/IP 1.3  协议 1.3.1  随处可见的协议 1.3.2  协议的必要性 1.3.3  协议如同人与人的对话 1.3.4  计算机中的协议 1.3.5  分组交换协议 1.4  协议由谁规定 1.4.1  计算机通信的诞生及其标准化 1.4.2  协议的标准化 1.5  协议分层与OSI参考模型 1.5.1  协议的分层 1.5.2  通过对话理解分层 1.5.3  OSI参考模型 1.5.4  OSI参考模型中各个分层的作用 1.6  OSI参考模型通信处理举例 1.6.1  7层通信 1.6.2  会话层以上的处理 1.6.3  传输层以下的处理 1.7  传输方式的分类 1.7.1  面向有连接型与面向无连接型 1.7.2  电路交换与分组交换 1.7.3  根据接收端数量分类 1.8  地址 1.8.1  地址的唯一性 1.8.2  地址的层次性 1.9  网络的构成要素 1.9.1  通信媒介与数据链路 1.9.2  网卡 1.9.3  中继器 1.9.4  网桥/2层交换机 1.9.5  路由器/3层交换机 1.9.6  4~7层交换机 1.9.7  网关 1.10  现代网络实态 1.10.1  网络的构成 1.10.2  互联网通信 1.10.3  移动通信 1.10.4  从信息发布者的角度看网络 第2章 TCP/IP基础知识 2.1  TCP/IP出现的背景及其历史 2.1.1  从军用技术的应用谈起 2.1.2  ARPANET的诞生 2.1.3  TCP/IP的诞生 2.1.4  UNIX系统的普及与互联网的扩张 2.1.5  商用互联网服务的启蒙 2.2  TCP/IP的标准化 2.2.1  TCP/IP的具体含义 2.2.2  TCP/IP标准化精髓 2.2.3  TCP/IP规范--RFC 2.2.4  TCP/IP的标准化流程 2.2.5  RFC的获取方法 2.3  互联网基础知识 2.3.1  互联网定义 2.3.2  互联网与TCP/IP的关系 2.3.3  互联网的结构 2.3.4  ISP和区域网 2.4  TCP/IP协议分层模型 2.4.1  TCP/IP与OSI参考模型 2.4.2  硬件(物理层) 2.4.3  网络接口层(数据链路层) 2.4.4  互联网层(网络层) 2.4.5  传输层 2.4.6  应用层(会话层以上的分层) 2.5  TCP/IP分层模型与通信示例 2.5.1  数据包首部 2.5.2  发送数据包 2.5.3  经过数据链路的包 2.5.4  数据包接收处理 第3章 数据链路 3.1  数据链路的作用 3.2  数据链路相关技术 3.2.1  MAC地址 3.2.2  共享介质型网络 3.2.3  非共享介质网络 3.2.4  根据MAC地址转发 3.2.5  环路检测技术 3.2.6  VLAN 3.3  以太网 3.3.1  以太网连接形式 3.3.2  以太网的分类 3.3.3  以太网的历史 3.3.4  以太网帧格式 3.4  无线通信 3.4.1  无线通信的种类 3.4.2  IEEE802.11 3.4.3  IEEE802.11b和IEEE802.11g 3.4.4  IEEE802.11a 3.4.5  IEEE802.11n 3.4.6  使用无线LAN时的注意事项 3.4.7  蓝牙 3.4.8  WiMAX 3.4.9  ZigBee 3.5  PPP 3.5.1  PPP定义 3.5.2  LCP与NCP 3.5.3  PPP的帧格式 3.5.4  PPPoE 3.6  其他数据链路 3.6.1  ATM 3.6.2  POS 3.6.3  FDDI 3.6.4  Token Ring 3.6.5  100VG-AnyLAN 3.6.6  光纤通道 3.6.7  HIPPI 3.6.8  IEEE1394 3.6.9  HDMI 3.6.10  iSCSI 3.6.11  InfiniBand 3.6.12  DOCSIS 3.6.13  高速PLC 3.7  公共网络 3.7.1  模拟电话线路 3.7.2  移动通信服务 3.7.3  ADSL 3.7.4  FTTH 3.7.5  有线电视 3.7.6  专线 3.7.7  VPN 3.7.8  公共无线LAN 3.7.9  其他公共无线通信服务 第4章 IP协议 4.1  IP即网际协议 4.1.1  IP相当于OSI参考模型的第3层 4.1.2  网络层与数据链路层的关系 4.2  IP基础知识 4.2.1  IP地址属于网络层地址 4.2.2  路由控制 4.2.3  数据链路的抽象化 4.2.4  IP属于面向无连接型 4.3  IP地址的基础知识 4.3.1  IP地址的定义 4.3.2  IP地址由网络和主机两部分标识组成 4.3.3  IP地址的分类 4.3.4  广播地址 4.3.5  IP多播 4.3.6  子网掩码 4.3.7  CIDR与VLSM 4.3.8  全局地址与私有地址 4.3.9  全局地址由谁决定 4.4  路由控制 4.4.1  IP地址与路由控制 4.4.2  路由控制表的聚合 4.5  IP分割处理与再构成处理 4.5.1  数据链路不同,MTU则相异 4.5.2  IP报文的分片与重组 4.5.3  路径MTU发现 4.6  IPv6 4.6.1  IPv6的必要性 4.6.2  IPv6的特点 4.6.3  IPv6中IP地址的标记方法 4.6.4  IPv6地址的结构 4.6.5  全局单播地址 4.6.6  链路本地单播地址 4.6.7  唯一本地地址 4.6.8  IPv6分段处理 4.7  IPv4首部 4.8  IPv6首部格式 第5章 IP协议相关技术 5.1  仅凭IP无法完成通信 5.2  DNS 5.2.1  IP地址不便记忆 5.2.2  DNS的产生 5.2.3  域名的构成 5.2.4  DNS查询 5.2.5  DNS如同互联网中的分布式数据库 5.3  ARP 5.3.1  ARP概要 5.3.2  ARP的工作机制 5.3.3  IP地址和MAC地址缺一不可? 5.3.4  RARP 5.3.5  代理ARP 5.4  ICMP 5.4.1  辅助IP的ICMP 5.4.2  主要的ICMP消息 5.4.3  其他ICMP消息 5.4.4  ICMPv6 5.5  DHCP 5.5.1  DHCP实现即插即用 5.5.2  DHCP的工作机制 5.5.3  DHCP中继代理 5.6  NAT 5.6.1  NAT定义 5.6.2  NAT的工作机制 5.6.3  NAT-PT(NAPT-PT) 5.6.4  NAT的潜在问题 5.6.5  解决NAT的潜在问题与NAT穿越 5.7  IP隧道 5.8  其他IP相关技术 5.8.1  IP多播相关技术 5.8.2  IP任播 5.8.3  通信质量控制 5.8.4  显式拥塞通知 5.8.5  Mobile IP 第6章 TCP与UDP 6.1  传输层的作用 6.1.1  传输层定义 6.1.2  通信处理 6.1.3  两种传输层协议TCP和UDP 6.1.4  TCP与UDP区分 6.2  端口号 6.2.1  端口号定义 6.2.2  根据端口号识别应用 6.2.3  通过IP地址、端口号、协议号进行通信识别 6.2.4  端口号如何确定 6.2.5  端口号与协议 6.3  UDP 6.4  TCP 6.4.1  TCP的特点及其目的 6.4.2  通过序列号与确认应答提高可靠性 6.4.3  重发超时如何确定 6.4.4  连接管理 6.4.5  TCP以段为单位发送数据 6.4.6  利用窗口控制提高速度 6.4.7  窗口控制与重发控制 6.4.8  流控制 6.4.9  拥塞控制 6.4.10  提高网络利用率的规范 6.4.11  使用TCP的应用 6.5  其他传输层协议 6.5.1  UDP-Lite 6.5.2  SCTP 6.5.3  DCCP 6.6  UDP首部的格式 6.7  TCP首部格式 第7章 路由协议 7.1  路由控制的定义 7.1.1  IP地址与路由控制 7.1.2  静态路由与动态路由 7.1.3  动态路由的基础 7.2  路由控制范围 7.2.1  接入互联网的各种组织机构 7.2.2  自治系统与路由协议 7.2.3  IGP与EGP 7.3  路由算法 7.3.1  距离向量算法 7.3.2  链路状态算法 7.3.3  主要路由协议 7.4  RIP 7.4.1  广播路由控制信息 7.4.2  根据距离向量确定路由 7.4.3  使用子网掩码时的RIP处理 7.4.4  RIP中路由变更时的处理 7.4.5  RIP2 7.5  OSPF 7.5.1  OSPF是链路状态型路由协议 7.5.2  OSPF基础知识 7.5.3  OSPF工作原理概述 7.5.4  将区域分层化进行细分管理 7.6  BGP 7.6.1  BGP与AS号 7.6.2  BGP是路径向量协议 7.7  MPLS 7.7.1  MPLS的网络基本动作 7.7.2  MPLS的优点 第8章 应用协议 8.1  应用层协议概要 8.2  远程登录 8.2.1  TELNET 8.2.2  SSH 8.3  文件传输 8.4  电子邮件 8.4.1  电子邮件的工作机制 8.4.2  邮件地址 8.4.3  MIME 8.4.4  SMTP 8.4.5  POP 8.4.6  IMAP 8.5  WWW 8.5.1  互联网的蓬勃发展 8.5.2  WWW基本概念 8.5.3  URI 8.5.4  HTML 8.5.5  HTTP 8.5.6  JavaScript、CGI、Cookie 8.6  网络管理 8.6.1  SNMP 8.6.2  MIB 8.6.3  RMON 8.6.4  SNMP应用举例 8.7  其他应用层协议 8.7.1  多媒体通信实现技术 8.7.2  P2P 8.7.3  LDAP 第9章 网络安全 9.1  TCP/IP与网络安全 9.2  网络安全构成要素 9.2.1  防火墙 9.2.2  IDS(入侵检测系统) 9.2.3  反病毒/个人防火墙 9.3  加密技术基础 9.3.1  对称密码体制与公钥密码体制 9.3.2  身份认证技术 9.4  安全协议 9.4.1  IPsec与VPN 9.4.2  TLS/SSL与HTTPS 9.4.3  IEEE802.1X 附录 附1  互联网上便捷的资源 附1.1  国际 附1.2  日本 附2  IP地址分类(A、B、C类)相关基础知识 附2.1  A类 附2.2  B类 附2.3  C类 附3  物理层 附3.1  物理层相关基础知识 附3.2  0/1编码 附4  传输介质相关基础知识 附4.1  同轴电缆 附4.2  双绞线 附4.3  光纤电缆 附4.4  无线 附5  插页导图

2018-03-08

hadoop实战第二版(陆嘉恒)

国内陆嘉恒写的!不是外国那本!注意这个是第二版,论坛其他直接一个标题的基本都是第一版!带书签,不可多得!

2017-12-31

WebRTC零基础开发教程

C++层开发是,不是WEB开发!详细叙述了webRTC源码开发架构、API、方法

2017-11-22

head first源代码设计模式源代码

head first 设计模式源代码,head first 设计模式源代码,

2017-11-13

使用jQuery插件FancyBox轻松实现弹窗视频

使用jQuery插件FancyBox轻松实现弹窗视频,使用jQuery插件FancyBox轻松实现弹窗视频

2017-10-09

CSS+JS 弹出窗口播放视频

CSS+JS 弹出窗口播放视频,CSS+JS 弹出窗口播放视频。

2017-10-09

Crosswalk+Cordova开发安卓app-JavaScript调用java 源代码下载

Crosswalk+Cordova开发安卓app之 JavaScript调用java 源代码下载

2017-10-09

绿色破解版SecureCRT

破解版

2016-12-10

ffmpeg for windows

解压安装即可,不用在Linux才能用

2016-12-10

usbserial驱动分析

本资源提供了常用的USB Modem 驱动的框架和源代码分析,很值得学习和借鉴!

2016-02-28

ssh服务软件包

ssh-client和ssh-server的Ubuntu10.04的软件安装包

2015-12-23

链表常用操作集合

1.本参考例程包含基础的单链表操作方法共计9种,全部以单独函数形式编写,便于直接调用和移植。 2.本参考例程源代码来源于“传智播客C语言基础教程”,本人只是稍微修改便于测试结果展示和网友移植使用。

2015-12-06

西电电子大赛测试题

2013年最新的,用于赛前训练,模块准备。

2013-07-30

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

TA关注的人

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