易截截图软件、单文件、免安装、纯绿色、仅160KB

java网络原理

今天是新年第一篇文章,先祝各位读者新年快乐,虎虎生威!
从今年开始我会陆续讲解服务器开发各部分的知识和技巧(只是个人见解与相关资料的整合,如有错误还希望各位网友指出)。首先来讲下Java网络,网络技术是Java语言中很重要的一部内容,因为Java的语言产生的核心思想:网络与安全。
而且目前的很多的软件的开发也与网络紧密的联系在一起,Java为了使开发者更简单使用网络技术,基本上已经将很多层都封装起来了。提供给开发者可以看到是运输层代码的使用。在了解之前,介绍下网络分层,如表所示:
 
应用层
 
应用层
表示层
会话层
运输层
运输层
网络层
网络层
链路层
链路层
物理层
物理层
表格的左边是因特网协议栈,表格右边是ISO/OSI参考模型。
所谓协议分层(这是一个软件设计的体系部分),分层的原则要求是下层为其相邻的上层提供服务,而上层不能直接调用与其不相邻层的服务,或者下层去调用相邻上层的服务(但是在有些特殊场景下,是可以打破这个原则的)。为什么需要分层呢?这是因为对于大而复杂且需要不断更新的系统,改变服务的实现而不影响该系统其他部分的能力是分层的优点之一。
另外各层对分组的命名都是不同的,如:
应用层对应用分组称为报文。
运输层对运输分组称为报文段。
网络层对网络分组称为数据报。
链路层对链路分组称为帧。
在网络传输过程中会有时延、丢包和吞吐量等因素的考虑。
网络时延分为节点处理时延、排队时延、传输时延和传播时延,这些时延总体累加起来就是节点总时延。
节点处理时延包括检查分组首部、决定分组导向何处、检查比特差错等处理的时间。
排队时延主要是分组在链路等待传输这个时间。
传输时延主要是将所有分组的比特推向链路所需要的时间。
传播时延主要是从该链路的起点到终点传播所需要的时间。
这里需要注意下的是传输时延与传播时延是有区别的,前者与分组长度有关,后者与两个节点的距离有关。
丢包是因为路由器的排队容量有限,当流量强度接近于1时到达分组将发现一个满队列。由于没有地方可以存储这个分组,路由器将丢弃该分组,即该分组将会丢失。
关于吞吐量是一个网络性能测试必不可少。简单的说就是如果该文件由F比特组成,而主机接收到所有F比特用了T秒,那么文件传输的平均吞吐量为F/Tbps(比特/秒)。
我将从应用层到物理层进行相关描述。
应用层应该是我们Java程序员接触最多的,因为这里涉及到了大量的应用层协议如:HTTP协议、


相关文档:

Java Web 第四天 使用Servlet处理请求

一、
GET

POST
的区别
1.GET
提交的是文本内容,规定其数据长度不超过
255
个字符。在
GET
方式提交的
URL
中会显示出提交的查询数据而却提交数据的缓存会在浏览器的
URL
历史状态中,这样我们往往在浏览网页的时候点击后退键不需要重新发送请求。
2.POST
提交的可以使文本内容,也可以使二进制内容,所 ......

Java Web 第五天 Web状态管理

一、
为什么要
Web
状态管理
对于每个容器而言每个请求都相当于一个新的客户,因为当服务器生成
Response
返回到客户端,在客户端显示出来后相对应的
Socket
就会关闭,所以
HTTP
协议是个无状态的协议,他不能保存当前用户的信息。
二、
实现状态管理的方式
1.      

在网 ......

Java Web 第10天 EL和JSTL 1

一、
什么是
EL
?为什么要使用
EL

EL
,即
JSP
表达式语言(
expression_r_r Language
),它允许我们使用更简洁、更易读懂的语法来取代难以维护的
Java
脚本以及笨拙的
jsp:userBean,jsp:getProperty
,他让在
JSP
中完全消除了
Java
代码。
EL
的使用能够让
JSP
页面更有可读性,输出的嵌套的 ......

java中hashmap和hashtable的区别

 
1、  继承和实现区别
Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。
2、  线程安全不同
HashTable的方法是同步的,HashMap是未同步,所以在多线程场合要手动同步HashMap。
3、  对null的处理不同
HashTable不允许null值(key和value都不可以),HashMap允许n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号