自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 记一次生产大对象及GC时长优化经验

一次GC时间优化

2023-10-11 19:54:12 536

原创 基于Spring-动态调整线程池阻塞队列长度

动态线程池

2023-05-22 19:44:53 1748 2

原创 @SpringBootApplication深入剖析

@SpringBootApplication

2023-04-18 17:26:35 1619

原创 线程夯死的排查及解决

线程夯死排查

2023-04-16 22:45:25 1161

原创 PostMan动态参数及循环调用

postman批量

2023-04-11 15:12:24 8150

原创 浅谈前缀索引

前缀索引

2022-11-23 16:12:34 1659

原创 @RequiredArgsConstructor 引发的循环依赖问题

循环依赖

2022-10-21 15:51:25 3361

原创 浅谈数据库分表

浅谈分表

2022-09-16 15:58:45 473

原创 关于idea的八种断点调试

断点调试

2022-09-12 21:14:08 4127

原创 子线程的异常处理

线程异常处理

2022-08-20 20:57:46 751

原创 nacos-springboot搭建

nacos

2022-08-07 17:09:05 815

原创 Kafka-partition和消费者的关系

Kafka-partition和消费者的关系

2022-07-22 19:19:29 3108

原创 Semaphore的注意点

seamphore大家玩的都比较多,使用起来也很简单,获取令牌和释放,但是其中坑却不少,而且会让人很难发现,希望能通俗易懂的小例子讲明白其中的几个道理。一、线程都被阻塞了?public class demo2 { static Semaphore semaphore = new Semaphore(1); public static void method1() { try { System.out.println(Thread.curr..

2022-05-29 22:12:28 383

原创 ES-Index Aliases

前言:最近公司需要解决es下单个索引过大(大概几亿-十几个亿的数据)导致查询过慢的问题,解决方法是按天创建索引,挂载到别名之下,再去根据具体业务需求定时删除或者卸载相关索引(30天)一、什么是Aliases个人理解为别名,可以使几个索引使用一个别名,这样查找的时候相当于分表查找再聚合的效果二、如何操作1.主要演示记录一下该如何挂载别名以及注意点2.这里准备的将test_auto_index_20200405和test_auto_index_20200404 挂在再别名test_aut..

2022-04-05 20:41:37 947

原创 MySQL-08-MVCC

一、什么是MVCC即多版本并发控制MVCC在MySQL的InnoDB中的实现主要是为了提高数据库并发性能,达到读-写不冲突,此处的读是快照读二、什么是当前读和快照读?快照读就是最普通的Select语句,例如:select * from user whereid=1,他读取的是一个快照,也就是历史记录,不一定是最新的数据,取决于你能读到什么(涉及隔离级别)当前读指执行下列语句时的读取的方式,可以理解为读到了最新的数据,会去加锁Insert、Update、Delete、Select…for

2022-03-18 16:48:40 944

原创 记一次死锁排查

1.死锁代码public class DieLockTest { private static String lockA = "lockA"; private static String lockB = "lockB"; public static void main(String[] args) { Runnable runnable1 = () -> { synchronized (lockA) {

2022-03-16 21:43:22 470

原创 MySQL-07-事务

MySQL事务介绍一、事务的基本要素(ACID)1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。3、隔离性(Isolation):不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。4、

2021-11-07 15:45:51 398

原创 MySQL-06-RedoLog

InnoDB架构架构图上图详细显示了InnoDB存储引擎的体系架构,从图可见,InnoDB存储引擎由内存池,后台线程和磁盘文件三大部分组成。InnoDB内存结构BufferPool(缓冲池)InnoDB采用缓存机制来实现提升处理数据的效率,Buffer Pool就是执行缓存区域;Buffer Pool中包含data page数据页、index page索引页、insert buffer page插入缓冲页、adaptive hash index自适应哈希(热点哈希)、lock info锁信

2021-10-18 13:25:03 104

原创 MySQL-05-锁

mysql 锁

2021-09-27 09:05:41 98

原创 MySQL-03-索引

索引介绍官方介绍索引是帮助MySQL高效获取数据的数据结构优势:检索:可以提高数据检索的效率,降低数据库的IO成本;排序:被索引的列会自动进行排序,包括【单列索引】和【组合索引】,只是组合索引的排序要复杂一些,如果按照索引列的顺序进行排序,对应order by语句来说,效率就会提高很多;where 索引列在存储引擎层被处理,达到索引下推效果;劣势: 占据磁盘空间; 索引虽然会提高查询效率,但是会降低更新表的效率;比如每次对表进行增删改操作,MySQL不仅要保存数据,还有保存或者更新对应的索引文

2021-09-05 14:44:59 92

原创 MySQL-01-基础知识

表关联查询的理解一、外联接1)左连接(左外联接)LEFT JOIN或LEFT OUTER JOIN显示左表的所有行,如果左表的某行在右表中没有匹配行,则右表列为空值。2)右连接(右外联接)RIGHT JOIN 或 RIGHT OUTER JOIN显示右表的所有行,如果右表的某行在左表中没有匹配行,则左表列为空值。3)FULL JOIN 或 FULL OUTER JOIN完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间

2021-09-05 12:44:01 82

原创 SpringBoot - Log4j2异步日志

前言Log4j2大家应该都不陌生,最近在研究日志框架的时候,发现其存在异步日志场景且性能很高,于是开始尝试,并记录踩坑点环境springboot 2.4.5java 8配置1.引入其依赖并把 springboot 自带的日志框架 logback 排除掉:<!--log4j2--> <dependency> <groupId>org.springframework.boot</groupId>

2021-09-01 17:16:33 574

原创 RabbitMQ-Queue

主要讨论队列声明的各个参数(本文基于SpringBoot集成)1.通过RabbitMQ-Manager界面添加queue设置参数2.通过Bena注入添加queue设置参数@Configurationpublic class RabbitmqConfig { @Bean public Queue queueWork_test() { return new Queue("queue_work_test", true, false, false, null); }

2021-08-09 15:21:12 997

原创 Spring-事务失效场景

aop失效场景

2021-08-01 15:33:53 71

原创 mysql_常见语句避坑

distinct对NULL是不进行过滤的,即返回的结果中是包含NULL值;

2020-04-25 18:00:41 154

原创 Java并发容器总结

对于map/set的选择使用无并发下HashMap: 无序的key-value (hash表)TreeMap: key是有序的,按照自然排序,或者通过函数指定顺序(红黑树)LinkedHashMap:内部有一个链表,保持Key插入的顺序 (链表,hash)并发较小HashTable :对hashMap所有方法进行同步处理Collections.synchronizedXXX : 对集...

2020-03-01 20:42:11 101

原创 MySQL-02-MySQL架构

表关联查询的理解一、外联接1)左连接(左外联接)LEFT JOIN或LEFT OUTER JOIN显示左表的所有行,如果左表的某行在右表中没有匹配行,则右表列为空值。2)右连接(右外联接)RIGHT JOIN 或 RIGHT OUTER JOIN显示右表的所有行,如果右表的某行在左表中没有匹配行,则左表列为空值。3)FULL JOIN 或 FULL OUTER JOIN...

2020-02-01 14:19:22 185

原创 深入理解Java虚拟机(二)

1.程序计数器(线程私有)注意点:1.此处没有内存溢出异常(可以这样理解,因为我们操作不了程序计数器,而是由jvm调用,所以会很严谨,不会出现内存溢出的异常)2.java虚拟机栈(线程私有)3.本地方法栈(线程私有)注意点:1.二者结构模型很类似,所以本地方法栈和虚拟机栈在hotSpot中融为一体了4.Java堆(线程共享)...

2020-01-15 22:22:22 148

原创 关于日志打印的几点建议

日志的打印在软件开发过程中必不可少,一般分为两个大类:操作日志:主要针对的是用户,例如在Photoshop软件中会记录自己操作的步骤,便于用户自己查看。系统日志:主要针对的是软件开发人员(包括测试、维护人员),也就是说这部分的日志用户是看不到的,也就是我们通常所说的debug日志。操作日志相对比较好理解,用户做了什么就记录什么;而打印系统日志则很多人无从下手,往往一般有下面几个方面:Whe...

2020-01-13 14:50:25 697

原创 Docker Nginx 安装

docker 下到nginx 安装docker pull nginx: 下载nginx镜像docker run -di --name zmj_nginx -p 9080:80 nginx /bin/bash:以后台方式启动,容器名为zmj_nginx,映射9080端口到容器内部的80端口 运行到镜像名为nginx这时候nginx虽然启动,但是浏览器无法访问,因为容器内部nginx没有启动...

2020-01-11 14:35:18 87

原创 详解IaaS,PaaS,SaaS三者关联区别

IaaS: 基础设施即服务 (阿里云服务器,腾讯云服务器)PaaS:平台即服务 (mysql ,redis …) Docker 就是基于Pass产生的虚拟化容器技术SaaS: 软件即服务 在云上直接可以访问无需本地化部署安装,类似钉钉,云上OA,教务系统(需求变化不大,具有很强的通用性)通俗角度如果你想搭建一个博客网站。不采用云服务,你所需要准备的大概是:买服务器,安装服务器软件,编写...

2020-01-08 13:38:04 2482

原创 insertselective返回主键ID

使用Generator生成的方法insertselective,发现返回的为影响条数,0为失败,1为一条数据收到影响也就是成功,实体类属性id里面也没有主键映射上。加上下面红线位置的即可useGeneratedKeys=“true”keyProperty="pojo主键字段"去实体类中即可拿到主键id...

2019-12-17 14:09:59 11273

原创 计算机网络基础知识,持续更新

局域网:覆盖范围小,带宽固定,自己维护广域网:花钱买带宽,别人维护带宽:带宽电信8m,只是你访问电信的服务器8m,其他的运营商不一定,所以存在有的网站快,有的网站慢网络部分:同一个局域网是相同的子网掩码:用来表示网络部分哪里是主机网关:就是下一个地址应该给谁mac地址:是计算机芯片里面的,出厂设置的计算机数据通信过程如下图1.DNS域名解析,拿到域名对应的网络地址2.包装一个原...

2019-12-10 22:38:37 109

原创 Docker 常用命令

docker 命令

2019-12-10 17:16:15 248

原创 Git 命令大全

git checkout -b quickapp_master :从当前分支创建新的分支名为quickapp_master

2019-12-06 15:55:42 63

原创 mac os Idea快捷键

option+command+t :try catch

2019-12-06 09:34:01 167

原创 Docker build 异常

主要报错为:com.spotify.docker.client.shaded.org.apache.http.impl.execchain.RetryExec executeINFO: I/O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Connect...

2019-12-05 16:14:25 2735

原创 Docker Linux 安装操作

我的linux系统是阿里云服务器,是centos版本的。前置条件64-bit 系统内核 3.10+1.用 uname -r 命令检查内核版本,返回的值大于3.10即可2. sudo yum install docker 用yum下载docker中途出现提示代表需要的安装包大小,输入y同意即可3.启动dokersudo systemctl start docker : 启动dock...

2019-12-05 09:34:41 73 1

原创 The specified user settings file does not exist: /Users/zmj/.m2/settings.xml

今天写代码时候,突然之间maven 报错,我是使用idea自带的maven打开设置,发现目录/Users/zmj/.m2/下没有找到maven的settings文件,发现自己不小心勾选了使用本地maven的settings文件,但是自己没有安装maven,所以找不到,去掉Override继续使用的就是idea自带的maven即可(有人说很坑,我感觉懂了的话还可以使用的)使用Idea自带的ma...

2019-12-04 13:15:31 13674 2

原创 AuditLog配置详解

介绍auditLog采用Audit4j进行了简单的封装。配置在applicaton-.yml中添加auditLog的配置,配置参数如下:# auditLog配置audit4j: db-handler: # auditLog记录时否分表. 对于业务不是很复杂的应用,一般设置成false即可 separate: false # 是否用内置的数据库记录.一般都是用自...

2019-12-03 18:03:25 9134 1

空空如也

空空如也

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

TA关注的人

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