SPI 介绍
在进行应用程序开发的时候,经常有这样一类需求,在不修改源代码的情况下,动态的为我们的程序提供一系列特性,比如我们可以为每一个方法在执行前,执行后动态的运算它的执行时间;或者收集jvm、内存、cpu的运行指标等等,像这些灵活扩展的功能该如何实现呢?在springboo...
2年前 (2023-01-29) 1052℃
1喜欢
为什么要用序列化
对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。//当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。
序列化过程:用一个字节序列可以表示一个...
2年前 (2022-10-08) 973℃
0喜欢
说明
Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。...
2年前 (2022-09-18) 6473℃
0喜欢
Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。
语法
Lambda 表达式:在Java 8 语言中引入的一种新...
2年前 (2022-09-18) 914℃
0喜欢
什么是java反射机制
Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。
加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Cl...
2年前 (2022-09-14) 1325℃
0喜欢
泛型相关说明
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。
泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
泛型是一种把类型的明确工作推迟到创建对象或者调用...
2年前 (2022-09-09) 1601℃
3喜欢
线程池
并发是伴随着多核处理器的诞生而产生的,为了充分 利用硬件资源,诞生了多线程技术。但是多线程又存在资源竞争的问题,引发了同步和互斥的问题,JDK 1.5推出的java.util.concurrent(并发工具包)来解决 这些问题。
new Thread的弊端
new Th...
2年前 (2022-09-05) 1278℃
3喜欢
什么是线程安全问题
当我们使用多个线程访问同一资源(可以是同一个变量、同一个文件、同一条记录等)的时候,若多个线程只有读操作,那么不会发生线程安全问题。但是如果多个线程中对资源有读和写的操作,就容易出现线程安全问题。
举例1:
举例2:
火车站要卖票,我们模拟火车站的卖票过程。...
2年前 (2022-09-05) 3820℃
0喜欢
多线程的一些概念
什么是并发:
并发就是指程序同时处理多个任务的能力。
并发编程的根源在于对多任务情况下对访问资源的有效控制。
程序、进程与线程
程序:是静态的概念,比如qq、微信、网易云音乐都是程序的一种。
进程:是动态的概念,是程序在运行的状态,进程说明程序在内存中的边界。
...
2年前 (2022-09-05) 1183℃
0喜欢
1.为什么要用比较器
我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,之间使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。要解决这个问题就需要用到java的比较器。
在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的...
2年前 (2022-08-28) 4768℃
5喜欢