UDP通信程序编写 发送数据 用发快递来做比喻,用UDP发送数据可以拆分为以下几个步骤: 需要使用DatagramSocket创建UDP连接,然后使用DatagramPacket打包要发送的数据,示例代码: importjava.io.IOException; importjava.net.; publicclassUDPSendingMsgDemo{ publicstaticvoidmain(String[]args)throwsIOException{ //发送数据 //1.创建DatagramSocket对象(快递公司) //细节: //绑定端口,以后我们就是通过这个端口往外...

  93byl95AX42O   2023年12月29日   8   0   0 Java数据.NET数据Java.net

线程安全问题 考虑如下情景: 某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票。 publicclassTicketSellerextendsThread{ //定义票的数量 staticintticket=0;//取值范围:099 @Override publicvoidrun(){ while(true){ if(ticket<100){ try{ //创建延时效果 Thread.sleep(100); }catch(InterruptedExceptione){ thrownewRuntimeException(e); } ti...

Java多线程 相关概念 线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 进程 进程是程序的基本执行实体 多线程 简单理解:应用软件中互相独立,可以同时运行的功能 并发和并行 并发:在同一时刻,有多个指令在单个CPU上交替执行 并行:在同一时刻,有多个指令在多个CPU上同时执行 小结 1.什么是多线程? 有了多线程,我们就可以让程序同时做多件事情 2.多线程的作用? 提高效率 3.多线程的应用场景? 只要你想让多个事情同时运行就需要用到多线程比如:软件中的耗时操作、所有的聊天软件、所有的服务器 多线程的实现方式 在Java中共有三种方式实现多线程...

一、多线程三种实现方式的对比 运行结果 优点 缺点 继承Thread类 无法获取 编程比较简单,可以直接使用 扩展性较差,不能再继承其他的类 实现Runnable接口 扩展性强,实现该接口的同时还可以继承其他的类 编程相对复杂,不能直接使用Thread类中的方法 实现Callable接口 可以获取 二、Thread类常见成员方法 方法名称 说明 StringgetName() 返回此线程的名称 voidsetName(Stringname) 设置线程的名字(构造方法也可以设置名字) staticThreadcurrentThr...

JavaProperties配置文件使用方法详解 使用配置文件的优点: 好处1:可以把软件的设置永久化存储 好处2:如果我们要修改参数,不需要改动代码,直接修改配置文件就可以了 Properties配置文件 文件后缀名为.properties,其内容是按键值对存储的。前面为键,后面为值。 properties是一个双列集合,拥有Map集合所有的特点。因此可以像使用Map对象一样去使用Properties对象。 重点:它有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中。也可以把配置文件中的数据,读取到集合中来。方便使用。 Properties作为双列集合的方法 Pro...

一、URL类简介 类URL表示统一资源定位器,即指向万维网上“资源”的指针。资源可以是文件或目录这样简单的东西,也可以是对更复杂对象的引用,例如对数据库或搜索引擎的查询。有关URL类型及其格式的更多信息,请访问:URL类型 一般来说,URL可以分为几个部分。考虑以下示例: http://www.example.com/docs/resource1.html 上面的URL表示要使用的协议是http(超文本传输协议),并且信息位于名为www.example.com的主机上。该主机上的信息名为/docs/resource1.html。此名称在主机上的确切含义取决于协议和主机。信息通常存在于文件中,但...

  93byl95AX42O   2023年12月13日   10   0   0 字段Java字段HTMLJavahtml

练习 第一题 需求:在当前模块下的aaa文件夹中创建一个a.txt文件 importjava.io.File; importjava.io.IOException; publicclassFileExer01{ publicstaticvoidmain(String[]args)throwsIOException{ Filef1=newFile("AllInOne\\aaa"); f1.mkdirs(); Filesrc=newFile(f1,"a.txt"); booleanflag=src.createNewFile(); if(flag){ System.out.println(...

  93byl95AX42O   2023年12月08日   9   0   0 JavaJava递归递归

JavaFile类详解 基础知识 File类是什么? File对象代表路径,路径分为相对路径和绝对路径。 ●File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径。 ●这个路径可以是存在的,也允许是不存在的。 如路径1:"a.txt"路径2:"abc\\a.txt"是相对路径,路径1:“C:\\a.txt” 路径2:"C:\\abc\\a.txt"是绝对路径。 File的常用方法: 方法名称 说明 publicFile(Stringpathname) 根据文件路径创建文件对象 publicFile(Stringparent,Stringchild) 根据父路径...

  93byl95AX42O   2023年12月06日   11   0   0 字符串JavaJava字符串

Java异常机制入门详解 基础知识 什么是异常? 在Java语言中,异常就是代表程序出现的问题。异常的引入不是让我们以后不出异常,而是程序出了异常之后,该如何处理。如如下两段代码,会各抛出一个异常: int[]arr={10,20,30}; System.out.println(arr[3]); ArrayindexOutOfBoundsException 数组索引越界异常 inta=10; intb=0; System.out.println(a/b); ArithmeticException 算数异常 异常的体系 Error异常(严重错误) Error:代表的系统级别错误(...

Java方法引用 基础知识 什么是方法引用? 把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体 使用方法引用的条件 方法引用必须满足以下几个条件: 1.引用处必须是函数式接口 2,被引用的方法必须已经存在 3,被引用方法的形参和返回值 需要跟抽象方法保持一致 4.被引用方法的功能要满足当前需求 比如,使用Arrays.sort方法时我们需要实现一个Comparator接口的匿名类,使用方法引用后,可以使用已定义的满足上述条件的方法进行实现。 Arrays.sort(arr,newComparator<Integer>(){@override publicintcompar...

Java流Stream使用详解 一、体验Stream流的作用 需求:按照下面的要求完成集合的创建和遍历创建一个集合,存储多个字符串元素 ArrayList<String>list=newArrayList<>(); list.add("张无忌"); list.add("周芷若"); list.add("赵敏"); list.add("张强"); list.add("张三丰"); 完成如下要求: 1.把所有以“张”开头的元素存储到新集合中 2.把“张”开头的,长度为3的元素再存储到新集合中 3.遍历打印最终结果 实现代码参考: importjava.util.Arr...

  93byl95AX42O   2023年12月01日   9   0   0 SystemSystemJava数据数据Java

Java不可变集合 不可变集合:也就是不可以被修改的集合 创建不可变集合的应用场景 ●如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践。 ●当集合对象被不可信的库调用时,不可变形式是安全的。 简单理解:不想让别人修改集合中的内容 创建不可变集合的书写格式 在List、Set、Map接口中,都存在静态的of方法,可以获取一个不可变的集合。 方法名称 说明 static<E>List<E>of(E…elements) 创建一个具有指定元素的List集合对象 static<E>Set<E>of(E…elemen...

Idea中使用Debug模式 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。 Debug开篇 首先看下IDEA中Debug模式下的界面。 如下是在IDEA中启动Debug模式,进入断点后的界面,我这里是Windows,可能和Mac的图标等会有些不一样。就简单说下图中标注的8个地方: ①以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。 ②断点:在左边行号栏单击...

Java正则表达式从入门到精通 JAVA正则表达式规则 Java中的正则表达式规则,在java.util.regex.Pattern类文档中有详细说明。 字符类匹配符(只匹配一个字符) 规则字符 说明 [abc] 匹配a,b或c中的任意一个字符 [^abc] 除a,b或c之外的任意一个字符(取反) [a-zA-Z] 包含在a到z或A到Z范围内的任意一个字符(范围) [a-d[m-p]] a到d,或m到p,等价于[a-dm-p](并集) [a-z&&[def]] d,e或f(交集) [a-z&&[^bc]] a到z范围中除...

Java泛型Generics 泛型基础知识 泛型:是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。 泛型的格式:<数据类型> 注意:泛型只能支持引用数据类型。如果我们没有给集合指定类型,默认认为所有的数据类型都是Object类型,此时可以往集合中添加任意的数据类型。带来一个坏处是由于多态的存在,我们在获取数据的时候,无法使用他的特有行为。此时推出了泛型,可以在添加数据的时候就把类型进行统一。而且我们在获取数据的时候,也避免了强转,使用上非常的方便。泛型的优点●统一数据类型。●把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,因为在编译阶段类...

  93byl95AX42O   2023年11月25日   46   0   0 ci数据类型泛型ci数据类型泛型

Java可变参数 在使用Collections工具类时,会用到addAll方法,其中就要使用到可变参数,因此要求我们必须学会可变参数的定义和使用。JDK5开始引入可变参数,也即方法形参的个数是可以发生变化的,其定义格式为: 格式:属性类型...名字 int...nums 其底层原理就是在实际调用时将传入的可变参数装入一个数组当中。因此,访问此可变参数的实参与访问数组的方法一致,如下代码: / 可变参数方法示例 @paramnums可变参数 @return所有参数之和 / publicstaticintgetSum(int...nums){ intsum=0; for(intnum:num...

ESP32检测家中温湿度上云,随时随地多端查看温湿度 背景介绍 上次说到用ArduinoUno板子结合DHT11温湿度传感器,在Serial里实时返回温湿度的方法,总觉得还差点意思,一是只能配合电脑查看,不够节能,也不环保,不够爱护地球母亲,毕竟诸如Arduino之类的板子的电耗最高也就几十个毫安,0.1瓦都不到,电脑一开机那可是一两百瓦的功耗;二是查看温湿度也不方便,只能在电脑的Serial端口上看或者在板子上加个液晶屏(无论是液晶屏还是数码管),都不太方便。 因此,我觉得使用ESP32板子来实现温湿度检测就有了非常大的优势,利用ESP32自带的WiFi模块,考虑到实现的便利性,使用HTTP...

  93byl95AX42O   2023年11月22日   24   0   0 MySQLphpMircoPython数据库esp32

ArduinoUNO使用DHT11温湿度传感器通过串口向PC发送温湿度信息 硬件介绍 笔者使用的开发板为ArduinoUNO国产兼容板,淘宝上大约卖20rmb左右。如下图 DHT11传感器为四脚封装样式,从正面看引脚从左往右依次为1、2、3、4引脚,其中1引脚为VCC35V,2引脚为通信引脚要与单片机引脚相连,3引脚是个NC,4引脚GND接地。 此外,还有面包板、直插面包版的USB供电模块和若干必要的杜邦线。 适用于Arduino开发环境的DHT传感器的库文件下载 请从GITHUB下载: https://github.com/markruys/arduino-DHT 下载库文件,如图: ...

  93byl95AX42O   2023年11月19日   18   0   0 引脚串口库文件

Java集合类API详解 单列集合 一次添加一个数据的集合。它们的根接口是Collection,具体体系如图: List系列集合的特点:添加的元素是有序、可重复、有索引的。也即存和取的顺序是一致的;包含的元素是可以有重复的;包含的元素是有索引的,可以通过索引对元素进行操作。 Set系列集合的特点:添加的元素是无序、不重复、无索引。也即存和取的顺序有可能是不一样的;包含的元素是不能也不会有重复,也即元素是唯一的;包含的元素是无索引的,不能通过索引对元素进行操作。 祖宗接口Collection Collection是单列集合的祖宗接口(顶层接口),它的功能是全部单列集合都可以继承使用的。 ...

Java集合类API详解 双列集合 双列集合的概念,也即一次添加一对数据的集合。双列集合的特点: ①双列集合一次需要存一对数据,分别为键和值 ②键不能重复,值可以重复 ③键和值是一一对应的,每一个键只能找到自己对应的值 ④键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做“Entry对象” Map的常见API Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的 方法名称 说明 Vput(Kkey,vvalue) 添加元素 Vremove(Objectkey) 根据键删除键值对元素 voidclear() 移除所有的键值对元素 ...

  93byl95AX42O   2023年11月18日   13   0   0 System键值对SystemJavaJava键值对
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~