自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 RocketMQ工作原理

RocketMQ工作原理图

2023-07-28 12:14:49 974

原创 MYSQL sql的技巧与避坑

mysql 写sql的一些技巧和坑

2023-07-12 18:43:14 14887 2

原创 Zookeeper集群部署

zookeeper集群部署

2023-06-19 22:04:58 969 3

原创 链表题基础技巧ListNode

链表题技巧,反转链表和链表折半中点

2023-04-25 23:29:56 161 1

原创 git使用

git基本命令使用

2023-03-18 18:47:27 285

原创 IDEA编译找不到类但是不报红

删除.iml文件,重新reload一下maven依赖,好了。

2023-03-18 15:17:22 503

原创 CompletableFuture优化首页加载速度

注:没有考虑某一个任务超时的情况,我们没有这种场景,就像有些公司一天几百单,非要搞多服务之间的分布式事务,考虑用bigint作为自增id是否会越界,我觉得,想多了。情况是这样的,我们的APP首页,加载的数据非常多,由于业务上对展示数据实时性的要求,不便于使用缓存,所以考虑用并行化查询来优化首页接口的响应速度,使用。基于CompletableFuture本身的一些缺点,采用包装类规范使用尽可能地来避免,以下是我写的包装类。,此类的具体使用就不赘述了。

2023-03-18 15:08:20 185

原创 RocketMQ 2m-2s-async搭建

RocketMQ 2m-2s-async搭建 两主两从异步复制搭建

2023-02-18 22:35:29 1115 2

原创 redis RDB快照持久化报错OOM

redis RDB快照持久化由于内存溢出OOM报错

2023-02-15 00:09:58 492

原创 thrift OOM 内存溢出

http方式调用thrift发生内存溢出OOM,设置maxReadBufferBytes解决

2023-01-07 00:51:08 891

原创 msyql慢查询相关

mysql慢查询参数,查看方式

2022-12-29 17:52:56 432

原创 IDEA找不到类报红-类文件过大

idea 类大小问题

2022-12-08 22:49:20 335

原创 JVM问题排查和调优

JVM调优,问题排查,jstack, jmap

2022-06-17 00:02:12 313

原创 设计链表(力扣707)

