[rank_math_breadcrumb]

Java 容器 FAQ

Q: HashMap的底层原理 A: HashMap底层用的是拉链法. Hash表为链表的数组. 先计算Hash值, 在数组里找到对应的链表, 检查值存不存在, 如果不存在, 在链表里追加。 Q: HashMap的Hash函数是怎么样的? A: 对象的hasCode(), 然后进行一定扰动, 让其分布均匀。所以 HashMap 的 Key 一定是要可以被哈希的,int 等 原始类型不能作为 Key

Java 开发常用库

Guava: Google Core Libraries for Java https://github.com/google/guava Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、

Java 反射常用实践

动态加载类 获得一个 ClassLoader并调用其 loadClass()方法: public class MainClass { public static void main(String[] args){ ClassLoader classLoader = MainClass.class.getClassLoader(); try { Class aClass = classLoader.

JDBC 和连接池

连接池 HikariPool HikariCP 是一个高性能的 JDBC 连接池,广泛应用于 Java 应用程序中。它以其快速、简单和可靠而著称,能够在各种环境中提供卓越的性能 配置示例 要使用 HikariCP,可以通过多种方式进行配置,例如使用 HikariConfig 类、直接实例化 HikariDataSource 或使用属性文件。以下是一些常见的配置示例: 使用 HikariConfig

Java FAQ

Q: SerialVersionUID 的作用 A: serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现

如何优雅实现 Java 泛型类的类型参数化

#! https://zhuanlan.zhihu.com/p/461097572 如何优雅实现 Java 泛型类的类型参数化 首发于公众号【KAMI说】(kami-said),原文:《如何优雅实现 Java 泛型类的类型参数化》 反射机制是Java的一个非常实用的特性. 基于反射, 我们可以实现下面的接口 <T> T foo(…, Class<T> tClass);

常用 Bash 命令

切割字符串为数组 arr=(${line} ) server=${arr[0]} role_id=${arr[1]} 用单字符拼接参数 function join_by { local IFS="$1"; shift; echo "$*"; } $join_by 1 a b c d a1b1c1d 在数组添加元素 pending_table_list=(&q

原理 – MapReduce

MapReduce框架通常由三个操作(或步骤)组成: Map:每个工作节点将 map 函数应用于本地数据,并将输出写入临时存储。主节点确保仅处理冗余输入数据的一个副本。 Shuffle:工作节点根据输出键(由 map 函数生成)重新分配数据,对数据映射排序、分组、拷贝,目的是属于一个键的所有数据都位于同一个工作节点上。 Reduce:工作节点现在并行处理每个键的每组输出数据。 MapReduce

常用算法 – Bitmap

Bitmap 用一个 Bit 存储一个数字。通过位运算来 add, remove, contain

数据订阅

阿里云 DTS 数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持关系型数据库(RDBMS)、非关系型的数据库(NoSQL)、数据多维分析(OLAP)等数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。 Otter 定位:基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/or