随笔分类 -  JVM

Java内存模型
摘要:主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量(Variable)与Java编程中所说的变量略有区别,它包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,因为后者是线程私有 阅读全文

posted @ 2018-06-13 09:02 Louis军 阅读(244) 评论(0) 推荐(0) 编辑

JVM性能监控与故障处理工具
摘要:要查看哪些进程占用了较多的资源(如CPU、内存、磁盘IO等),在Linux下使用的最频繁的一个命令是top,如下图所示 这个就相当于windows下的任务管理器,能够简单的描述每个进程占用的资源信息,包含CPU、磁盘、内存等信息,按1可以将CPU拆解,看单个CPU的运行信息。使用ps –ef | g 阅读全文

posted @ 2018-04-25 09:43 Louis军 阅读(375) 评论(0) 推荐(0) 编辑

java内存模型—先行发生原则
摘要:Java语言中有一个“先行发生”(happens-before)的原则。这个原则非常重要,它是判断数据是否存在竞争,线程是否安全的主要依据,依赖这个原则,我们可以通过几条规则一揽子解决并发环境下两个操作之间是否可能存在冲突的所有问题。现在就来看看“先行发生”原则指的是什么。先行发生是Java内存模型 阅读全文

posted @ 2018-04-20 10:28 Louis军 阅读(250) 评论(0) 推荐(0) 编辑

JVM内存区域解析
摘要:引言 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而 阅读全文

posted @ 2018-03-07 21:24 Louis军 阅读(6736) 评论(0) 推荐(1) 编辑

JVM类加载机制详解
摘要:引言 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 在加载阶段,虚拟机需要完成以下三件事情: 1)通过一个类的全限定名来获取定义此类的二进制字节流。注意这里的二进制字节流不一定非得要从一个Class文件获取,这里既可以从ZIP包中 阅读全文

posted @ 2018-03-07 21:24 Louis军 阅读(244) 评论(0) 推荐(0) 编辑

JVM垃圾回收算法及回收器详解
摘要:引言 本文主要讲述JVM中几种常见的垃圾回收算法和相关的垃圾回收器,以及常见的和GC相关的性能调优参数。 GC Roots 我们先来了解一下在Java中是如何判断一个对象的生死的,有些语言比如Python是采用引用计数来统计的,但是这种做法可能会遇见循环引用的问题,在Java以及C#等语言中是采用G 阅读全文

posted @ 2018-02-05 15:50 Louis军 阅读(423) 评论(0) 推荐(0) 编辑

线上服务内存OOM问题定位
摘要:转自:架构师之路,http://mp.weixin.qq.com/s/iOC1fiKDItn3QY5abWIelg 相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的原因: 本身资源不够 申请的太多 资源耗尽 本身资源不够 申请的太多 资源耗尽 题目 某服务器上部署 阅读全文

posted @ 2017-11-21 17:24 Louis军 阅读(1371) 评论(0) 推荐(0) 编辑

线上应用故障排查:高CPU占用
摘要:转自:hankchen,http://www.blogjava.net/hankchen 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PID为28555的Java进程占用CPU高 阅读全文

posted @ 2017-11-13 19:17 Louis军 阅读(297) 评论(0) 推荐(0) 编辑

VisualVM远程连接Tomcat(转)
摘要:转自:http://www.cnblogs.com/sunshine-2015/p/5547128.html VisualVM VisualVm是一个将很多JDK命令工具可视化的windows程序,直接下载解压就可以使用(如果安装了JDK的话,在JDKbin目录下就有)。可以安装很多插件,在工具>插 阅读全文

posted @ 2017-11-13 18:02 Louis军 阅读(480) 评论(0) 推荐(0) 编辑

java虚拟机启动参数分类详解
摘要:java启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取 阅读全文

posted @ 2017-11-13 17:58 Louis军 阅读(429) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示