
java
文章平均质量分 58
NY_Forever
先知其然,后知其所以然
展开
-
一文搞懂Listener监听器
从源码层面搞懂spring监听器原创 2022-08-22 20:09:51 · 873 阅读 · 0 评论 -
Mybatis plus如何存储list
业务开发过程中,字段可能为数组,如何直接存储1.在实体类上加注解@TableName(value="xxxTable",autoResultMap = true)不加该注解,数据写入没问题,查询时数组字段会为null2.在属性上加注解@TableField(value="xxlField",typeHandler = FastjsonTypeHandler.class)...原创 2022-05-23 10:09:31 · 3353 阅读 · 2 评论 -
xxljob使用总结
目录一、概述及资料二、设计及架构1.系统组成1.1调度模块(调度中心)1.2 执行模块(执行器)2.调度模块2.1 自研调度模块2.2 调度中心HA(集群)2.3 任务失败告警2.4 阻塞处理策略3.执行器模块三、问题与解答3.1 什么是分片广播3.2 执行器注册机制3.3 新版本如何避免任务重复执行?3.4 避免任务重复执行(官方文档给出的解决,其实老版本仍然会有重复调度的问题,使用quartz的版本)3.5.执行器端口3.6 老原创 2021-10-26 09:00:00 · 1949 阅读 · 0 评论 -
list去重的优雅方法
List去重,网上有很多文章都有说,其实我们写代码的过程中用一种就够了,下面这种我认为是最优雅的写法。1.list中存放的是基本数据类型的数据 public static void main(String[] args) { List<String> strs = Arrays.asList("a", "b", "a"); List<String> collect = strs.stream().distinct().collect(Col原创 2021-10-21 17:55:44 · 313 阅读 · 0 评论 -
使用xxl-job遇到的一些问题及总结
1.避免任务重复执行(官方文档给出的解决,其实老版本仍然会有重复调度的问题,使用quartz的版本)调度密集或者耗时任务可能会导致任务阻塞,集群情况下调度组件小概率情况下会重复触发;针对上述情况,可以通过结合 “单机路由策略(如:第一台、一致性哈希)” + “阻塞策略(如:单机串行、丢弃后续调度)” 来规避,最终避免任务重复执行。2.分片任务:一个任务在多台服务器上同时都执行,降低任务处理时间,调度器会调用配置的所有机器3.执行器用的端口和该执行器本身的端口没有关系,在启动时可以指定执行器端口,xx原创 2020-09-30 15:08:48 · 20364 阅读 · 6 评论 -
OOM,你怕了吗?
大家好,今天要给大家介绍下OOM相关的知识点。一般这种问题出现在生产环境,本地很少出现(除非你写了死循环),所以第一件要说的就是别慌,慌是没有用的,不多逼逼,开始正文一、如何排查1.指定启动参数,发生异常时打印dump文件-XX:+HeapDumpOnOutOfMemoryError:表示当JVM发生OOM时,自动生成DUMP文件。-XX:HeapDumpPath=${目录}:表示生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_h原创 2021-10-11 17:03:50 · 223 阅读 · 0 评论 -
多线程知识整理加面试题
前言 今日起(10月11日)开辟新的专栏,统一整理多线程相关的所有知识点,过程中会参考各种书籍、文章,并结合自己的实践,整理多线程相关的所有知识点。目的是为了整合线程相关知识体系,查缺补漏1.进程与线程的关系进程:进程是程序向操作系统申请资源(如内存空间和文件句柄)的基本单位。线程:是进程中可独立执行的最小单位关系:一个进程可以包含多个线程。同一个进程中的所有线程共享该进程中的资源,如内存空间、文件句柄等。进程与线程之间的关系,好比一个营业中的饭店与其正在工作的员工之间的关系。一个营业.原创 2021-10-11 16:07:28 · 464 阅读 · 0 评论 -
java类加载机制及衍生问题
1.JVM加载类的过程加载 验证 准备 解析 初始化 使用 销毁2.类加载器分类:启动类加载器:它负责加载Java的核心类(如String、System等)。它比较特殊,因为它是由原生C++代码实现的,并不是java.lang.ClassLoader的子类扩展类加载器:它负责加载JRE的扩展目录(%JAVA_HOME%/jre/lib/ext)中JAR包的类,我们可以通过把自己开发的类打包成JAR文件放入扩展目录来为Java扩展核心类以外的新功能应用类加载器:它负责在JVM启动时加载来自Java命原创 2020-09-30 15:18:13 · 215 阅读 · 0 评论 -
钉钉机器人MarkDown类型的消息不支持@人
最近在告警的过程中,需要用到钉钉机器人,创建自定义机器人后,发送相关消息。我们需要@群内的相关人员,使用过程中发现只有text类型的消息支持@相关人,其余类型不支持。百思不得其解,下面是钉钉的开发文档钉钉机器人开发文档如需要@人,只需要在at这个json对象中加入对应手机号就ok,而其他类型的消息,比如MarkDown类型则不能@相关人起初我以为是我哪里配置的问题,找了很久始终没有找到原因。最后提了工单,他们告诉我在text中也要吧手机号当作文本拼接在后面文档中没有任何说明,而且原创 2020-05-23 20:13:36 · 11681 阅读 · 25 评论