![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
石公子
求赞~蟹蟹了,么么哒
展开
-
使用eclipse mat分析堆内存找出内存泄漏
jvm内存泄漏原创 2023-02-03 14:02:50 · 433 阅读 · 0 评论 -
jstack使用实例:定位kafka线程占用大量cpu资源的问题
jstack使用实例:定位kafka线程占用大量cpu资源的问题jstack简介问题描述定位问题1. 拿到问题线程id。功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入jstack简介它是jdk自带的一个jvm工具,可以查看和导原创 2020-11-25 17:23:26 · 1146 阅读 · 0 评论 -
java volatile关键字作用及实现原理
TODO_内存屏障原创 2019-11-20 14:50:23 · 393 阅读 · 0 评论 -
ReenTrantLock简介
ReenTrantLock是jdk提供的一种api层面的并发锁机制。相比于用synchronized实现的同步,ReenTrantLock更为轻量。一个典型的用法如下:public class ReenTrantLockDemo implements Runnable { private static ReentrantLock lock = new ReentrantLock()...原创 2019-11-19 15:49:10 · 244 阅读 · 0 评论 -
java1.8的内存划分
java1.8中的内存划分很多人对于jvm的认识来自于周志明的《深入理解java虚拟机》一书,这也是一本很经典的书。遗憾的是,这本书里面的很多内容是基于java1.7以前的版本来描述的,对比java1.8后的版本,已经存在很多不一致的地方了,比如对于内存区域的划分。很多博客对于java内存区域划分为五个区域:如下图对于1.7和1.6的版本,这样的划分基本没有问题。而到了1.8,jvm有了...原创 2019-11-17 10:53:03 · 549 阅读 · 0 评论 -
深入java synchronized底层原理
深入java synchronized底层原理一、概述java synchronized关键字是高并发下实现同步代码的有效手段,一般有三种写法:1.synchronized (A.class) {}2.synchronized (this) {}3.synchronized (object) {}它们分别是把class、类的实例、一个Java对象作为锁。由于在java中,class实...原创 2019-10-14 11:05:31 · 537 阅读 · 0 评论 -
JVM GC算法
一、 什么是GC?GC,即Garbage Collection——垃圾收集。在c/c++语言中,每个对象的创建都会对应一个销毁的过程,这个销毁完全由用户控制。缺点: 用户需要控制每一个对象的生命周期,增大了编码的复杂度,降低了效率。而且稍有不慎,容易出现内存泄漏等问题。而在jvm中,这项工作交给了jvm来管理。二、GC的范围在JVM的五种内存模型中,有三个是不需要进行垃圾回收的:程序...原创 2019-02-24 11:41:45 · 266 阅读 · 0 评论 -
jvm内存划分
jvm内存划分1.程序计数器(PC)2.虚拟机栈关于栈帧:异常情况:3.本地方法栈4.java堆5.方法区6.运行时常量池7.直接内存1.程序计数器(PC)是一块较小的内存区域,可以看做用来记录线程当前所执行的字节码的行号。每个线程都会有一个程序计数器。如果线程执行的是一个java方法,则这个计数器记录的是正在执行的字节码指令的地址;如果执行的是native方法,则其记录的值为null。2...原创 2019-02-18 21:44:47 · 163 阅读 · 0 评论 -
java内存屏障
java内存屏障 ...转载 2019-07-25 19:56:37 · 369 阅读 · 0 评论