- 博客(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
758
原创 SpringBoot集成activiti modeler实现在线绘制流程图
spring boot 集成activiti实现自定义流程图,支持在线绘制流程图并部署
2023-03-26 19:51:29
2203
原创 使用micronaut创建基于maven的web工程集成jpa实现crud
使用micronaut创建基于maven的web工程,集成jpa连接mysql数据库,实现简单crud
2022-09-15 18:00:59
581
原创 CompletableFuture用法
jdk8,CompletableFuture实现了CompletionStage接口和Future接口,并在此基础上进行了丰富的扩展,完美弥补了Future的局限性,同时CompletableFuture实现了对任务编排的能力,增加了异步回调、流式处理、组合处理的能力...
2022-08-17 21:52:42
753
原创 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
2248
原创 java 死锁排查和CPU占用过高的线程排查
top 查看进程top -p pid 查看进程,按大写H查看线程情况线程pid转为16进制jstack 进程pid | grep 线程pid 16进制
2022-05-27 14:02:24
1151
转载 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
2790
原创 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
110
原创 基于redis实现模糊匹配的简单热词推荐
场景用户在输入时,往往需要根据输入内容匹配,按照热度排序推荐一些完整的内容,来减少用户输入,提升体验。我思考了一种少量数据的简单实现方式。使用redis的key来进行模糊匹配,然后根据热度进行排序输出;实现思路考虑热度是有时间效应,一个key,value不好办;然后想到了将时间和热度合并成一个,有了思路就可以考虑具体实现了。将时间和热度转为int型,然后合并成一个long,就解决问题了。int最大值4294967295,热度达不到这么大,时间转换为例如:2022051217,以小时隔断,离最大值
2022-05-12 17:18:53
884
原创 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
1028
原创 spring boot整合quartz实现分布式任务调度
说明日常开发中常常会用到定时任务,在springBoot中我们通常使用@EnableScheduling和@Scheduled(cron = “0/10 * * * * ?”),就能完成定时任务的使用。但是在集群环境中就出现一个任务同时执行多次,造成数据异常等严重问题。下面是一种分布式任务的解决方式使用 quartz、curator和zk来解决问题先来看看效果启动zookeeper,再启动服务1,服务2quartz1先启动,优先抢占到leader,执行任务现在停掉quartz1,quar
2022-05-11 14:51:14
1661
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
999
原创 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
510
原创 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
2413
原创 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
164
原创 设计模式之模板方法模式-解析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
343
原创 设计模式之责任链模式
责任链模式将处理对象像一条长链一样链接起来,形成一条对象链。以创建用户为例,需要检查输入内容,验证用户是否存在及权限登,还要保存用户及其它处理。可以通过责任链模式将代码解耦接口public interface UserService { boolean addUser(String name, String pwd);}检查输入信息/** * 检查输入信息 */public class CheckUserService implements UserService {
2022-04-25 16:31:48
78
原创 设计模式之观察者模式
观察者模式定义了对象间的一种一对多的依赖关系,当对象的状态发生改变时,所有依赖于它的对象都将得到通知被观察者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
318
原创 设计模式之单例模式
单例模式是指在任何情况下一个类只有一个实例,并提供一个全局访问点饿汉式单例public class SingletonTest { private static final SingletonTest singleton = new SingletonTest(); private SingletonTest() { } public static SingletonTest getInstance() { return singleton;
2022-04-25 14:49:12
59
原创 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
1347
原创 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
511
原创 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
1147
原创 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
672
原创 逆波兰式四则运算
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
241
原创 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
3301
原创 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
1261
原创 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
2601
原创 java线程池原理
线程池的好处复用线程控制资源数量创建方式Executors.newFixedThreadPool(1); // 固定线程数量的线程池Executors.newCachedThreadPool(); // 可以缓存的线程池Executors.newSingleThreadExecutor(); // 只有一个核心线程的线程池Executors.newScheduledThreadPool(1); // 定时器线程池但是阿里巴巴开发文档中不建议使用上面方式创建线程池,推荐使用ThreadP
2021-02-21 20:26:12
112
原创 java获取最后一个单词的长度
给定一个字符串, 包含大小写字母、空格。请返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0注意事项一个单词的界定是,由字母组成,但不包含任何的空格。示例:输入: “Hello World”输出: 5代码:public static int getLengthLastWord(String str) { if (StringUtils.isEmpty(str)) { return 0; } // 指向最后一个字符串 ..
2021-02-20 21:07:37
506
原创 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
1398
原创 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
434
原创 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
822
原创 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
1064
原创 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
363
原创 记录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
192
原创 JAVA学习笔记-CyclicBarrier_20180823
1.概念 CyclicBarrier的字面意思是,可循环使用的屏障。它是一个同步工具类,它允许一组线程互相等待,直到到达某个公共屏障点。2.用法(1)public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); // 创建CyclicBar...
2018-08-23 21:34:43
123
原创 JAVA学习笔记-CountDownLatch_20180822
1.概念 CountDownLatch是一个同步工具类,用来协调多个线程直接的同步。它能够使一个线程在等待另外一些线程完成各自的工作后,再继续执行。2.实现原理它是使用一个计数器实现的。计数器的初始值为线程的数量,当每一个线程执行完成后,计数器的值就会减一,当计数器的值为0的时候,表示所有的线程都已经执行完毕,然后在CountDownLatch上等待的线程就会恢复执行。3.缺点...
2018-08-22 19:59:51
159
原创 谷歌缓存清理插件
所需知识 一点点json 一点点html 一点点css 一点点js文件结构,如图扩展程序安装后,Chrome就会读取扩展程序中的manifest.json,这个配置文件名固定为manifest.json,内容是按照json格式描述的扩展相关信息,如扩展名称、版本、更新地址、请求的权限、扩展的UI界面入口等等。代码详情:manifest.json{ // 清单...
2018-06-11 21:18:12
1584
SpringBoot集成activiti modeler实现在线绘制流程图,完整代码demo
2023-03-26
基于elasticsearch的CRUD简单封装java版
2020-06-23
携程api接口请求成功返回的String数据怎样拿来使用
2014-11-28
携程xml请求成功没数据
2014-11-27
读取外部xml后的结果,跟url直接访问的数据一低关系都没有,怎么弄?
2014-11-26
外部url返回xml和jsom结果,用jquery怎样操作
2014-11-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人