随笔分类 - java
摘要:一、get方法为什么不需要加锁 1. 为什么 get 不需要加锁 在 JDK8 的 ConcurrentHashMap 里: get 方法内部基本是: 1 public V get(Object key) { 2 Node<K,V>[] tab; Node<K,V> e, p; int n, eh;
阅读全文
摘要:下面我会把支付中心在流量骤增 / 下游通道故障时的熔断与降级策略拆成(1)原则与常见策略,(2) 业务级降级/路由策略,(3) 具体落地组件(行业实践与参考),以及(4)可直接落地的 Java 示例(使用 Resilience4j + fallback + 速率限制 + 隔离)。 1) 基本原则(5
阅读全文
摘要:实战演练:有一个十进制字符串(长度不限),要将该字符串转化为52进制字符串,52进制字符由a-z和A-Z构成 一、十进制转换成52进制 1. 使用BigInteger 直接上代码 1 import java.math.BigInteger; 2 3 public class DecimalToBas
阅读全文
摘要:问题抛出:像窗口大小为1小时,滑动步长为1分钟的滑动窗口,我理解最大并行的窗口数是60(比如第一个是0点开始的,那么在59分的时候就有60个),那么每个窗口的大小是一样的么,他们所占内存的大小跟自己窗口有关,还是底层数据之间其实是共享的呢。举例,如果我们1小时内,因为每分钟去消息队列读,所以其实有6
阅读全文
摘要:一、背景 最近有一个需求是:要求有一个类对象为Order,它有string类型的字段orderNo和Long类型的字段cost,生产者写到kafka的value是Order对象序列化后的字节数组、key值是orderNo字段,要求spark以手动提交的方式消费kafka,并将数据依次写入到hive表
阅读全文
摘要:Java 原生序列化的问题 性能差 Java 自带的序列化是基于反射的,序列化时需要写入大量类元数据(类名、字段描述、版本号等),字节流臃肿。 反序列化时依赖反射和对象创建,速度比 Protobuf/Avro 慢一个数量级。 不跨语言 Java 序列化生成的字节流格式只有 JVM 认识,Python
阅读全文
摘要:一、背景 最近有一个需求是:要求有一个类对象为Order,它有string类型的字段orderNo和Long类型的字段cost,生产者写到rocketMQ的value是Order对象序列化后的字节数组、key值是orderNo字段,要求spark以手动提交的方式消费rocketMQ,并将数据依次写入
阅读全文
摘要:一、背景 最近有一个需求是:要求有一个类对象为Order,它有string类型的字段orderNo和Long类型的字段cost,生产者写到rocketMQ的value是Order对象序列化后的字节数组、key值是orderNo字段,要求spark以自动提交的方式消费rocketMQ,并将数据依次写入
阅读全文
摘要:在 Spark 里接入 RocketMQ,主要有两大类方式: 🔹 1. 基于 老的 Spark Streaming (DStream API) RocketMQ 社区提供过 rocketmq-spark connector(在 apache/rocketmq-externals 里),可以像 Ka
阅读全文
摘要:这三个是 Spark 里的核心数据抽象,很多人会混淆。我们来逐层对比一下: 1. 概念对比 特性RDD (Resilient Distributed Dataset)DataFrameDataset 提出时间 Spark 最早的数据抽象 (Spark 1.0 就有) Spark 1.3 引入 Spa
阅读全文
摘要:🔑 Spark Streaming vs Structured Streaming 对比表 对比维度Spark StreamingStructured Streaming 编程模型 基于 RDD 和 DStream(离散流,本质是一系列小批次 RDD) 基于 Dataset/DataFrame(统
阅读全文
摘要:在 Spark Structured Streaming 里,确实没有像 DStream API 那样的 commitAsync 让你手动提交 Kafka offset。原因主要有以下几个方面: 1. Structured Streaming 的 核心设计理念 Structured Streamin
阅读全文
摘要:一、背景 最近有一个需求是:要求有一个类对象为Order,它有string类型的字段orderNo和Long类型的字段cost,生产者写到kafka的value是Order对象序列化后的字节数组、key值是orderNo字段,要求spark以手动提交的方式消费kafka,并将数据依次写入到hive表
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/626497347 结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matches(String regex,Ch
阅读全文
摘要:转自:https://www.cnblogs.com/IcanFixIt/p/7549842.html 参考:https://www.jb51.net/article/283930.htm 一. GSON 简介 GSON是一个Java语言编写的用于处理JSON数据格式的开源应用程序编程接口项目。它将
阅读全文
摘要:转自:https://blog.csdn.net/u011485472/article/details/109460490 Redis系列 - Redis底层数据结构(简单动态字符串(SDS)、链表、字典、跳跃表、整数集合、压缩列表) 简单动态字符串(simple dynamic string,SD
阅读全文
摘要:一、EasyExcel实现excel文件的导出 官方文档 导入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifac
阅读全文
摘要:转自:https://blog.csdn.net/studio_1/article/details/130882314 一、以xml进行举例说明 1、读取xml 这里读取文件用“org.dom4j.io.SAXReader”这个类,使用“org.dom4j.Document”接收文档数据。 这是测试
阅读全文
摘要:一、ThreadPoolExecutor的重要参数 1、corePoolSize:核心线程数 1 * 核心线程会一直存活,及时没有任务需要执行 2 * 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 3 * 设置allowCoreThreadTimeout=true(默认fa
阅读全文
摘要:Redis集群介绍 Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。 Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误. Redis 集群通过分区来提供一定程度的可用性,在实
阅读全文

浙公网安备 33010602011771号