首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JVM从入门到精通
VectorX
创建于2021-05-10
订阅专栏
尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机)学习笔记
等 11 人订阅
共21篇文章
创建于2021-05-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
<JVM上篇:内存与垃圾回收篇>10-StringTable
[TOC] 10. StringTable 10.1. String的基本特性 String:字符串,使用一对""引起来表示 String声明为final的,不可被继承 String实现了Serial
<JVM上篇:内存与垃圾回收篇>09-执行引擎
[TOC] 9. 执行引擎 9.1. 执行引擎概述 执行引擎属于JVM的下层,里面包括解释器、及时编译器、垃圾回收器 执行引擎是Java虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“物理机”的概
<JVM上篇:内存与垃圾回收篇>08-对象实例化及直接内存
[TOC] 8. 对象实例化及直接内存 8.1. 对象实例化 面试题 8.1.1. 创建对象的方式 new:最常见的方式、Xxx的静态方法,XxxBuilder/XxxFactory的静态方法 Cla
<JVM上篇:内存与垃圾回收篇>07-方法区
[TOC] 7. 方法区 从线程共享与否的角度来看 7.1. 栈、堆、方法区的交互关系 7.2. 方法区的理解 官方文档:Chapter 2. The Structure of the Java Vi
<JVM上篇:内存与垃圾回收篇>06-堆
[TOC] 6. 堆 6.1. 堆(Heap)的核心概述 堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存
<JVM上篇:内存与垃圾回收篇>05-本地方法接口和本地方法栈
[TOC] 5. 本地方法接口和本地方法栈 5.1. 什么是本地方法? 简单地讲,一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java
<JVM上篇:内存与垃圾回收篇>04-虚拟机栈
[TOC] 4. 虚拟机栈 4.1. 虚拟机栈概述 4.1.1. 虚拟机栈出现的背景 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是
<JVM上篇:内存与垃圾回收篇>03-运行时数据区及程序计数器
[TOC] 3. 运行时数据区及程序计数器 3.1. 运行时数据区 3.1.1. 概述 本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段 当我们通过前面的:类的加载-> 验证 -
<JVM上篇:内存与垃圾回收篇>02-类加载子系统
[TOC] 2. 类加载子系统 2.1. 内存结构概述 Class文件 类加载子系统 运行时数据区 方法区 堆 程序计数器 虚拟机栈 本地方法栈 执行引擎 本地方法接口 本地方法库 如果自己想手写一个
<JVM上篇:内存与垃圾回收篇>01-JVM与Java体系结构
[TOC] 1.JVM与Java体系结构 1.1. 前言 作为Java工程师的你曾被伤害过吗?你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接OOM 想解决线上JVM GC问
<JVM下篇:性能监控与调优篇>05-分析GC日志
[TOC] 5. 分析GC日志 5.1. GC分类 针对HotSpot VM的实现,它里面的GC按照回收区域又分为两大种类型:一种是部分收集(Partial GC),一种是整堆收集(Full GC)
<JVM下篇:性能监控与调优篇>04-JVM运行时参数
[TOC] 4. JVM运行时参数 4.1. JVM参数选项 官网地址:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/ja
<JVM从入门到精通>导航
<JVM上篇:内存与垃圾回收篇> <JVM中篇:字节码与类的加载篇> <JVM下篇:性能监控与调优篇>
<JVM下篇:性能监控与调优篇>补充:使用OQL语言查询对象信息
[toc] 补充:使用OQL语言查询对象信息 MAT支持一种类似于SQL的查询语言OQL(Object Query Language)。OQL使用类SQL语法,可以在堆中进行对象的查找和筛选。 1.
<JVM下篇:性能监控与调优篇>补充:浅堆深堆与内存泄露
[toc] 补充:浅堆深堆与内存泄露 1. 浅堆(Shallow Heap) 浅堆是指一个对象所消耗的内存。在32位系统中,一个对象引用会占据4个字节,一个int类型会占据4个字节,long型变量会占
<JVM下篇:性能监控与调优篇>03-JVM监控及诊断工具-GUI篇
[toc] 3. JVM监控及诊断工具-GUI篇 3.1. 工具概述 使用上一章命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但它们存在下列局限: 1.无法获取方法级别的分析数据,如方
<JVM下篇:性能监控与调优篇>01-概述篇-02-JVM监控及诊断工具-命令行篇
[TOC] 1. 概述篇 1.1. 大厂面试题 1.2. 背景说明 生产环境中的问题 生产环境发生了内存溢出该如何处理? 生产环境应该给服务器分配多少内存合适? 如何对垃圾回收器的性能进行调优? 生产
<JVM中篇:字节码与类的加载篇>04-再谈类的加载器
@[toc] 1. 概述 类加载器是JVM执行类加载机制的前提。 ClassLoader的作用: ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,C
<JVM中篇:字节码与类的加载篇>03-类的加载过程(类的生命周期)详解
@[toc] 1. 概述 在Java中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。 按照Java虚拟机规范,从class文件到加载到内存中的类
<JVM中篇:字节码与类的加载篇>02-字节码指令集
@[toc] 1. 概述 2. 加载与存储指令 2.1. 局部变量压栈指令 局部变量压栈常用指令集 xload_n xload_0 xload_1 xload_2 xload_3 iload_n il
下一页