自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alecor的博客

撸起袖子加油干!

  • 博客(144)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用ReentrantLock实现原子类业务操作

【代码】使用ReentrantLock实现原子类业务操作。

2023-11-01 17:33:30 131

原创 工作中几个问题的思考

(3)如果线程池里面存活的线程数已经等于核心线程数了,且阻塞队列已经满了,再会去判断当前线程数是否已经达到最大线程数 maximumPoolSize,如果没有达到,则会调用 addWorker() 方法创建一个非核心线程去执行任务;(2)如果工作线程数大于核心线程数,即线程池核心线程数已满,则新任务会被添加到阻塞队列中等待执行,当然,添加队列之前也会进行队列是否为空的判断;第一个完成的任务的结果会被get()方法返回。(4)如果当前线程的数量已经达到了最大线程数时,当有新的任务提交过来时,会执行拒绝策略。

2023-10-22 22:22:44 487

原创 FlinkCDC for mysql to Clickhouse

【代码】FlinkCDC for mysql to Clickhouse。

2023-10-20 16:47:45 1219

原创 算法:前缀树匹配;Trie

【代码】算法:前缀树匹配;Trie。

2023-08-11 09:18:46 146

原创 算法:两个字符串:abcdefg,10abcf,计算得出:位置0多出:10 位置3缺少:de 位置6错误,应为:gh

取 idx1和idx2作为滑动窗口起点。以 str1 字符串1为基准,遍历str2字符串2寻找相同的字符。

2023-08-07 10:36:58 210

原创 Flink计算(工作记录)-多流合并

【代码】Flink计算(工作记录)-多流合并。

2023-07-27 11:30:52 154

原创 Byte buddy 使用记录

Advice.OnMethodEnter //方法进入前记录开始时间if(t!= null) {} else {} } }@Override//监听程序准备事件,注入 } }定义 resources/META-INF/spring.factories。

2023-06-30 22:47:57 289

原创 Post请求中@RequestParam和@RequestBody的使用

后面的参数,或者Content-Type为multipart/form-data、application/x-www-form-urlencoded时的http body数据。@RequestBody用来接收http post请求的body,前端传入序列化好的json数据,后端可以解析为json对象(Content-Type需要指定为 application/json)。如何在一个@RestController方法中混合使用@RequestParam和@RequestBody呢?

2023-05-11 17:08:19 1958 1

原创 MethodHandle详解 基础应用

【代码】MethodHandle详解 基础应用。

2023-04-10 10:37:49 113

原创 OpenFeign 切换HttpClient遇到的问题

OpenFeign 切换 http请求客户端遇到的问题

2023-03-01 19:50:37 833

原创 Flink执行图

Flink 执行图逻辑

2023-02-05 21:11:48 96

原创 Flink运行架构中 TaskManager 与Slots

TaskManager 和slots

2023-02-05 18:08:36 326

原创 Flink运行架构-运行组件介绍

Flink运行架构-运行组件

2023-02-05 18:04:59 567

原创 多线程循环打印ABC

多线程循环打印

2023-01-29 16:58:07 115

原创 ES ILM 生命周期管理

ES ILM生命周期管理

2022-12-25 20:58:48 290

原创 ES滚动索引设置

ES按照日期滚动索引设置

2022-12-25 19:01:37 900

原创 Go学习之路-环境搭建

Go环境安装

2022-12-03 22:45:06 375

转载 正则表达式全解

正则表达式全解

2022-11-01 16:49:23 89

原创 通过OpenTelemetry 手动埋点接入Java Trace数据

OpenTelemetry手动埋点

2022-08-19 15:59:58 567

原创 Java8 判断一个集合的元素哪些不在另外一个集合

Java8 集合筛选

2022-08-03 21:53:12 2347

原创 ES大量数据条件检索准确性问题

ES的排序都是基于评分,而评分是基于当前分片的词频进行计算,每个分片节点的数据评分不一样;ES中基于分片的搜索方式,是分2个阶段进行的,即Query阶段和Fetch阶段。ES的搜索类型有2种;

2022-07-16 13:47:00 1073

原创 记录一次JVM排查

Java 程序占用CPU过高排查方法

2022-06-11 22:58:22 468

原创 设计一个任务处理引擎(一)

业务说明:在工作中,业务上涉及到大量的定时任务,我公司目前采用的是当当的ElasticJob分布式定时任务框架搭建的,由于业务已经成型,在定时任务上改造不太合适,最终决定自己设计一套任务处理框架;用户监控、调整实施运行的每一个任务;业务场景我们的业务场景主要是:一个公司 + 多个账户 ,每个账号下的拥有若干个任务;类似于下面的构图;设计原因由ElasticJob控制若干台机器执行任务,由于Elasticjob的局限性,操作不到具体的任务1、任务2等等数据,如:监控运行时长、强制中断,又或者运

2022-05-28 15:49:51 712

转载 Java8中list转map方法

常用方式1.利用Collectors.toMap方法进行转换public Map<Long, String> getIdNameMap(List<Account> accounts) { return accounts.stream().collect(Collectors.toMap(Account::getId, Account::getUsername));}其中第一个参数就是可以,第二个参数就是value的值。2.收集对象实体本身在开发过程中我们也需要

2022-04-24 17:46:52 63046 3

原创 记录Jaeger

openTrace语义标准https://www.jianshu.com/p/7a08e7c1835cjaeger是按照 openTrace标准构建的链路追踪程序;Jaeger实现https://www.jianshu.com/p/fbedfcdea606docker 安装https://blog.csdn.net/weixin_40242845/article/details/123421309java端应用:注意: 给Endpoint 地址 http://x.x.x.x:14268/a

