
高级编程
文章平均质量分 84
Java高级编程
一二¬
Java开发
展开
-
【高级编程】泛型的定义(接口 类 方法)无界通配符 <?> 上界&下界通配符 <? extends T>&<? super T>
在Java泛型中,类型参数通常是单个大写字母,它们代表的是未知的数据类型。这些字母的选择并不是强制性的,但有一些常见的惯例来帮助开发者快速理解代码的意图。它们可以在非泛型类中定义,并且可以有自己独立于类本身的类型参数。包含一个或多个类型参数的类。创建该类的对象时,需要为这些类型参数提供具体的数据类型。这使得类能够以一种类型安全的方式处理不同类型的数据。这意味着当实现这个接口的时候,必须指定具体的类型参数。这样,该接口中的所有抽象方法都可以操作指定的数据类型。:不允许添加新的元素,因为不确定具体的类型。原创 2024-09-25 15:06:48 · 571 阅读 · 0 评论 -
【高级编程】XML DOM4J解析XML文件(含案例)
XML(EXtensible Markup Language),可扩展标记语言。XML 与操作系统、编程语言的开发平台无关。DOM4J(Document Object Model for XML in Java)是一个简单、轻量级的Java库,用于处理XML文档。它提供了一种方式来读取、修改和写入XML文件。DOM 把 XML 文档映射成一个倒挂的树。接下来分别定义读取、修改、添加、删除 XML 的静态方法。除非带有前缀,否则属性属于所属的元素的命名空间。元素名称可以包含字母、数字或其他的字符。原创 2024-09-21 11:35:46 · 1784 阅读 · 0 评论 -
【高级编程】网络编程 基于 TCP&UDP 协议的 Socket 编程
Socket 是一种网络通信的基础工具,它用于在计算机网络上进行数据传输。简而言之,Socket 提供了应用程序与网络之间的接口,使得应用程序可以通过网络发送和接收数据。Socket 的底层机制复杂,Java 平台提供了一些简单的 API,可以更简单有效的使用Socket 开发而无需了解底层机制。它提供了用于创建 UDP 套接字并通过其发送和接收数据报的功能。:表示要发送或接收的 UDP 数据包。为了在网络中不同的计算机之间进行通信而建立的规则、标准或约定的集合。包的一部分,用于实现基于TCP的网络通信。原创 2024-09-19 11:01:11 · 1392 阅读 · 0 评论 -
【高级编程】synchronized 解决并发问题 类的线程安全类型
悲观锁假设最坏的情况,即认为数据总是会被其他线程修改,因此在处理数据之前就先获取锁。这样可以避免数据冲突,但也可能导致较高的竞争开销。模拟 “A” “B” “C” 三人抢票,总票数10张,打印抢票情况以及剩余票数。当一个线程访问一个同步代码块时,其他线程可以访问该资源的非同步代码。为达到安全性和效率的平衡,可以根据实际场景来选择合适的类型。当一个线程访问一个同步代码块时,其他同步代码块同样被锁定。多个并发线程访问同一资源的同步代码块时。修饰的方法控制对类成员变量的访问,就是为当前的线程声明一把锁。原创 2024-09-13 16:43:32 · 1101 阅读 · 0 评论 -
【高级编程】认识Java多线程 代码举例三种创建线程的方式
线程:CPU调度和分派的基本单位,进程中执行运算的最小单位,可完成一个独立的顺序控制流程多线程:如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”。多个线程交替占用CPU资源,而非真正的并行执行原创 2024-09-11 11:56:57 · 575 阅读 · 0 评论 -
【高级编程】Java IO流(补)序列化 & 反序列化
Java的序列化和反序列化是用于将对象转换为字节流的过程,以便在网络上传输或保存到磁盘,然后将这些字节流再转换回对象。这个过程是Java中处理对象持久化和传输的常见方法。序列化是将对象的状态转换为字节流的过程。这个字节流可以被保存到文件、发送到网络,或者其他存储介质中。序列化使得对象可以被持久化,以便在未来重新创建该对象。反序列化是将字节流转换回对象的过程。它是序列化的逆过程,通过读取字节流并重建原来的对象。原创 2024-09-10 15:14:25 · 610 阅读 · 0 评论 -
【高级编程】Java IO流(下)字符流 Reader Writer 字节流读取二进制文件
Reader 是一个抽象类,用于读取字符流。它是所有字符输入流的基类。`Reader` 提供了一些基本的方法来读取字符数据。Writer 是 Java I/O 系统中处理字符流的抽象基类。它定义了写入字符的方法,并且提供了子类实现这些方法的基础。原创 2024-09-10 14:42:03 · 838 阅读 · 0 评论 -
【高级编程】Java IO流(上)字节流 InputStream OutputStream
文件是指相关记录或放在一起的数据的集合。是一种用于存储数据的基本单位,它可以包含各种类型的信息,例如文本、图像、音频或视频。文件在计算机中通常存储在磁盘或其他存储介质上,并且每个文件都有一个唯一的文件名和扩展名(如。类是进行文件和目录操作的主要类。它提供了一些方法来创建、删除、检查文件和目录的属性以及操作文件内容。原创 2024-09-09 14:58:32 · 1005 阅读 · 0 评论 -
【高级编程】实用类详解(下)万字整理Java时间日期类 JDK8新日期
Java 语言规定,1970年1月1日0时0分0秒认为是时间的起点,此时记作0,1 秒 =1000 毫秒,1000就表示1970年1月1日0时0分1秒。是一个精确到纳秒的时间表示,适用于需要高精度时间计算的场景。它简化了处理时间戳的复杂性,并提供了方便的 API 用于时间计算和比较。进行日期和时间的解析与格式化时,要确保使用的模式字符串与待处理的日期时间字符串相匹配。由于世界各个国家与地区的经度不同,各地区的时间也有所不同,因此会划分为不同的时区。可以用来计算两个日期之间相隔的年、相隔的月、相隔的日。原创 2024-09-05 17:39:12 · 1429 阅读 · 0 评论 -
【高级编程】实用类详解(补充)StringBuffer类 和 StringBuilder类
StringBuffer 是可变的字符串,String 是不可变对象,经常改变内容的字符串最好不要使用 String,可使用更高效的 StringBuffer,JDK5.0 后提供了 StringBuilder,等价 StringBuffer。是 Java 中的一个静态方法,用于获取当前时间的时间戳(即自1970年1月1日00:00:00 UTC起经过的毫秒数)。是 Java 中的一个可变字符序列类,允许在原始对象上进行修改,而不会生成新的字符串对象。虽速度慢,但是线程安全,方法是同步的。原创 2024-09-05 17:17:14 · 795 阅读 · 0 评论 -
【高级编程】实用类详解(中)String类及其常用方法 含判断邮箱格式案例
String 类位于 java.lang 包中,具有丰富的方法原创 2024-09-04 12:07:20 · 662 阅读 · 0 评论 -
【高级编程】实用类详解(上)枚举定义及相关方法案例 包装类 Math类 随机数(含案例)
默认情况下,枚举类是不需要构造方法的,默认的变量就是声明时的字符串。当 Number 包装类构造方法参数为 String 类型时,字符串不能为 null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出。所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例。用同一个种子值来初始化两个 Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的。包装类提供了一系列实用的方法。除Character类外,其他包装类都有如下方法(字符串 -> 包装类)原创 2024-09-03 12:06:07 · 1163 阅读 · 0 评论 -
【高级编程】万字整理集合框架 迭代器 泛型(含方法案例)
Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。一般遍历数组都是采用 for 循环或者增强 for,这两个方法也可以用在集合框架,还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了。Collections 和 Collection 不同,前者是集合的操作类,后者是集合接口。实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高。集合框架是一个用来代表和操纵集合的统一架构。原创 2024-08-30 17:01:36 · 1805 阅读 · 0 评论