自己设计一个链表,实现简单的增删改查,上代码:class MyLinkedList { public static void main(String[] args) { MyLinkedList myLinkedList = new MyLinkedList(); myLinkedList.addAtHead(7); myLinkedList.addAtHead(2); myLinkedList.addAtHead(1);

2022-03-24 23:48:12 70

原创 建表的时候需要考虑什么

经验1:独立性一张表如果在业务上比较独立,即只用来单表查询,考虑在哪个字段上加索引即可。但是如果要和其他表连接查询,要考虑被连接的表的大小,联表以后的查询速度,那么回到联表的根源上,当然是要查被连的那张表的字段,这时候为了不连表,可以在新表上适当冗余。示例:# a表为新表,b表为千万级表select count(*) from a join b on a.b_id = b.b_id where b.record_id = ?;# 改进,给a表加record_id, 速度会快不少select c

2022-03-18 15:41:01 383

原创 Socket发送和接收数据

我们来试验一下socket发送和接受数据一共有三个文件:mysocket.h、socketServer.c、socketClient.c过程:1.将这三个文件准备好,放到一个目录下2.执行 gcc socketServer.c -o server.out3.执行 gcc socketClient.c -o client.out4.在一个终端窗口执行:./server.out,可以看到当前进程处于等待状态5.再打开另一个终端窗口执行:./client.out 16.观察两个窗口的输出下面是三

2022-03-13 00:49:46 4935

原创 磁盘满了导致JTA事务无法提交

线上有一个项目启动,刷了大量日志,把磁盘写满了,然后服务出问题了;清磁盘,重启就解决了:org.springframework.transaction.TransactionSystemException: JTA failure on commit; nested exception is com.atomikos.icatch.jta.ExtendedSystemException: Error in commit: could not flush state image java.io.IOExce

2022-03-03 17:30:40 390

原创 sed命令和awk命令详解

vim和sed、awk之间的区别: vim命令是交互式的,sed和awk是非交互式的。比如vim需要i来插入,需要wq来保存退出 vim命令使文件操作模式,sed和awk是行操作模式。sed命令:1.sed作用 sed一般用于对文本内容做替换(不一定非用/分割,任意字符都可以): 如sed '/usr1/s/usr1/u1/' /etc/passwd2.sed的模式空间 sed的基本工作方式为: 将文件的每一行读取到内存...

2022-02-28 00:42:08 3154

原创 shell命令详解

shell命令1.shell是什么? shell是命令解释器,用于解释用户对操作系统的操作 shell有很多,看cat /etc/shells centos默认使用的shell是bash2.Linux的启动过程 BIOS引导介质-MBR(硬盘引导)-BootLoader(grub)-kernel(内核启动)-systemd(系统初始化, systemd为1号进程,centos6位init)-shell3.shell脚本的格式 cd /usr/lo...

2022-02-27 02:41:33 5526

原创 linux常用命令

man 命令:man ls、man pwd等linux中的命令可以用man来查看具体使用,如ls -l的作用================================================================================help 命令:命令分为内部命令和外部命令,shell自带的称为内部命令,其他的是外部命令使用type cd、type shell区分内部命令使用如: help cd外部命令使用如:ls —help======.

2022-02-26 13:25:03 906

原创 分布式事务基础

1.分布式事务介绍1.1.什么是事务?事务是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成我们常用框架中的事务流程是下面这样的:conn.setAutoCommit(false);业务流程1;业务流程2;业务流程3;全部成功 ?conn.commit() : conn.rollback();1.2本地事务服务直接调用单个数据源的事务,称为本地事务1.3分布式事务有一个服务使用多个数据源或多个服务使用一个数据源或多个服务使用多个数据源,需要一起提交或回滚,称为分布式事

2022-02-25 11:47:09 120

原创 mysql in 查询慢的问题

线上某系统遇到了in查询慢的问题,而且in里面的元素只有10个,百思不得其解,1ms的响应时间,加了这个sql为何变成了200ms,随后破案了。因为mysql有个系统参数range_eq_range_index_dive_limit,5.6版本默认为10,超过10以后可能导致走错误的执行计划,5.7默认为200,具体可看mysql官方文档,这里提供一个in查询慢的可能原因。...

2022-02-25 11:30:40 4595 3

原创 键盘打字练习网站

推荐一个打字练习网站,有标准的指法教学和合理的单词练习:www.typingclub.com

2022-01-05 01:32:09 441

原创 批量更新数据的方案

批量更新数据首先要分页查询出来,那么有一个问题,如何去查?起初我的sql是这样的:#先查出总数,分页select count(*) from t where status = 1;#过程如下select id,name from t where status = 2 order by id limit 0, 100;select id,name from t where status = 2 order by id limit 100, 100;使用上面的语句发现问题,两次分页查询之间没有关

2021-12-30 13:34:30 885

原创 order by 和 limit同用的问题

当使用order by create_time limit 0,10时,发现如果create_time相同时,则随机返回其中一条记录,那么这个分页是无效的,查出来的数据也是不准确的,正确用法是使用唯一字段去order by,如自增id,改为order by id limit 0,10...

2021-12-30 13:09:34 429

原创 nginx常用命令

1.nignx -s用法#强制停机nignx -s stop#优雅停机nginx -s quit#重新加载配置文件nignx -s reload#重新打开日志文件 执行前先备份nignx -s reopen2.更新nignx版本#先将新版本的nignx执行文件cp到原目录,然后执行以下命令通知旧的nignx进程将要更新了:kill -USR2 旧ningx master的进程号#然后将旧ningx进程的工作进程停掉,此时master进程不会停掉,如果出现问题,可以回退版本,重

2021-12-27 23:57:57 1347

原创 消息对话轮次

/** * 客服和顾客对话,比如abab,客服消息为a,顾客消息为b,计算客服和顾客一共对话了几轮 */public class 对话消息轮次 { public static void main(String[] args) { System.out.println(solve("abab")); } public static int solve(String str){ if(str == null || str.length() <=

2021-11-06 15:15:18 277

原创 无重复字符的最长子串

//时间复杂度O(n),空间复杂度 O(s.length()) public int lengthOfLongestSubstring(String s) { if(s == null || s.length() == 0){ return 0; } HashSet<Character> set = new HashSet<>(); int rk = -1, ans = 0, n = s.

2021-11-06 13:13:14 54

原创 两数之和-二分法

给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。示例 1:输入:numbers = [2,7,11,15], ta

2021-10-31 13:52:58 284

原创 移动零-双指针

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。public void moveZeroes(int[] nums) { if(nums==null) { return; } //两个指针i和j int j = 0; for(int i=0;i<nums.length;i+

2021-10-31 13:51:12 55

原创 旋转数组。

public static int[] sortedSquares(int[] nums) { int len = nums.length; int[] result = new int[len]; for(int i = 0,j = len - 1,pos = len -1;i <=j;){ if(nums[i] * nums[i] > nums[j] * nums[j]){ res...

2021-10-29 23:08:31 37

原创 有序数组的平方

public static int[] sortedSquares(int[] nums) { int len = nums.length; int[] result = new int[len]; for(int i = 0,j = len - 1,pos = len -1;i <=j;){ if(nums[i] * nums[i] > nums[j] * nums[j]){ res...

2021-10-29 22:33:52 48

原创 顺时针旋转矩阵

有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。数据范围:0 < n < 3000<n<300,矩阵中的值满足 0 \le val \le 10000≤val≤1000要求:空间复杂度O(n^2),时间复杂度 O(n^2)进阶:空间复杂度 O(1),时间复杂度 O(n^2)输入:[[1,2,3],[4,5,6],[7,8,9]],3返回值:[[7,4,1],[8,5,2],[9,6,3]]

2021-10-21 21:55:13 108

原创 有重复数字的所有排列

描述给出一组可能包含重复项的数字,返回该组数字的所有排列。结果以字典序升序排列。数据范围: 0 < n \le 80<n≤8 ,数组中的值满足 -1 \le val \le 5−1≤val≤5要求:空间复杂度 O(n!)O(n!),时间复杂度 O(n!)O(n!)输入:[1,1,2]返回值:[[1,1,2],[1,2,1],[2,1,1]]``输入:[0,1]返回值:[[0,1],[1,0]]import java.util.ArrayList;import java.uti

2021-10-18 23:42:20 249

原创 SpringBoot项目启动后执行一段代码

上线重启项目的时候发现了一个报错,因为我们用了redis队列接受消息,用了@PostConstruct注解启动blpop, 然后调数据库。项目一启动,来消息了,这时候要调数据库,发现找不到可用的连接,看日志发现数据库还没有初始化完。我去看了看同事在其他用@PostConstruct注解的地方是怎么处理的,竟然是sleep20秒,太不优雅,就去翻翻百度,果然有,最后的最后还是被自己的无知打败了,多看源码啊!使用ApplicationRunner接口或者CommandLineRunner都可以,这两个接口保

2021-10-16 18:30:28 330

原创 合并区间(排序)

中等难度题,直接上代码了import java.util.*;/** * Definition for an interval. * public class Interval { * int start; * int end; * Interval() { start = 0; end = 0; } * Interval(int s, int e) { start = s; end = e; } * } */public class Solution

2021-10-16 17:51:11 46

原创 KMP算法

关于KMP算法,可以先看这篇博客,图文并茂,不过里面的算法不对,不值得借鉴,https://www.cnblogs.com/dusf/p/kmp.html给你一个文本串 T ,一个非空模板串 S ,问 T 在 S 中出现了多少次数据范围:1 \le len(S) \le 500000, 1 \le len(T) \le 10000001≤len(S)≤500000,1≤len(T)≤1000000要求:空间复杂度 O(len(S))O(len(S)),时间复杂度 O(len(S)+len(T))O(l

2021-10-14 22:46:29 64

原创 Github常用的搜索条件小结

in:name xxx 关键词 in:description xxx 描述in:readme xxx 搜索readmestars:>2000 按starsforks:>200size:>5000 仓库大小(5000是5000K)pushed:>2020-01-01 按提交时间language:java 按语言 user:xxx按作者 搜索条件可以组合更多高级搜索 https://github.com/search/advanced...

2021-10-10 01:53:28 97

原创 岛屿数量(BFS、DFS)

给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。岛屿: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。例如:输入[[1,1,0,0,0],[0,1,0,1,1],[0,0,0,1,1],[0,0,0,0,0],[0,0,1,1,1]]对应的输出为3package com.wy.搜索;import java.util.LinkedList;import java.util.Queue;/** * 思

2021-10-09 09:01:13 259

原创 deepin20 外接显示器,标题栏美化

Hello,今天是周日,调休上班,累成狗了。作为开发,感觉最近好多需求是测试提的,以前听过一句话,靠测试驱动的公司都是垃圾公司,其实大家都有进步空间,产品写需求再详细点,开发多整理文档,对业务更熟悉,测试在写测试用例的时候,找产品及时沟通。总之别人一时半会儿是改变不了的,提升自己才是王道。 好了,言归正传,最近装了个deepin系统,一个国产linux系统,用了一段时间,个人感觉还不错。但是,确实还有一些地方很不爽,下面我们自己解决下。1.外接显示屏问题 刚装上系统,插上HDMI线,...

2021-09-27 00:10:56 1253

HttpTools.java

发送Json数据,绝对有效

2020-05-23

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

TA关注的人

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