自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (8)
  • 问答 (4)
  • 收藏
  • 关注

原创 java算法-数组正负数排序

问题: 一个整型数组,其中的数值有正有负,先需要将负数调整到左边,正数调整到右边。思路: 问题描述负数在左,正数在右。那么我们就可以从前后同时开始扫描,前面扫描到正数,就交换到后面扫描到负数的位置。代码如下: public static void main(String[] args) throws IOException { int []array = {1, 3, -8, -9, 6, 9, 10, -2, 4, -5, 91, 55, -66, -33, 7};

2023-04-27 22:25:47 569

原创 SpringBoot集成activiti modeler实现在线绘制流程图

spring boot 集成activiti实现自定义流程图,支持在线绘制流程图并部署

2023-03-26 19:51:29 1738

原创 使用micronaut创建基于maven的web工程集成jpa实现crud

使用micronaut创建基于maven的web工程,集成jpa连接mysql数据库,实现简单crud

2022-09-15 18:00:59 458

原创 CompletableFuture用法

jdk8,CompletableFuture实现了CompletionStage接口和Future接口,并在此基础上进行了丰富的扩展,完美弥补了Future的局限性,同时CompletableFuture实现了对任务编排的能力,增加了异步回调、流式处理、组合处理的能力...

2022-08-17 21:52:42 657

原创 windows 安装FFmpeg

文章目录1. 官网下载2. 安装2.1. 解压2.2. 环境变量2.3. 验证是否安装成功1. 官网下载官网也可以点击git地址下载2. 安装2.1. 解压下载完成,解压到磁盘2.2. 环境变量新增环境变量FFMPEG_HOME,指向解压包目录然后在Path中指向bin目录2.3. 验证是否安装成功打开命令行窗口,输入ffmpeg -version出现以下界面说明安装成功......

2022-05-30 10:42:12 2179

原创 java 死锁排查和CPU占用过高的线程排查

top 查看进程top -p pid 查看进程,按大写H查看线程情况线程pid转为16进制jstack 进程pid | grep 线程pid 16进制

2022-05-27 14:02:24 1040

转载 Redisson官方文档

文章目录1. 概述2. 配置方法2.1. 程序化配置2.2. 文件方式配置2.2.1 通过YAML格式配置2.3. 常用设置2.4. 集群模式2.4.1. 集群设置2.4.2. 通过YAML文件配置集群模式2.5. 云托管模式2.5.1. 云托管模式设置2.5.2. 通过YAML文件配置集群模式2.6. 单Redis节点模式2.6.1. 单节点设置2.6.2. 通过YAML文件配置集群模式2.7. 哨兵模式2.7.1. 哨兵模式设置2.7.2. 通过YAML文件配置集群模式2.8. 主从模式2.8.1. 主

2022-05-25 15:12:48 2233

原创 mysql only_full_group_by解决

问题mysql5.7以上版本执行group by报错SELECT a.`name`, a.age, count(a.`name`) FROM user_t a GROUP BY a.`age`执行sql报以下错误原因order by后面的列必须是在select中存在,select、having或order by后面存在的非聚合列必须全部在group by中存在解决方法MySQL提供了any_value(field)函数,允许非分组字段的出现SELECT any_value(a.`name`

2022-05-24 14:29:02 77

原创 基于redis实现模糊匹配的简单热词推荐

场景用户在输入时,往往需要根据输入内容匹配,按照热度排序推荐一些完整的内容,来减少用户输入,提升体验。我思考了一种少量数据的简单实现方式。使用redis的key来进行模糊匹配,然后根据热度进行排序输出;实现思路考虑热度是有时间效应,一个key,value不好办;然后想到了将时间和热度合并成一个,有了思路就可以考虑具体实现了。将时间和热度转为int型,然后合并成一个long,就解决问题了。int最大值‭4294967295‬,热度达不到这么大,时间转换为例如:2022051217,以小时隔断,离最大值

2022-05-12 17:18:53 804

原创 java集成elasticsearch-rest-high-level-client实现增删改查

依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.15.2</version></dependency><dependency> <groupI

2022-05-12 15:47:06 916

原创 spring boot整合quartz实现分布式任务调度

说明日常开发中常常会用到定时任务,在springBoot中我们通常使用@EnableScheduling和@Scheduled(cron = “0/10 * * * * ?”),就能完成定时任务的使用。但是在集群环境中就出现一个任务同时执行多次,造成数据异常等严重问题。下面是一种分布式任务的解决方式使用 quartz、curator和zk来解决问题先来看看效果启动zookeeper,再启动服务1,服务2quartz1先启动,优先抢占到leader,执行任务现在停掉quartz1,quar

2022-05-11 14:51:14 1499 1

原创 java TimeUnit类

枚举常量// 天TimeUnit.DAYS;// 小时TimeUnit.HOURS;// 分钟TimeUnit.MINUTES;// 秒TimeUnit.SECONDS;// 毫秒TimeUnit.MILLISECONDS;常用转换方法/** * 转换指定的时间粒度 */public long convert(long sourceDuration, TimeUnit sourceUnit);/** * 指定时间转换为纳秒 */public long toN

2022-05-06 09:28:07 788

原创 spring boot minio

minio安装版本说明Spring Boot 版本:2.6.1添加依赖<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.0.3</version></dependency><dependency> <groupId>org.ap

2022-04-28 16:21:14 410

原创 windows安装MinIO

MinIO下载下载地址版本查看进入minio.exe所在的目录,使用minio.exe -version命令查看启动进入minio.exe所在的目录,使用 minio.exe server D:\ 命令启动minio服务,将D:\替换为希望 MinIO 存储数据的驱动器或目录的路径web访问在浏览器输入:http://localhost:9000/ ,进入minIO登录界面。用户名:minioadmin密码:minioadmin官方文档分布式MinIO快速入门...

2022-04-28 10:06:39 2203

原创 jdbc连接数据库实现增、删、改、查

引入驱动<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version></dependency>创建连接public class JDBCStatement { private static final Logger

2022-04-27 15:58:25 132

原创 设计模式之模板方法模式-解析binlog

binlog中记录数据的增、删、改操作;用模板方法模式和静态工厂模式来处理binlog解析依赖<dependency> <groupId>com.zendesk</groupId> <artifactId>mysql-binlog-connector-java</artifactId> <version>0.25.5</version></dependency>获取binlog文

2022-04-26 14:41:59 297

原创 设计模式之责任链模式

责任链模式将处理对象像一条长链一样链接起来,形成一条对象链。以创建用户为例,需要检查输入内容,验证用户是否存在及权限登,还要保存用户及其它处理。可以通过责任链模式将代码解耦接口public interface UserService { boolean addUser(String name, String pwd);}检查输入信息/** * 检查输入信息 */public class CheckUserService implements UserService {

2022-04-25 16:31:48 55

原创 设计模式之观察者模式

观察者模式定义了对象间的一种一对多的依赖关系,当对象的状态发生改变时,所有依赖于它的对象都将得到通知被观察者public class ObservedTest extends Observable { private ObservedTest() {} public void notify(String data) { this.setChanged(); this.notifyObservers(data); } public st

2022-04-25 16:22:46 293

原创 设计模式之单例模式

单例模式是指在任何情况下一个类只有一个实例,并提供一个全局访问点饿汉式单例public class SingletonTest { private static final SingletonTest singleton = new SingletonTest(); private SingletonTest() { } public static SingletonTest getInstance() { return singleton;

2022-04-25 14:49:12 40

原创 spring boot 集成jwt

版本说明Spring Boot 版本:2.6.1redis 版本:6.2.6jwt 版本:0.6.0redisson 版本:3.13.6创建拦截器配置除了/token开头的地址都拦截@Configurationpublic class InterceptorConfiguration extends WebMvcConfigurationSupport { @Autowired private TokenHandlerInterceptor tokenHandlerIn

2022-04-25 11:48:36 1248

原创 spring boot 集成定时任务

版本说明Spring Boot 版本:2.6.1添加web依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>在启动类上添加注解开启任务支持@SpringBootApplication@EnableSchedulin

2022-04-25 10:57:10 474

原创 spring boot 集成redisson与redisson lua脚本

版本说明Spring Boot 版本:2.6.1redis 版本:6.2.6依赖<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.13.6</version></dependency>连接地址配置red

2022-04-22 16:21:45 939

原创 java二分查找法

给定一个有n个元素的有序(升序)整型数组和一个目标值,找到目标值在数组中的位置,如果目标值存在返回下标,否则返回 -1 public static void main(String[] args) { System.out.println(search(new int[]{1,3,5,7,12,21}, 7)); } private static int search(int[] nums, int target) { // 头指针 i

2022-04-21 13:57:33 630

原创 逆波兰式四则运算

package algorithm;import java.util.*;import java.util.regex.Pattern;/** * 四则运算,逆波兰式 */public class FourOperation { private static Pattern pattern = Pattern.compile("-?[0-9]+(\\.[0-9]+)?"); private static List<String> allOperatorList

2022-04-20 17:44:57 201

原创 spring boot 集成elasticsearch 创建mapping

版本说明Spring Boot 版本:2.6.1elasticsearch 版本:7.15.2依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>连接地址配置es.host=127.0.

2022-04-15 16:26:32 3151

原创 java 8 Stream 分割集合

List<String> testList = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg", "hhh", "iii", "jjj", "kkk");int pageSize = 3;int limit = (testList.size() + pageSize - 1) / pageSize;Stream.iterate(0, n -> n + 1).limit(limit).parallel()

2022-04-15 16:02:45 1172

原创 java 数字排列组合

n个无序不重复0~9的数字,输出n位的所有可能例如:输入1,2,3;输出:123, 132, 213, 231, 312, 321可以使用遍历+递归方式实现,大概思路如图:private static List<Integer> list = new ArrayList<>();public static void main(String[] args) { combination(1,2,3,4);}public static void combinati

2022-04-15 15:59:48 2236

原创 java线程池原理

线程池的好处复用线程控制资源数量创建方式Executors.newFixedThreadPool(1); // 固定线程数量的线程池Executors.newCachedThreadPool(); // 可以缓存的线程池Executors.newSingleThreadExecutor(); // 只有一个核心线程的线程池Executors.newScheduledThreadPool(1); // 定时器线程池但是阿里巴巴开发文档中不建议使用上面方式创建线程池,推荐使用ThreadP

2021-02-21 20:26:12 75

原创 java获取最后一个单词的长度

给定一个字符串, 包含大小写字母、空格。请返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0注意事项一个单词的界定是,由字母组成,但不包含任何的空格。示例:输入: “Hello World”输出: 5代码:public static int getLengthLastWord(String str) { if (StringUtils.isEmpty(str)) { return 0; } // 指向最后一个字符串 ..

2021-02-20 21:07:37 457

原创 js WdatePicker获取选中的日期

日期插件获取选中的日期<input type='text' readonly=‘readonly’ οnclick='WdatePicker({dateFmt:"yyyy-MM-dd", isShowClear: true, onpicked: changeData})' />function (){ alert($dp.cal.getDateStr());}

2020-06-23 20:33:19 1327

原创 java流式数据处理stream

说明java 8种添加了一种声明的方式处理数据Stream。可以让程序员写出高效率、干净、简洁的代码。这种风格将元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 如筛选, 排序,聚合等。forEach用来迭代流中的每个数据List<Integer> numbers = Arrays.asList(1, 2, 3);numbers.stream().forEach(System.out::println);filter用于过滤元素List<Integ

2020-06-23 20:26:52 394

原创 elasticsearch简单操作封装

接口public interface ESBasicService { boolean indexExists(Class<?> clazz); boolean deleteIndex(Class<?> clazz); boolean createIndexAndMapping(Class<?> clazz); <T> boolean saveData(T data); <T> Integer saveDatas(Co

2020-06-22 22:13:00 750

原创 WebSocket+netty实现在线实时聊天

基于netty的websocket在线聊天工具netty和websocket在这里就不做过多的说明了废话不多说,直接上代码1 启动类public class Main { public static void main(String[] args) { new ChatServer(Integer.valueOf(8222)).start(); }}2 Nettypubl...

2020-05-06 20:43:40 1020

原创 Spring MVC访问Controller 404

Spring MVC 访问Controller 404在使用Spring MVC搭建项目时,确认配置正常,访问路径也没写错,但是访问Controller出现404。在Controller中Debugger也无法进入。检查扫描路径是否正确我们需要在spring xml文件中配置<context:component-scan base-package="*" />,检查package...

2020-05-06 20:40:11 314

原创 记录JS遇到的一些坑

1.typeof:未经定义的变量typeof返回"undefined"。2.数据类型:1)js中 0 == '' 返回结果是 true2)1 == '1'返回结果是true,但是在Map中1和'1'是不一样的3)在获取输入框数据进行计算时,请先转换为数字4)undefined+任何数字结果都是NaN5)字符串+undefined的结果为字符串+'undefined'字符串...

2019-03-20 22:01:29 148

原创 JAVA学习笔记-CyclicBarrier_20180823

1.概念 CyclicBarrier的字面意思是,可循环使用的屏障。它是一个同步工具类,它允许一组线程互相等待,直到到达某个公共屏障点。2.用法(1)public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); // 创建CyclicBar...

2018-08-23 21:34:43 94

原创 JAVA学习笔记-CountDownLatch_20180822

1.概念 CountDownLatch是一个同步工具类,用来协调多个线程直接的同步。它能够使一个线程在等待另外一些线程完成各自的工作后,再继续执行。2.实现原理它是使用一个计数器实现的。计数器的初始值为线程的数量,当每一个线程执行完成后,计数器的值就会减一,当计数器的值为0的时候,表示所有的线程都已经执行完毕,然后在CountDownLatch上等待的线程就会恢复执行。3.缺点...

2018-08-22 19:59:51 125

原创 谷歌缓存清理插件

所需知识 一点点json 一点点html 一点点css 一点点js文件结构,如图扩展程序安装后,Chrome就会读取扩展程序中的manifest.json,这个配置文件名固定为manifest.json,内容是按照json格式描述的扩展相关信息,如扩展名称、版本、更新地址、请求的权限、扩展的UI界面入口等等。代码详情:manifest.json{ // 清单...

2018-06-11 21:18:12 1495

SpringBoot集成activiti modeler实现在线绘制流程图,完整代码demo

SpringBoot集成activiti modeler实现在线绘制流程图,完整代码demo

2023-03-26

finalshell_install

finalshell_install

2022-07-15

ffmpeg-master-latest-win64-gpl.zip

ffmpeg-master-latest-win64-gpl.zip

2022-06-15

redis-5.0.14.tar.gz

redis编译之后的包

2021-12-14

springboot.zip

springboot web工程,包含jdbc,mysql,redis,elasticsearch 的mvn jar包

2020-08-05

基于elasticsearch的CRUD简单封装java版

简化elasticsearch API的使用方式 使用示例 ApplicationContext context = new AnnotationConfigApplicationContext(TestConfiguration.class); ESBasicService service = context.getBean(ESBasicService.class); /*service.createIndexAndMapping(UserM.class); // 插入数据 List users = new ArrayList(); UserM user = new UserM("张先生", 25); users.add(user); UserM user2 = new UserM("王大姐", 30); users.add(user2); UserM user3 = new UserM("王小二", 25); users.add(user3); int count = service.saveDatas(users); System.out.println(count);*/ QueryRule rule = new QueryRule(); rule.add(Restrictions.ge("age", 20)).add(Restrictions.like("name", "*王*")); System.out.println(JSON.toJSONString(service.list(UserM.class, rule))); 源码链接:https://blog.csdn.net/u010825190/article/details/106838796

2020-06-23

springboot web本地仓库m2.zip

springboot web本地仓库备份使用。避免每次下载特慢m2.zip

2020-06-07

jfinal-1.9-all

内含示例代码。jetty-server-8.1.8.jar,c3po,mysql,oracle,sqlite,log4j,jar包

2018-01-28

HTML5声音合成,文字转换声音,无声音解决办法

HTML5声音合成,文字转换声音,无声音解决办法,TTS引擎 speechSynthesis对象详解 无法发出声音解决办法

2017-12-22

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

TA关注的人

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