2020年5月24日
摘要: 一般CPU100%疯狂GC,都是死循环的锅,那怎么排查呢? 先进服务器,用top -c 命令找出当前进程的运行列表 按一下 P 可以按照CPU使用率进行排序 显示Java进程 PID 为 2609 的java进程消耗最高 然后我们需要根据PID 查出CPU里面消耗最高的进程 使用命令 top -Hp 阅读全文
posted @ 2020-05-24 16:18 Code2020 阅读(169) 评论(0) 推荐(0) 编辑
摘要: Volatile可能是面试里面必问的一个话题吧,对他的认知很多朋友也仅限于会用阶段,今天我们换个角度去看看。 先来跟着丙丙来看一段demo的代码: 你会发现,永远都不会输出有点东西这一段代码,按道理线程改了flag变量,主线程也能访问到的呀? 为会出现这个情况呢?那我们就需要聊一下另外一个东西了。 阅读全文
posted @ 2020-05-24 16:15 Code2020 阅读(29068) 评论(2) 推荐(18) 编辑
摘要: 引言 不知道在大家面试中,有没有遇到这个问题: 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答!高调版对不起,我是做研发的,这个问题在生产上是不可能遇见的!因为研发是不可能直接操作生产服务器,如果贵公司能出现这个问题,应该要反思一下 阅读全文
posted @ 2020-05-24 16:03 Code2020 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 目录 1.1 MVCC是什么? 1.2 MVCC是为了解决什么? 1.3 MVCC实现 2.1简单的小例子 1、MVCC简介 回到顶部 1.1 MVCC是什么? MVCC,Multi-Version Concurrency Control,多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库 阅读全文
posted @ 2020-05-24 15:49 Code2020 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 原文出自:https://blog.csdn.net/seesun2012 什么是锁? 在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一 阅读全文
posted @ 2020-05-24 15:43 Code2020 阅读(918) 评论(0) 推荐(0) 编辑