jstack使用实例:定位kafka线程占用大量cpu资源的问题 jstack使用实例:定位kafka线程占用大量cpu资源的问题jstack简介问题描述定位问题1. 拿到问题线程id。功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入jstack简介它是jdk自带的一个jvm工具,可以查看和导
spring解决了循环依赖,为什么还会报circular reference? 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入参考https://segmentfault.com/a/1190000021217176欢迎使用Markdown编辑器
让你的idea在windows里支持shell命令 1. 前提条件:需要安装git,或已开启win10内嵌linux检验方式: 在开始菜单中输入 bash,会出现"git bash(git自带的bash)"或"bash"的提示。2. 打开idea,依次进入file->setting->tools->terminal,进行设置在shell path中,设置为自己的bash目录(笔者设置的是win10内嵌linux的bash.exe的目录)。3.新建terminal窗口,或者重启idea,即可使用bash shell。...
spring-kafka如何保证消息消费的顺序性 前言近日笔者碰到了这样的一个场景:需要将并发操作时可能产生的数据竞争,传到一个消息队列,通过消息队列的顺序读写机制来实现序列化入库,从而避免数据库的并发开销。由于公司使用的消息中间件时kafka,需要通过spring-kafka来实现。...
centos7使用firewalld详解 1、firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld停止: systemctl disable firewalld禁用: systemctl stop firewalld2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于...
centos7.6安装jenkins centos7.6安装enkinsstep 1:官网下载Jenkins rpm包step2:安装rpm包在rpm包所在目录运行命令,rpm -iv jenkins-2.204.1-1.1.noarch.rpm step3:修改jenkins默认端口号vi /etc/sysconfig/jenkins找到JENKINS_PORT="8080"这行,修改为自定义的端口号并保存。st...
spring事务传播策略 require 默认的传播策略 当前事务默认加入已存在的事务中。support 支持。 如果已有事务,则加入。 如果没有存在的事务,则作为没有事务处理。MANDATORY 强制。 当前事务方法只能在外层是事务中执行,否则报错。NEW REQUIRES。新的事务 当前事务不加入已存在的事务,而是作为新的事务执行。如果回滚且外层调用时加了try catch,则外层事务不受影响。NOT S...
理解redis缓存雪崩、缓存穿透、缓存击穿 1. 缓存雪崩指大批缓存的key同时出现过期,导致这一瞬间db承受大量数据库查询压力。解决方案:设置过期时间的时候添加一个随机因子,避免大量的key使用同样的过期时间。2.缓存穿透查询未被缓存的数据。比如查询一个不存在的主键id,由于数据库中查询不到数据,数据不会被缓存。从而导致每次查询,压力都到达了db层。解决方案:参数校验,对于无效id直接返回孔;允许缓存null。3.缓存击穿有...
mysql并发问题与事务隔离级别 一、几种并发问题1. 脏读事务a读取了事务b修改、但未提交的数据,并对其执行若干操作;事务b最终却回滚了,因此事务a是使用了不合理的数据(即脏数据)并进行处理。2.不可重复读事务a在两次读取数据的时候,数据被事务b修改了。导致两次读取的数据不一致。3. 幻读事务a将表中每一条数据进行修改。修改的过程中事务b插入了一条新的数据,插入的数据没有被事务a修改,就好像发生了幻觉一样。二、事...
ReenTrantLock简介 ReenTrantLock是jdk提供的一种api层面的并发锁机制。相比于用synchronized实现的同步,ReenTrantLock更为轻量。一个典型的用法如下:public class ReenTrantLockDemo implements Runnable { private static ReentrantLock lock = new ReentrantLock()...
java1.8的内存划分 java1.8中的内存划分很多人对于jvm的认识来自于周志明的《深入理解java虚拟机》一书,这也是一本很经典的书。遗憾的是,这本书里面的很多内容是基于java1.7以前的版本来描述的,对比java1.8后的版本,已经存在很多不一致的地方了,比如对于内存区域的划分。很多博客对于java内存区域划分为五个区域:如下图对于1.7和1.6的版本,这样的划分基本没有问题。而到了1.8,jvm有了...
springboot启动分析 ##springboot启动代码分析1. 创建SpringApplication对象1-1 创建SpringApplication时,会调用initialize方法,这个方法会做4件事情。赋值springApplication的webEnvironment属性。 用来判断是否web环境。赋值springApplication的initializers属性。 加载spring.factor...
linux查看服务安装位置 step1. 查找出服务的进程idps aux|grep nginxroot 1231 0.0 0.0 46336 956 ? Ss 04:21 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.confnginx 1232 0.0 0.2 46808 2144 ? S 04:21 0:00 nginx: work...
centos图形界面的开启和关闭 centos图形界面的开启和关闭一般来说centos主要用于服务器端,所以很少开启图形化界面,但是有时候为了工作方便也会偶尔开启图形界面,下面就让简单谈谈如何开启图形化界面,当然简化安装是没有这个程序的需要自行安装,可以yum安装下CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境。在服务器上通常不需要安装桌面环境,最小化地安装 CentO...
mqtt协议简介 ##mqtt协议:万物互联一、概述在20世纪90年代中期IBM在帮助石油和天然气公司客户设计有效的数据传输协议时,就出现了对MQTT这种物联网环境下的数据传输协议的需求。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FFx2BXWd-1572514144487)(./1567662845623.png)]当时这种应用场景有如下几个特点:石油天然气管道线路非...
关于gitee总显示为繁体字的奇怪问题解决方案 关于gitee总显示为繁体字的奇怪问题解决方案我有一台笔记本莫名其妙每次访问gitee都会变成繁体字,而用其他电脑就正常。不论怎么设置浏览器语言都没有效果。今天看了下gitee网站的http请求,发现requestHeader里面有一行:Accept-Language: zh-TW应该是以前开vpn访问了这个页面,并且网站把Accept-Language信息保存到了cookies里面。导...
深入java synchronized底层原理 深入java synchronized底层原理一、概述java synchronized关键字是高并发下实现同步代码的有效手段,一般有三种写法:1.synchronized (A.class) {}2.synchronized (this) {}3.synchronized (object) {}它们分别是把class、类的实例、一个Java对象作为锁。由于在java中,class实...