
Java高级编程
文章平均质量分 96
Java工具类、多线程以及一些高级用法
DustinWangq
在代码的世界,打下属于自己的天下
展开
-
jdk8新特性
只包含一个抽象方法的接口,称为函数式接口。你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式 抛出一个受检异常(即:非运行时异常),那么该异常需要在目标接口的抽 象方法上进行声明)。我们可以在一个接口上使用注解,这样做可以检 查它是否是一个函数式接口。同时 javadoc 也会包含一条声明,说明这个 接口是一个函数式接口。在java.util.function包下定义了Java 8 的丰富的函数式接口// 函数式接口中使用泛型:Stream到底是什么呢?原创 2024-03-28 16:00:11 · 1250 阅读 · 0 评论 -
Java反射详解
Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可 以通过这个对象看到类的结构。。原创 2024-03-07 10:15:07 · 1209 阅读 · 0 评论 -
java网络编程
通信双方地址IP端口号一定的规则(即:网络通信协议。有两套参考模型)OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。原创 2024-03-05 15:43:41 · 988 阅读 · 0 评论 -
Java中的IO流详解
Java NIO (New IO,Non-Blocking IO)是从Java 1.4版本开始引入的一套新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。 |-----FileChannel:处理本地文件。原创 2024-03-05 10:00:45 · 912 阅读 · 0 评论 -
10_Java泛型
泛型的声明interfaceList和 class其中,T,K,V不代表值,而是表示类型。这里使用任意字母都可以。常用T表示,是Type的缩写。泛型的实例化一定要在类名后面指定类型参数的值(类型)。如:();T只能是类,不能用基本数据类型填充。但可以使用包装类填充把一个集合中的内容限制为一个特定的数据类型,这就是generics背后的核心思想// jdk5之前// jdk5之后// 编译错误体会:使用泛型的主要优点是能够在编译时而不是在运行时检测错误。原创 2024-02-19 11:51:39 · 1045 阅读 · 0 评论 -
09_Java集合
鉴于Java中数组用来存储数据的局限性,我们通常使用List替代数组List 集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。List 容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。ArrayListLinkedList和Vector。Set 接口是 Collection 的子接口,set 接口没有提供额外的方法Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个Set 集合中,则添加不成功。原创 2024-02-18 23:03:24 · 1003 阅读 · 0 评论 -
08_Java枚举类与注解
私有化类的构造器,保证不能在类的外部创建其对象在类的内部创建枚举类的实例。声明为:public static final对象如果有实例变量,应该声明为private final,并在构造器中初始化//季节的名称 private final String SEASONDESC;//季节的描述 private Season(String seasonName , String seasonDesc) {原创 2023-06-09 17:39:18 · 288 阅读 · 0 评论 -
07_Java常用类
public int。原创 2023-05-31 09:47:16 · 511 阅读 · 0 评论 -
06_Java多线程
第一个访问某项资源的任务必须锁定这项资源,使其他任务在其被解锁之前,就无法访问它了,而在其被解锁之时,另一个任务就可以锁定并使用它了。但是因为CPU时间单元特别短,因此感觉不出来。ReentrantLock 类实现了 Lock ,它拥有与 synchronized 相同的并发性和内存语义,在实现线程安全的控制中,比较常用的是ReentrantLock,可以显式加锁、释放锁。**就绪:**处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源。原创 2023-05-22 17:19:20 · 121 阅读 · 0 评论