IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 11.26学习总结 -> 正文阅读

[网络协议]11.26学习总结

线程安全:
? ? ? ? 多线程同时操作同一份资源,才有可能遇到数据不安全情况

? ? 同步锁 : synchronized
? ? 使用分为2部分:
? ? ? ? 同步的条件 : 协调多个线程排队执行的条件(对象的锁资源:默认理解为只有一个)
? ? ? ? 同步的代码 : 多个线程之间排队执行的代码

? ? 同步方法: synchronized关键字修饰方法 --> 简单,但是范围可能过大,效率低
? ? ? ? 成员方法
? ? ? ? 静态方法

? ? 同步块: 需要多线程排队执行的代码定义在同步块中,满足条件要求才能执行 --> 排队执行的代码范围小,效率高,有可能不安全
? ? ? ? synchronized(条件){
? ? ? ? ? ? 排队执行的代码段;
? ? ? ? }


? ? 同步块: 需要多线程排队执行的代码定义在同步块中,满足条件要求才能执行 --> 排队执行的代码范围小,效率高,有可能不安全
? ? ? ? synchronized(条件){
? ? ? ? ? ? 排队执行的代码段;
? ? ? ? }
? ? ? ? 条件:
? ? ? ? ? ? this : 默认指代当前调用成员方法的对象
? ? ? ? ? ? 类.class : 指代某一个类型的Class对象
? ? ? ? ? ? 资源 : 成员变量->对象


? ? 测试使用同步块保证12306案例数据安全:
? ? ? ? 锁类.class : 简单,因为一个类的Class对象只有一个,相当于锁了这个类的所有对象,如果存在多个对象,建议直接锁某个对象,使用this
? ? ? ? 锁this : 锁住当前调用成员方法的对象,相当于锁了当前对象的所有资源(成员),如果只想锁某一个资源,name建议直接锁资源

注意:
? ? ? ? 锁要锁不变的东西才能锁住,自定义的引用数据类型的地址不变

?网络编程: 底层数据的传输
? ? 网页编程: 上层的应用

? ? IP : 表示定位节点
? ? 端口 : 区分软件
? ? URL : 统一资源定位符
? ? 协议 : 标准 , 要求 , 合同 , 协议可以使交流变得更加畅通,更加标准,更加规范.
? ? 传输层协议 :
? ? ? ? UDP : 相当于写信, 协议简单,开销小,效率高 ?不安全 ? 大小有限制,一般不超过60k
? ? ? ? TCP : 相当于打电话, 面向连接的,安全,效率低 ? 没有大小限制 ?*****

? ? IP : 定义互联网中的节点
? ? ? ? IPV4 : 4个字节 ?32位
? ? ? ? IPV6 : 12位

? ? ? ? 特殊的IP地址:
? ? ? ? ? ? 192.168.0.0~192.168.255.255 非注册IP,供组织内部使用
? ? ? ? ? ? 127.0.0.1 ?本地IP
? ? ? ? ? ? localhost : 本地
? ? ? ? ? ? IP -> 域名 : DNS解析器

? ? java.net 网络包
? ? InetAddress : 此类表示Internet协议(IP)地址。

端口 : ?区分软件
? ? ? ? 1.2个字节的端口号 ?0~65535
? ? ? ? 2.同一协议下端口号不能冲突
? ? ? ? 3.8000以内的端口号不推荐使用,称为预留端口号
? ? ? ? 4.常见的端口号:
? ? ? ? ? ? 80 : http
? ? ? ? ? ? 8080 : tomcat
? ? ? ? ? ? 1521 : Oracle
? ? ? ? ? ? 3306 : Mysql

? ? ?InetSocketAddress 此类实现IP套接字地址(IP地址+端口号).


? ? URL : 统一资源定位符
? ? ? ? 互联网的三大基石 : ?http html url

? ? 组成:
? ? ? ? 1.协议
? ? ? ? 2.域名
? ? ? ? 3.端口
? ? ? ? 4.资源

? ? ? ? http://www.baidu.com:80/index.html?username=zhangsan&password=1234#a

? ? ? ? URL : 类URL表示统一资源定位符,指向万维网上的“资源”的指针。

?Socket 套接字
? ? ? ? 传输层为应用层开辟的口子,相当于码头,插座..
? ? ? ? 不同的传输层协议下Socket实现不同
? ? ? ? 网络编程其实成为面向Socket编程

? ? 传输层协议: 合同
? ? ? ? UDP : 非面向连接的,相当于写信,邮寄包裹 ?不安全|不可靠 ? 协议简单,开销小,效率高 ?只管发送 ? 大小存在限制,不超过60k
? ? ? ? TCP : 面向连接,相当于打电话, ?安全可靠 ?但是效率低, 没有大小限制 ? 3次握手 ?4次挥手

? ? ?UDP协议下数据的传输
? ? ? ? 节点A : 发送端
? ? ? ? 节点B : 接收端
? ? ? ? UDP协议下两端平等,基于字节数组传输数据

? ? ? ? DatagramSocket : 此类表示用于发送和接收数据报包的套接字。
? ? ? ? DatagramPacket : 数据报包


? ? UDP协议实现发送端:
? ? ? ? 1.定义我是发送端 ?DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。
? ? ? ? 2.准备数据
? ? ? ? 3.数据打包 DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
? ? ? ? 4.发送数据 void send(DatagramPacket p)
? ? ? ? 5.关闭

? ? ? ? 注意: ?同一协议下端口号不能冲突

?UDP协议实现接收端:
? ? ? ? 1.定义我是接收端 DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。
? ? ? ? 2.准备包裹接收数据
? ? ? ? 3.接收数据,阻塞式接口 ?void receive(DatagramPacket p)
? ? ? ? 4.处理数据
? ? ? ? 5.关闭

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:15:37  更:2021-11-27 10:15:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/6 7:33:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码