随笔分类 - JVM
摘要:-Xms/-XX:InitialHeapSize :初始堆大小,默认物理内存1/64 -Xmx/-XX:MaxHeapSize :最大堆大小,默认物理内存1/4 -Xmn :新生代大小,默认物理内存3/8 -XX:PermSize/-XX:MetaspaceSize :永久代大小 -XX:MaxPe
阅读全文
摘要:基础故障处理工具 jps:虚拟机进程状况工具 (JVM Process Status Tool),主要用来输出JVM中运行的进程状态信息。 语法格式: jps [ options ] [ hostid ] 选项 作用 -q 只输出进程id,省略主类信息 -m 输出虚拟机进程启动时传递给主类main(
阅读全文
摘要:Java内存模型 内存模型: 在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象。 Java内存模型主要关注在虚拟机中把变量值存储到内存和从内存中取出变量值这样的底层细节。 主内存与工作内存 Java内存模型规定: 所有的变量都存储在主内存(Main Memory)中。每条线程还有自己
阅读全文
摘要:哪些内存需要回收? 垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)了。 引用计数算法 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能
阅读全文
摘要:概述 JVM字节码执行引擎功能基本上就是输入字节码文件,然后对字节码进行解析并处理,最后输出执行结果。实现方式可能有通过解释器直接解释执行字节码,或者通过即时编译器产生本地代码,也就是编译执行,也可能两者皆有。 栈帧 栈帧是用于支持JVM进行方法调用和方法执行的数据结构,栈帧随方法调用创建,方法结束
阅读全文
摘要:运行时数据区 程序计数器/PC寄存器 线程私有,程序计数器是一块较小的内存空间,当前线程所执行的字节码的行号指示器。 字节码解释器工作时就是通过改变计数器的值来选择下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成。 如果线程在执行java方法,计数器记录
阅读全文
摘要:JVM指令集 JVM虚拟机规范详情参见官网 Class字节码 ClassFile结构 ClassFile { u4 magic; // 魔数值,确认class文件,值固定 u2 minor_version; // 副版本号 u2 major_version; // 主版本号 u2 constant_
阅读全文

浙公网安备 33010602011771号