栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

11.26学习总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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.关闭

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号