zoukankan      html  css  js  c++  java
  • java核心学习(二十八) 网络编程 网络工作方式简述

        程序员可以由java提供的一些用于网络编程的API和工具类可以实现对TCP/IP网络的各种编程,利用TCP/IP传输信息,从而实现主要的四个功能:

          资源共享;

          信息集中处理;

          均衡负荷与分布处理;

          综合信息服务;

        本文对以下几个问题进行简述,来解释计算机网络宏观上的工作方式。

      程序员编写java代码使用java提供的网络编程API时,实际上是做了什么?

        举例说明,当程序员使用一个java程序发起TCP请求时,首先需要实现java提供的面向传输层协议TCP的编程接口,这些借口会调用TCP协议程序来对数据包进行处理并送往下一层,也就是网络层的IP协议程序,由网络层协议程序再向下转发,到链路层协议程序,网卡驱动(网卡驱动是链路层程序里面与外部设备“网络适配器”接壤的,出了网卡驱动实际上数据已经传出本机),网卡驱来指挥网卡(网络适配器,包含处理器与存储)读取内存中哪些位置的数据,当网卡读取了这些“”01“”数据后,根据使用的其他的数据链路层协议(以太网协议就是其中一种),最终转化为电信号或光信号,通过传输介质传送到下一个物理节点。

      由上面的解释来看,java程序员所要做的仅仅是实现java提供的网络编程接口,而不用关心之后的网络协议栈是如何工作的。事实上大部分的操作系统都实现了自己的网络协议栈程序,部分操作系统将传输层与网络层协议程序实现在内核态,而现在的操作系统大部分在用户态和内核态都实现了应用层、传输层与网络层的协议栈。链路层协议程序部分在本机内实现(如网卡驱动),部分在网卡内实现,如支持以太网的程序需要运行在网卡内。

      底层可以暂时不去详细了解,而运行在java虚拟机之上的程序则是我们接下来的重点了解对象。

      

  • 相关阅读:
    和为S的连续正数序列
    数组中只出现一次的数字
    平衡二叉树
    二叉树的深度
    水仙花数
    数列求和
    数值统计
    奇数乘积
    求绝对值
    求两点的距离
  • 原文地址:https://www.cnblogs.com/Theshy/p/7641939.html
Copyright © 2011-2022 走看看