首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JVM 学习
KittyGuy
创建于2021-07-11
订阅专栏
深入学习JVM。看专栏时按发布时间远到近顺序观看。
等 6 人订阅
共25篇文章
创建于2021-07-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JVM 垃圾收集器之G1 收集的具体步骤
G1 GC模式 G1 有两种模式 G1提供了两种GC模式,Young GC和Mixed GC 两种都是完全Stop The World的 Young GC:选定所有年轻代里的Region。通过控制年轻
JVM 垃圾收集器之G1概念学习
Garbage First Collector G1 和以前学的垃圾收集器有些不同 首先,堆的划分有些区别 其它收集器将内存划分成固定的大小,即物理上的划分成新生代(Eden和两个Servivior)
JVM 垃圾收集器之CMS
CMS是老年代的垃圾收集器 Concurrent Mark Sweep 前面有对CMS以及对其它垃圾收集器进行过简略的介绍。 CMS 理论部分 判断垃圾的方式 判断垃圾一般是使用GC Roots,而不
JVM 阅读GC log,以及各种VM参数的使用
前言 要会阅读GC log,来理解各种垃圾集器。 理解内存区域的作用以及调整JVM 内存大小。 要会操作创建对象时使用哪个区域。 使用VM参数,阅读GC log 代码及VM参数,触发Minor GC
JVM 垃圾收集器
前言 回顾 JVM垃圾回收模型(3要素) 判断什么是垃圾 引用计数器 GC Roots 收集垃圾的算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 垃圾收集器 是垃圾收集算法的具体实现。
JVM 常见GC算法以及GC的时机
各种GC算法 前言 书接上文,前面已经介绍过一些常见的GC算法的名称。 标记-清除算法(Mark-Sweep) 算法分为两个阶段 算法分为"标记(Mark)"和"清除(Sweep)"两个阶段,首先标记
JVM 垃圾回收概要以及垃圾判算法
JVM 垃圾回收理论部分 在学习垃圾回收之前,需要了解JVM 运行时数据区。 JVM堆和垃圾回收。 运行时数据区例子 说明对象创建时的消耗 生成了2部分的内存区域, obj这个引用变量,因为是方法内的
JVM 内存模型即运行时数据区域
前言 学习一下JVM的内存划分,以及每个区域的大致作用和内容。 再学习一下内存故障和一些工具的使用以及一些虚拟机参数。 内存划分及其内容 虚拟机栈(VM Stack) 栈线程独有的 栈帧(Stack
JVM 栈帧,静态、动态分派以及虚方法表
前言 学了类加载和字节码文件,是时候来学习JVM是如何执行代码的了。 栈帧(stack frame) 栈帧是一种用于帮助虚拟机执行方法调用与方法执行的数据结构。 一个线程一个栈帧,不存在并发问题。 栈
JVM this关键字和异常表的作用
先从段代码说起 关于异常和this的 代码 反编译 隐藏的实例方法参数就是 this 对于Java类中的每一个实例方法(非static方法),其在编译后所生成的字节码当中,方法参数的数量总是会比源代码
JVM 字节码之构造方法和静态代码块
先从一段代码说起 众所周知,Java如果不手动写构造方法,它也有默认的构造方法 代码 其字节码 并不是如代码中看到的那样 如上图可见 首先,字节码生成了默认构造方法 <init>。 其次,给变量赋值并
JVM 字节码访问标志以及它之后的结构
Java字节码整体结构 如图 大致如图 进一步 Class字节码中有两种数据类型 字节数据直接量 : 这是基本的数据类型。共细分为u1、u2、u4、u8四种,分别代表连续的1个字节、2个字节、4个字节
JVM 字节码之常量池
一些名词解释,以及阅读字节码 常量池之前的内容 使用javap -verbose命令分析一个字节码文件时,将会分析该字节码文件的魔数、版本号、常量池、类信息、类的构造方法、类中的方法信息类变量与成员变
JVM 线程上下文类加载器 ServiceLoader
先从一段代码说起 前提要导入mysql的驱动 代码 结果 疑问 为什么什么都没提供给ServLoader,就提供了一个Driver.class它就能加载所有Driver.class,它是这么做到的呢?
JVM 线程上下文类加载器
前言 在类加载器的命名空间中说过 子加载器所加载的类能够访问父加载器所加载的类。 父加载器所加载的类无法访问到子加载器所加载的类。 线程上下文类加载器(Context Classloader) 当前类
JVM 启动类加载器和Class.forName
前言 类加载器是用来加载类的。 数组类是由JVM在运行时创建的。 ExtensionClassLoader和AppClassLoader是由谁加载的? ExtensionClassLoader和App
JVM 类加载器的命名空间和类的卸载
前言 前面说过一个类只会被加载一次。 但是,这是在同一个命名空间下的类加载器的情况下,一个类只会被加载一次。 命名空间 每个类加载器都有自己的命名空间,命名空间由加载该类的加载器及所有父加载器所加载的
JVM 阅读JDK中ClassLoader注释,以及自定义类加载器
前言 学习就应该阅读官方写JavaDoc,比网上的博客好多了(都不知道第几手了,都变味了),JavaDoc是第一手资料,应该是准确无疑的。 本篇以翻译ClassLoader类中文档注释为主,如有不通顺
JVM 类加载器
加载器 有两种类型的类加载器 Java虚拟机自带的加载器 根类加载器(Bootstrap)。 扩展类加载器(Extension)。 系统(应用)类加载器(System)。 用户自定义的类加载器 jav
JVM 类加载之准备阶段和初始化阶段
前言 前面已介绍过类加载的5个步骤,复习一下 类的加载、连接、初始化、使用和卸载。 其中连接里面还有3个子步骤: 验证: 确保被加载的类的正确性。 准备: 为类的静态变量分配内存,并将其初始化为默认值
下一页