随笔分类 - Java
摘要:Java SPI 示例前面简单介绍了 SPI 机制的原理,本节通过一个示例演示 Java SPI 的使用方法。首先,我们定义一个接口,名称为 Robot。public interface Robot { void sayHello();}接下来定义两个实现类,分别为 OptimusPrime 和 Bumblebee。public class OptimusPrime implements R...
阅读全文
摘要:0) 出现原因: 起初在对程序性能要求不高的年代,基本都是单线程编程,那个时候CPU基本是单核,随着计算机硬件技术的发展,出现了多核CPU,过去的单核编程已经不能更好的使用我们的CPU核心数目,加上对程序的速度性能的要求的提高,出现了并发编程技术. 单核程序的性能的瓶颈就是频繁的上下文切换,那么我们就可以通过减少上下文的切换来提高性能。让更多的CPU协同 异步工作.1)发展过程: ...
阅读全文
摘要:1: 多态 多态时继承下面的产物,之所以存在向上向下转型的目的,就是解决参数传递的不变形,体现面向接口编程的重要性, 1.1 方法的多态性 ①. 方法的重载:同一个方法名称可以根据参数的类型或个数不同调用不同的方法体。 ②. 方法的覆写:同一个父类的方法,可能根据实例化子类的不同也有不同的表现形式。
阅读全文
摘要:1: 概述 * 代码: //2.1获取student.xml的path String path = JsoupDemo1.class.getClassLoader().getResource("student.xml").getPath(); //2.2解析xml文档,加载文档进内存,获取dom树
阅读全文
摘要:1 准备 JDBC 基本知识 JDBC元数据知识 反射基本知识 2: 两个问题 业务背景:系统中所有实体对象都涉及到基本的CRUD操作。所有实体的CUD操作代码基本相同,仅仅是发送给数据库的sql语句不同而已,因此可以把CUD操作的所有相同代码抽取到工具类的一个update方法中,并定义参数接收变化
阅读全文
摘要:1:resultSet 1.1最基本的ResultSet. 1.2 可滚动的ResultSet类型 1.3 可更新的ResultSet 1.4 可保持的ResultSet 2:PrepareStatement 2.1: 基本操作 2.2 复用pststemetn 2.3 性能分析 3:执行批量SQL
阅读全文
摘要:目录 目录 JDBC: 抽取JDBC工具类 : JDBCUtils JDBC控制事务: JDBC: 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口
阅读全文
摘要:1:测试分类 2:常用测试方法 2.1 断言语句 3: 基本测试 4: 组合测试 5:参数化测试 6:分类测试(Category) 1:测试分类 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 2:常用测试方法 Junit
阅读全文
摘要:1:概述 主要谈一谈 Java使用fork/koin类 实现的并发排序 以及对于Stream流的支持的splitetor mismatch() -> 寻找两个数组 第一次出现数据不一致的下标 parallelPrefix() -> 对数组进行,累加求和 parallelSetAll() -> 对数组
阅读全文
摘要:1:Optional 1.1 概述 Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException),提供了一些的方法代替过去的if-else处理逻辑,并与Stream流结合提供一致性的函数式编程. 注意: Optional 不支持Java本身提供的序列化与反序列
阅读全文
摘要:1: 概论 Optional 是Java8用来改变java引发NPE的解决办法,但是不是绝对的解决办法 2: 例子: 很多博文一上来就给力以下使用例子 然后使用Optional 进行链式调用 下面我们对这个类进行序列化与反序列化: 抛出: Exception in thread "main" jav
阅读全文
摘要:1: 概述 1.1 优势 1.2 与传统迭代器的区分 1.3 流的操作类型分为两种: 2:流的构造与转换 2:1 常见构造 2.2: 三大包装类型的构造 2.3 并行流的规则输出 2.4 流的转换 3:流操作 3.1 操作分类 3.2 Map 映射 3.3 Filter 过滤器 3.4 Foreac
阅读全文
摘要:1: Stream流 1.1 引言 1.2 流式思想概述 1.3 获取流 1.4 常用方法 1.5 练习:集合元素处理 2:方法引用 2.1 冗余的Lambda场景 2.2 方法引用符 2.3 通过对象名引用成员方法 2.4 通过类名称引用静态方法 2.5 通过super引用成员方法 2.6 通过t
阅读全文
摘要:1: 函数式接口 1.1 概念 1.2 格式 1.3@FunctionalInterface注解 1.4 调用自定义函数接口 2:函数式编程 2.1:lambda的延迟执行 2.2 使用Lambda作为参数和返回值 3:常用函数式接口 3.1 Supplier接口(供应接口) 3.2 练习:求数组元
阅读全文
摘要:编程语言:Java 2019年全国高校计算机能力挑战赛分设大数据算法赛(所谓的内部试题) 一、选择题(共15题,每题3分,共45分) 1. 在Java中下列说法正确的是( ) A、一个子类可以有多个父类,一个父类也可以有多个子类 B、一个子类可以有多个父类,但一个父类只可以有一个子类 C、 一个子类
阅读全文
摘要:概念 实现 Serializable 接口, 它只是一个标记接口,不实现也能够进行序列化 RMI: 远程方法调用 RPC: 远程过程调用 序列化ID 静态变量序列化 x*- 序列化的是对象,而不是类,静态变量属于类级别,所以序列化不会保存静态变量 父类序列化与Trancient关键字 一个子类实现了
阅读全文
摘要:1:Bitset介绍 BitSet 是用于存储二进制位和对二进制进行操作的 自动去重Java 数据结构, 此类实现了一个按需增长的位向量。位 set 的每个组件都有一个 boolean 值。用非负的整数将 BitSet 的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和
阅读全文
摘要:1、得到构造器的方法 Constructor getConstructor(Class[] params) -- 获得使用特殊的参数类型的公共构造函数, Constructor[] getConstructors() -- 获得类的所有公共构造函数 Constructor getDeclaredCo
阅读全文
摘要:同步的三个方法: 必须在同步块 或者同步方法中使用 多线程的的顺序控制 实际上就是注意 notifyALL() 方法的控制用法 锁的同步 可重入锁的用法
阅读全文
摘要:1: finalize() 方法 finallize() 方法是Object类的方法, 用于在类被GC回收时 做一些处理操作, 但是JVM并不能保证finalize(0 ) 方法一定被执行, 由于finalize()方法的调用时机具有不确定性,从一个对象变得不可到达开始,到finalize()方法被
阅读全文