首页 > 编程语言 >十八,JAVA 多线程,网络编程

十八,JAVA 多线程,网络编程

时间:2023-12-26 17:13:15浏览次数:33  
标签:JAVA Socket 编程 网络 ServerSocket 线程 多线程 资源

  • 线程的休眠

    • //线程的休眠
      try {    
         Thread.sleep(3000);// 毫秒
        } catch (InterruptedException e) {   e.printStackTrace();
      }
      // 第二种方式 :
      try {    
         TimeUnit.MINUTES.sleep(3);
      } catch (InterruptedException e) {   e.printStackTrace();
      }
  • 联合/插队 : join(),thread.join(0, 5);

  • 线程的礼让,Thread.yield();

  • 同步代码块 :synchronized 返回值类型 函数名(){}

    • synchronized (锁) {
        需要被同步的代码;
      }
  • 锁对象 : 所有线程看到的是同一个对象才会生效

    • 字符串/String : 不推荐使用

    • 当前类的字节码文件

    • this

  • synchronized (this) {
       if (tickets.size() > 0) {        
           Ticket ticket = tickets.remove(0);  
    System.out.println(Thread.currentThread().getName() + " 卖出了一张票 , 票号为 : " +ticket.getId());    
      }
    }
  • 死锁 :A 线程已经 占用 了 x 资源 , 需要 y资源才能继续执行 , 此时 , B线程 占有 y资源 ,需要 x资源才能继续执行

网络编程

  • 网络编程的目的:就是指直接或间接地通过网络协议与其他计算机进行通讯,把世界是虚拟地址绑定到一个网组里面,从而实现网络端的通信,网络主要的目的体现在资源共享上面。

  • Java提供的网络功能有四大类

    • URL:统一资源定位器

    • InetAddress:主机地址

    • Socket:套接字

    • Datagram:数据包

  • URL

    • URL是统一资源定位器(Uniform Resource Locator)的简称,它表示Internet上某一资源的地址。Internet上的资源包括HTML文件、图像文件、声音文件、动画文件以及其他任何内容

    • 格式:<传输协议>://<主机名>:<端口号>/<文件名>#<引用>

    • 例如:http://java.sun.com/index.html#chapter1

  • InetAddress

    • nternet上的主机有两种表示地址的方式:域名和IP地址,有时候需要通过域名来查找它对应的IP地址,有时候又需要通过IP地址来查找主机名。这时候可以利用java.net包中的InetAddress类来完成任务。

  • 基于TCP的socket编程

    • Socket通信属于网络底层通信,它是网络上运行的两个程序间双向通信的一端,它既可以接受请求,也可以发送请求,利用它可以较方便地进行网络上的数据传输

    • Socket通信机制的基本概念

      • 建立连接

      • 连接地址

      • TCP/IP Socket通信

  • Socket类与ServerSocket类

    • Socket类:Socket类用在客户端,用户通过创建一个Socket对象来建立与服务器的连接

    • ServerSocket:在Socket编程中,服务器端使用ServerSocket类

  • UDP服务器端编程

    • 无连接协议

    • 不保证消息的可靠传输

    • 它们由Java技术中的DatagramSocket和DatagramPacket类支持

标签:JAVA,Socket,编程,网络,ServerSocket,线程,多线程,资源
From: https://www.cnblogs.com/tonnpo/p/17928813.html

相关文章

  • 青少年学习编程的好处
    各位家长、老师和同学们,大家好!今天我要和大家分享的主题是:青少年学习编程的好处。我希望通过今天的分享,让大家更好地了解编程对于青少年的意义和价值。1.封面-主题:青少年学习编程的好处-副标题:提高逻辑思维,培养创新精神,掌握未来技能-报告人:您的名字2.引言-感谢大家的关注和......
  • 重温Java修饰符
    Java语言修饰符大致分为两类,即访问权限修饰符和非访问权限修饰符。一、访问权限修饰符public:共有访问。对所有的类都可见。protected:保护型访问。对同一个包可见,对不同的包的子类可见。default:默认访问权限。只对同一个包可见,注意对不同的包的子类不可见。private:私有访问。......
  • 7. Java 内存模型
    Java内存模型Java内存模型(JavaMemoryModel)的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到内存和从内存中取出变量值这样的底层细节1.主内存与工作内存Java内存模型规定了所有的变量都存储在主内存(MainMemory)中(虚拟机内存的一部分)。每条线程......
  • java接口自动化系列(01):自动化测试框架设计(入门版)
     前言想必很多测试小伙伴自动化都是用的python吧?从当前测试招聘要求可以看到,测试开发就是全栈要求,要想在职场有竞争力,就得多个技术方向逐个提升;而和自动化、测开、性能、白盒等都相关的语言就是java,当然,这是基于很多公司项目是java来说的,毕竟Java已经发展了近20年,丰富的周边框架打......
  • java接口自动化系列(02):测试数据文件设计
    说明本次分享的是测试数据存excel中,后续分享测试数据存yaml中常用数据用例数据频繁使用到的值,我们可以放到一个变量中,这样避免修改值的时候大面积修改示例sheet名称:variables解释:标题行每个单词首字母大写,因为代码里面反射会用到解释:字段数据Name:变量名,#{xxx}整体表示变量名Value:变......
  • Java泛型详解
    Java泛型详解转载自:Java中的泛型(两万字超全详解)一、泛型概述1.什么是泛型?为什么要试用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参列表,普通方法的形参列表中,每个形参的数据类型的确定的,而变量是一个参数。在调用普通方法时需要传入对应形参数据类型的......
  • java读取yaml文件
    应用场景自动化测试中,用例数据存放在yaml文件中 数据 person.yaml---id:1name:韧age:18---id:2name:qzcsbjage:19person2.yaml----id:3name:小韧age:18-id:4name:全栈测试笔记age:19person3.yaml----id:5name:韧哥age:18......
  • JavaWeb - Day12 - 基础登录功能、登录校验(重点)、登录认证、异常处理
    01.登录基础功能在前面的课程中,我们已经实现了部门管理、员工管理的基本功能,但是大家会发现,我们并没有登录,就直接访问到了Tlias智能学习辅助系统的后台。这是不安全的,所以我们今天的主题就是登录认证。最终我们要实现的效果就是用户必须登录之后,才可以访问后台系统中的功能。......
  • 无涯教程-Java9 - JavaDocs增强
    可以使用javadoc工具生成Java文档。当前,它以html4.0格式生成文档。在Java9中,无涯教程可以通过在命令行参数中使用-html5选项来生成html5格式的文档。旧样式Java文档考虑以下C:/JAVA文件夹中的代码。/***@authorMahKumar*@version0.1*/publicclassTester{......
  • Java 二维数组
    二维数组:二维数组的元素个数=二维数组中一维数组的个数= arr.length;二维数组的每个元素是一维数组,所以如果需要得到每个一维数组中的元素,还需要再遍历一维数组;arr[i][j]表示:二维数组的第 i+1 个一维数组的第 j+1 个元素;二维数组的初始化: 1.静态初始化定......