A. A轮目标

  • 复习网络编程基础知识,重点学习下TCP三次握手四次挥手,以及可能引发的异常情况。
  • 回顾 Socket 编程,好多年没写(chao)过相关代码了。
  • 重学 NIO,以前学的基本忘光了,毕竟从来没在项目中用过。
  • 学习 Netty,了解基本用法,写一个简单项目练手。
  • 扫读 Netty 核心源码,了解其线程模型,重点学习 Netty 如何使用 NIO。
  • 搜罗面试题,查漏补缺。

B. 基础知识

参考资料:《Java网络编程 第四版》

网际层(internet layer): 定义了数据位和字节如何组织为更大的分组,称为,还定义了寻址机制(IP Address),不同计算机要按这个寻址机制查找对方。
网际协议(IP)是Java唯一理解的网络层协议。IPv4 与 IPv6 无法互操作。
在 IPv4 中,数据按包在网际层上传输,这些包称为数据报(datagram)

传输层(transport layer): 负责确保各包以发送的顺序接收,并保证没有数据丢失或破坏。TCP 与 UDP。

URI:统一资源标识符(Uniform Resource Identifier)是采用一种特定语法标识一个资源的字符串。其语法为 模式:模式特定部分。模式特定部分的语法很多采用 //authority/path?query,例如 https://www.bucunzai.com/huanjue?zhishang=250

典型的 URI 是由 ASCII 字母、数字及部分符号(- _ . ! ~)组成,其它字符要用 % 转义,其后是该字符按 UTF-8 编码的十六进制码。

 
 
 
 

Java网络编程学习A轮_01_目标与基础复习的更多相关文章

  1. Java网络编程学习A轮_06_NIO入门

    参考资料: 老外写的教程,很适合入门:http://tutorials.jenkov.com/java-nio/index.html 上面教程的译文:http://ifeve.com/overview ...

  2. Java网络编程学习A轮_08_NIO的Reactor模型

    参考资料: 了解 Java NIO 的 Reactor 模型,大神 Doug Lea 的 PPT Scalable IO in Java 必看:http://gee.cs.oswego.edu/dl/ ...

  3. Java网络编程学习A轮_07_基于Buffer的Socket编程

    示例代码: https://github.com/gordonklg/study,socket module A. LineSeparate 基于 Buffer 实现逐行读取的 EchoServer ...

  4. Java网络编程学习A轮_05_Socket编程

    示例代码: https://github.com/gordonklg/study,socket module A. Socket 编程简单例子 最简单的 Socket 编程是通过回车/换行符,整行读取 ...

  5. Java网络编程学习A轮_03_抓包分析TCP四次挥手

    参考资料: http://www.jellythink.com/archives/705 示例代码: https://github.com/gordonklg/study,socket module ...

  6. Java网络编程学习A轮_04_TCP连接异常

    参考资料: https://huoding.com/2016/01/19/488 示例代码: https://github.com/gordonklg/study,socket module A. C ...

  7. Java网络编程学习A轮_02_抓包分析TCP三次握手过程

    参考资料: https://huoding.com/2013/11/21/299 https://hpbn.co/building-blocks-of-tcp/#three-way-handshake ...

  8. Java 网络编程学习总结

    新手一枚,Java学习中,把自己学习网络编程的知识总结一下,梳理下知识,方便日后查阅,高手莫进. 本文的主要内容: [1]    网络编程认识                [2]  TCP/IP编程 ...

  9. Java网络编程学习笔记

    Java网络编程,我们先来看下面这一张图: 由图可得:想要进行网络编程,首先是服务器端通过ServerSocket对某一个端口进行监听.通过accept来判断是否有客户端与其相连.若成功连上,则通过r ...

随机推荐

  1. mysql参照完整性 策略设置之 on update 和 on delete

    一.当表中有外键约束的时候参照表中数据的删除和修改违背参照完整性时 可根据以下策略进行处理 1.两条策略设置为cascade的时候 参照表中的数据修改或者删除的时候改表中数据也会被删除 2.两条策略设 ...

  2. PATH and CLASSPATH

    PATH and CLASSPATH 1. 可以不设置PATH直接运行Java应用的.PATH的设置只是为了使用上的方便. 2. PATH设置的是Java的bin目录,使得bin目录下的可执行程序能够 ...

  3. python之路 django基础

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  4. 62. Unique Paths (走棋盘多少种不同的走法 动态规划)

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  5. 机器学习实战python3 决策树ID3

    代码及数据:https://github.com/zle1992/MachineLearningInAction 决策树 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特 ...

  6. HackerRank - greedy-florist 【贪心】

    HackerRank - greedy-florist [贪心] 题意 有N个人 要去买K朵花.老板为了最大化新顾客的数量.就压榨回头客.每一朵花都有一个基本价格.一个顾客买下这朵花的价格是他来这里买 ...

  7. NGUI混合FingerGesture《卷一》 统一坐标

    问题背景 使用FingerGesture 获取触碰点2D坐标, 将该2D坐标赋值给NGUI元素,发现位置出现偏差. 排查思路 1:NGUI的 (0,0,0)默认位置是在屏幕正中心.而FingerGes ...

  8. C++切割字符串

    std::string text = "2001_1;2005_5;"; std::stringstream ss(text); std::string sub_str; std: ...

  9. 对java NIO 通道的一些了解

    @引言 reactor(反应器)模式 使用单线程模拟多线程,提高资源利用率和程序的效率,增加系统吞吐量.下面例子比较形象的说明了什么是反应器模式: 一个老板经营一个饭店, 传统模式 - 来一个客人安排 ...

  10. templates页面超链接访问Controller方法

    <h3>部署列表:</h3> <table border="1px" cellspacing="0px" width=" ...