随笔分类 -  JVM

java虚拟机学习
String类型在JVM中的内存分配
摘要:一、关于常量池 字符串在Java中用的非常得多,Jvm为了减少内存开销和提高性能,使用字符串常量池来进行优化。 在jdk1.7之前(不包括1.7),Java的常量池是在方法区的地方,方法区是一个运行时JVM管理的内存区域,是一个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态常量等。 阅读全文
posted @ 2020-07-19 23:15 会说话的丶猫 阅读(2456) 评论(0) 推荐(1)
JVM 学习笔记 (六)
摘要:前言: 前几篇文章和大家介绍了JVM中的内存模型以及垃圾回收器,今天和大家一起学习一下在平时jvm调优的过程中常用的参数以及命令。 JVM中-XX类型的参数: 我们经常用到的-XX类型有两种定义: 1. a.Boolean类型 格式: -XX:[+-]<name> +或-表示启用或者禁用name属性 阅读全文
posted @ 2020-07-12 16:36 会说话的丶猫 阅读(156) 评论(0) 推荐(0)
JVM 学习笔记(五)
摘要:前言: 前面的文件介绍了JVM的内存模型以及各个区域存放了那些内容,本编文章将介绍JVM中的垃圾回收Garbage Collector,和大家一起探讨一下。 如何确定一个对象是垃圾: 这里介绍两种方法: 引用计数法 对于某个对象而言,只要应用程序中持有该对象的引用,就说明该对象不是垃圾,如果一个对象 阅读全文
posted @ 2020-07-11 17:27 会说话的丶猫 阅读(256) 评论(0) 推荐(0)
JVM 学习笔记(四)
摘要:回顾: 在之前的文章中,我们主要体现了当堆内存设置的比较小的情况下,比如:-Xmx20M -Xms20M,在项目运行的过程中,不断往内存中去添加对象, 这时候就会出现OOM,也就是内存溢出,本文章将展示方法区和虚拟机栈内存溢出的情况。 方法区内存溢出: 为了使方法区内存溢出,我们将JVM的参数调整为 阅读全文
posted @ 2020-07-11 14:25 会说话的丶猫 阅读(165) 评论(0) 推荐(0)
JVM 学习笔记(三)
摘要:一:使用jvisualvm工具查看堆内存 visualgc插件下载链接 : https://visualvm.github.io/pluginscenters.html >选择对应版本链接 >Tools >Visual GC 首先我们启动本地工程,不停地往内存中添加对象,代码如下: @RestCon 阅读全文
posted @ 2020-07-08 23:28 会说话的丶猫 阅读(126) 评论(0) 推荐(0)
JVM 学习笔记(二)
摘要:一:结合字节码指令理解Java虚拟机栈和栈帧 栈帧:每个栈帧对应一个被调用的方法,可以理解为一个方法的运行空间。 如果还不明白什么是栈帧,可以参考:https://www.jianshu.com/p/b666213cdd8a 每个栈帧中包括局部变量表(Local Variables)、操作数栈(Op 阅读全文
posted @ 2020-07-07 16:29 会说话的丶猫 阅读(133) 评论(0) 推荐(0)
JVM 学习笔记(一)
摘要:一:jvm架构图解 我们经常关注的jdk和jre如图所示: jre包含在jdk中,这里说一下jdk和jre的作用 JRE是Java Runtime Environment的缩写,是Java程序的运行环境。是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心 阅读全文
posted @ 2020-07-06 23:02 会说话的丶猫 阅读(197) 评论(0) 推荐(0)