2022-04-17 20:55:27 562

原创 ES多字段分组聚合(JAVA)

/** * 多字段分组并求和;实现sql:select field1, field2, sum(field3) from table_name group by field1, field2; */ public static void twiceAggSum(QueryBuilder query, String tableName, String groupField1, String groupField2, String sumField) { String

2022-04-07 14:43:18 5368

原创 Linux 安装mysql

安装指导https://www.cnblogs.com/brianzhu/p/8575243.html默认密码MySQL在运行的时候会有一个日志文件,它存在于/var/log/mysqld.log,我们在安装完成后第一次启动MySQL服务时,MySQL生成的随机密码就在这个文件里,我们可以直接用下面这条命令显示出这个文件里的所有内容:cat /var/log/mysqld.log找到下面的内容A temporary password is generated for root@loca

2022-02-12 22:08:08 465

原创 权重随机算法

package demo.Chooser;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.concurrent.ThreadLocalRandom;import java.util.concurrent.atomic.AtomicInteger;/** * @aut

2022-01-24 19:36:20 538

原创 Java异步执行方法

一.利用多线程直接new线程Thread t = new Thread(){ @Override public void run() { longTimeMethod(); }};使用线程池private ExecutorService executor = Executors.newCachedThreadPool() ; public void fun() throws Exception { executor.submit(new Runna

2021-10-11 22:52:46 14991

原创 计算List类集、数组、Map及常用数据类型等占用字节大小。

public class ByteSizeUtils { public static int getByteSize(List<?> datas) { int byteSize=0; try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(

2021-09-15 15:57:30 1054

原创 常用名称校验的正则表达式

先推荐一个在线测试/学习正则表达式的网址,http://www.gskinner.com/RegExr/1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:^ 与字符串开始的地方匹配(?!)  不能以_开头(?!.*?$)  不能以_结尾[a-zA-Z0-9_\u4e00-\u9fa5]+  至少一个汉字、数字、字母、下划线$ 与字符串结束的地方匹配2、只含有汉字

2021-08-27 14:50:25 1607

原创 React 生命周期使用记录

import React from 'react';import { Modal, Button } from 'antd';/** * 注意此组件的调用方式, 通过状态去 装载和卸载 */class PolyvCloudMediaPlayer extends React.Component { // 构造函数, 组件应用的时候 就会调用 constructor(props) { super(props); this.state = {

2021-07-30 12:48:41 134

转载 Java中统计耗时的方法

时间差统计这种方式是最简单的方法,记录下开始时间,再记录下结束时间,计算时间差即可。public class TimeDiffTest { public static void main(String[] args) throws InterruptedException { final long startMs = TimeUtils.nowMs(); TimeUnit.SECONDS.sleep(5); // 模拟业务代码 System.o

2021-07-10 19:20:08 4132

原创 在Linux下查询占用CPU较高的线程信息

原理通过top找到占用CPU高的进程pid,通过ps找到该进程中占用CPU高的线程tid,最后通过jstack找到该线程的堆栈信息,最后根据堆栈信息排查问题。top找到高占用CPU的java进程pid命令:top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

2021-06-16 09:26:56 3459

原创 java中List集合分批处理

public static int BULK_COUNT = 2000; public static <T> List<List<T>> splitList(List<T> oriList,boolean isParallel){ if(oriList.size() <= ESConstant.BULK_COUNT){ List<List<T>> splitList = ne...

2021-05-13 19:38:21 1419

原创 批处理工具

前言这是自己在工作中根据ElasticSearch的BulkProcessor写的一个批处理方法。主要支持有:1、当数据达到一定阈值的之后,进行触发消费操作2、当执行时间达到一定时间后,执行操作;3、支持监听任务的执行过程4、支持重试机制代码地址:batchProcessor...

2021-05-05 17:32:20 143

原创 Flink系列一:基本的安装部署和使用

本篇文章记录我在学习和使用Flink相关的知识。一、安装部署:直接参考官网教程Flink单机安装教程二、启用$ ./bin/start-cluster.shStarting cluster.Starting standalonesession daemon on host.Starting taskexecutor daemon on host.客户端localhost:8081...

2021-04-15 18:06:01 154

原创 Springboot1.X升级到2.X的填坑

一、SpringBootServletInitializer 类所在包的变化当 SpringBoot 准备打成 war 包部署时,我们需要继承 SpringBootServletInitializer 类。在 SpringBoot1.5 版本中,SpringBootServletInitializer 类在 org.springframework.boot.web.support 包,而到了 SpringBoot2.2 版本,SpringBootServletInitializer 类迁移到了 org.

2021-03-20 13:04:53 909

原创 URL中匹配是否有{}、[]、()

public static boolean containBracket(String url){ Stack<Character> sc=new Stack<Character>(); char[] c=url.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i]=='('||c[i]=='['||c[i]=='{') { ...

2021-03-02 18:39:01 560

原创 Java8 并行计算

直接上代码吧,今天不想写太多文字模拟延迟操作的接口public interface RemoteLoader { String load(); default void delay() { try { Thread.sleep(1000L); } catch (InterruptedException e) { e.printStackTrace(); } }}实现类Cus

2021-01-29 19:53:47 269 1

大数据知识总结.pdf

learning spark.pdf,包含 Hadoop生态体系;以及其他大数据框架如Spark等一些总结;

2019-09-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除