
工具类
工具类
gzh-程序员灿灿
这个作者很懒,什么都没留下…
展开
-
雪花算法工具类
雪花算法简介:雪花算法介绍什么是雪花算法分布式唯一ID生成策略为什么要用雪花算法同一业务场景要全局唯一生成速度快性能好 CPU密集型实现简单没有依赖雪花算法生成原则和原理使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0使用雪花算法高效生成唯一code工具类/** * Twitter_Sno原创 2022-05-03 11:56:55 · 188 阅读 · 0 评论 -
Guava-Table
import com.google.common.collect.Table;import com.google.common.collect.TreeBasedTable;import lombok.extern.slf4j.Slf4j;import java.util.Collection;import java.util.Map;import java.util.Set;@Slf4jpublic class GuavaTable { /** * table使用场景原创 2021-12-10 19:28:34 · 240 阅读 · 0 评论 -
解析目录下所有的文件
场景: 统计wk目录下所有的文件中包含指定字符如:a文件包含("异常信息:【123】")import lombok.extern.slf4j.Slf4j;import org.springframework.util.CollectionUtils;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.F原创 2021-12-03 14:26:34 · 268 阅读 · 0 评论 -
根据元素某个字段对比两个集合差集-交集-补集
@Slf4jpublic class CompareListUtil { /** * 差集key-add */ public static String DIFFERENCE = "difference_add"; /** * 交集key-update */ public static String INTERSECTION = "intersection_update"; /** * 补集key-delete原创 2021-09-27 20:03:41 · 1126 阅读 · 1 评论 -
设计模式-策略模式(三)
为什么要设计使用策略模式多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句,如 if…else 语句、switch…case 语句。策略模式可以提供相同行为的不同实现,客户可以根据不同时间或空间要求选择不同的。实现方式的解耦,便于扩展。以交易实现为例交易策略的定义package com.enterprise.account.service.model.strategy;/** * @version 1.0 * @date 2021/8/20 5:33 下午 * @desc原创 2021-08-23 16:28:37 · 99 阅读 · 0 评论 -
设计模式-单例模式(一)
为什么要使用单例模式如果频繁创建一个很大的对象,这对cpu,内存,时间都产生不小的开销。减少new过程,将减少GC压力,缩短GC停顿时间。对于线程池,缓存,日志对象,这类对象只能有一个,多个对象会造成数据不一致问题。单例模式的实现需要三个必要的条件单例类的构造函数必须是私有的,这样才能将类的创建权控制在类的内部,从而使得类的外部不能创建类的实例。单例类通过一个私有的静态变量来存储其唯一实例。单例类通过提供一个公开的静态方法,使得外部使用者可以访问类的唯一实例。写个单例模式原创 2021-08-21 10:52:33 · 120 阅读 · 0 评论 -
反射动态修改注解属性值
注解@Two中有two属性表,在TestTwoAnno这个类初始化结束后,修改Two注解的two属性。import com.enterprise.support.rocketmq.annotation.Two;import org.springframework.beans.factory.InitializingBean;import org.springframework.stereotype.Component;import java.lang.reflect.Field;import j原创 2021-08-23 14:50:39 · 249 阅读 · 0 评论 -
设计模式-工厂方法模式(二)
文章目录业务场景使用场景业务场景有这么个场景:供应商需要将把产品通过陆路方式运到目的地,运输的功能非常复杂已经通过代码实现,有客户反应还需要水路运输,这是为了兼容陆路运输的功能增加水路运输,改造代码的工作量则变得异常繁杂,而且容易出错。在这种场景下在设计运输功能之初,就应该使用工厂方法模式,进行运输方式的解耦。由客户决定运输方式。工厂方法模式有四个角色抽象工厂角色,具体工厂角色,抽象产品角色,具体产品角色。不再是由一个工厂类去实例化具体的产品,而是由抽象工厂的子类去实例化产品// 抽象产品(运输原创 2021-08-21 10:53:21 · 103 阅读 · 0 评论 -
Java8流工具类
List集合根据元素某个字段分组import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import org.assertj.core.util.Lists;import java.util.List;import java.util.Map;import java.util.stream.Collectors;@Data@Bui原创 2021-08-13 17:42:42 · 714 阅读 · 1 评论