java代码工具类
文章平均质量分 95
代码工具类
阿啄debugIT
0、精通java,及常用设计模式,熟练编写shell脚本,掌握python、scala、golang的编写;
1、精通Spring Cloud等微服务架构,掌握SpringBoot、batis等后端技术,kafka、redis、es等中间件的整合开发;
2、熟悉掌握mysql、pg等关系数据的原理及调优,及NoSQL数据的存储和查询;
3、熟悉CDH各个组件,及精通离线、实时等计算技术;
4、掌握java多线程高并发编程,及整合shiro、redis、fastdfs、MQ、netty等开发;
5、熟悉K8S集群管理Docker容器,及理解掌握openstack原理和操作。
展开
-
Java泛型、元组、类型参数推断、擦除、擦除的补偿、通配符等的学习及运行
简单泛型(基本都是介绍设计代码的用法)public class Holder3<T> { private T a; public Holder3(T a) { this.a = a; } public void set(T a) { this.a = a; } public T get() { return a; } public static void main...原创 2022-10-24 23:58:56 · 195 阅读 · 0 评论 -
通过模板方法模式——对短信中的文本内容进行敏感词过滤,及将文本内容与敏感词词库做匹配的实现
前言模板方法模式是最为常见的几个模式之一(也比较简单),是基于继承实现代码复用的基本技术。模板方法模式(TemplateMethod Pattern)的定义是:首先定义了一个由若干执行步骤组成的执行过程(形成模板),而将一些步骤延迟在子类中实现,使得子类能够对其中一个或者多个具体步骤进行重新定义,从而改变最终的执行结果。模板方法模式的UML类图如下:这里涉及到了两个角色:抽象模板 AbstractTemplate定义并实现了一个模板方法。这个模板方法一般是一个具体的方法,它定.原创 2021-12-14 01:43:26 · 699 阅读 · 0 评论 -
TransmittableThreadLocal相关组件实用解读,及如何达到线程池中的线程复用,及使用在哪些线程数据传递场景?
transmittable-thread-local以下简称:TTL,由于InheritableThreadLocal在线程池中上下文传递的问题,可以知道这个threadLocal的值传递,在父子线程之间若使用了线程池的技术,会导致子线程的threadLocal信息错乱,而TTL在使用线程池等会池化复用线程的执行组件情况下,提供ThreadLocal值的传递功能,解决异步执行时上下文传递的问题。它是一个Java标准库,为框架/中间件设施开发提供的标配能力,项目代码精悍,只依赖了javassist做字节码增原创 2021-06-19 03:26:23 · 1468 阅读 · 4 评论 -
采用Java的concurrent包里面的CountDownLatch具有原子操作的计数器,支持并发多线程操作
场景在高并发多线程的场景中,当一个任务想要往下执行,但必须要等到其他的多个任务执行完毕后,才可以继续往下执行,如何处理呢?可以试试,Java的concurrent包里面的CountDownLatch,具有原子操作的计数器,支持并发多线程操作。比如,T想要继续往下执行的任务(调用一个CountDownLatch对象B的await()方法),必须等到其他的任务T1,T2,T3执行完自己的任务后(其他的任务T1,T2,T3调用同一个CountDownLatch对象B的countDown()方法),T调原创 2020-12-24 20:40:31 · 288 阅读 · 1 评论 -
采用UUID与Snowflake算法,按照时间自增排序生成唯一ID,使整个分布式系统内不会产生ID碰撞。
前言手动指定主键id的优点(不用id自增),缺点很明显,就是容易出现主键id冲突,当插入频率达到一定程度时,就会出现大量这种问题,一旦出现这种问题,入库就会失败,造成数据丢失(应用层可以做异常处理来避免数据丢失)。多人会想到使用UUID,UUID在唯一性上确实可以达到这个目的,但它也存在很大的缺陷:单一采用uuid优点:性能非常高:本地生成,没有网络消耗。单一采用uuid缺点:不易于存储:UUID太长,16字节128位,通常以36长度的字符串表示,很多场景不适用。 信息不安全:基于MAC原创 2020-12-21 20:43:51 · 1086 阅读 · 0 评论 -
阿里FastJson2JsonRedisSerializer.java作为内部类强化RedisConfig的序列化实现
任何存储都需要序列化任何存储都需要序列化。只不过常规你在用DB一类存储的时候,这个事情DB帮你在内部已经实现了(直接把SQL带有类型的数据转换成内部序列化的格式,存储;读取时再解析出来)。而Redis并不会帮你做序列化这个事情。当你用Redis的key和value时,value对于redis来讲就是个byte array,需要把需要的数据结构转换成byte array,存储,等读取时再读出...原创 2020-02-07 20:22:03 · 3862 阅读 · 1 评论