
JVM虚拟机
文章平均质量分 68
JVM虚拟机知识和优化
南巷Dong
己所不欲勿施于人
扬帆起航、游历人生、永不言弃
展开
-
JVM系列一:基础知识
好久没有系统的学习和整理技术知识了,现在这个年纪和工作年限,哎,需要整理技能和系统的学习了,不然,逆水行舟不进则退。陆续会整理一些技术。本篇文章,开启JVM系列,主要整理和学习JVM偏高级一些技术点。希望大家一起学习。JDK介绍jdk不进行具体说做什么,怎么做,作用是什么了,做java开发自行补脑。需要jdk,我们需要多看看官网介绍和讲解。最经典的是jdk1.8版本,我们主要也学习此版本。官网:https://docs.oracle.com/javase/8/结构看官网介绍:Oracle原创 2021-01-22 16:11:27 · 162 阅读 · 0 评论 -
JVM系列二:Java虚拟机栈和本地栈
本篇文章主要聊聊Java虚拟机栈和本地栈Java虚拟机栈(Java Virtual MechineStacks )也可以回顾上一篇文章官网描述Each Java Virtual Machine thread has a private Java Virtual Machine stack, created at the same time as the thread. A Java Virtual Machine stack stores frames (§2.6). A Java Virtual原创 2021-02-03 15:25:15 · 273 阅读 · 0 评论 -
JVM系列三:内存模型详解
本篇文章,主要详细分析内存模型,前边两篇文章也分析了一部分,我们会跳过一部分。内存图解,看图更直观一块是非堆,也是现在的方法区一块是堆,我们也主要详解这块区域内存模型先看张图:一块是非堆区,一块是堆区。堆区分为两大块,一个是Old区,一个是Young区。Young区分为两大块,一个是Survivor区(S0+S1),一块是Eden区。 Eden:S0:S1=8:1:1S0和S1一样大,也可以叫From和To。对象创建一般情况下,新创建的对象都会被分配到Eden区,一些特殊的大的对原创 2021-02-21 19:07:47 · 344 阅读 · 0 评论 -
JVM指令手册
JVM指令变量到操作数栈:iload,iload_,lload,lload_,fload,fload_,dload,dload_,aload,aload_ 操作数栈到变量:istore,istore_,lstore,lstore_,fstore,fstore_,dstore,dstor_,astore,astore_ 常数到操作数栈:bipush,sipush,ldc,ldc_w,ldc2_w,aconst_null,iconst_ml,iconst_,lconst_,fconst_,dconst原创 2021-02-22 10:55:44 · 164 阅读 · 0 评论 -
JVM-javap反编译命令
javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。javap用法: javap <options> <classes>其中, 可能的选项包括: -help --help -? 输出此用法消息 -version 版本信息 -v -verbose 输出附加信息 -l原创 2021-01-22 19:01:41 · 300 阅读 · 0 评论 -
栈分配、逃逸分析与TLAB -JVM
最近在学习JVM,在看到这块地方,做一个简化的日志记录,部分内容抄录。一般认为new出来的对象都是被分配在堆上,但是这个结论不是那么的绝对,通过对Java对象分配的过程分析,可以知道有两个地方会导致Java中new出来的对象并一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB(Thread Local Allocation Buffer)。栈上分配在JVM中,堆是线程共享的,因此堆上的对象对于各个线程都是共享和可见的,只要持有对象的引用,就可以访问堆中存储的对象数据。虚拟机的垃圾收集原创 2021-02-26 11:40:59 · 628 阅读 · 0 评论 -
java dump可视化在线内存分析工具
方便分析内存、线程使用情况、死锁等情况的在线可视化分析dump工具一般也可以自己装MAT,JProfiler等工具,但是这个在线可视化HeapHero分析dump非常全面,总之,非常nice。HeapHerohttps://heaphero.io/index.jsp导出dump并上传导出dump文件通过jmap命令或者jstack命令导出相关堆栈或者内存dump文件jps -l #找到要导出的Java的pidjmap -dump:format=b,file=heap.dump pid #导原创 2021-09-15 16:59:49 · 14613 阅读 · 1 评论