首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JVM
天炎小白
创建于2023-02-14
订阅专栏
JVM相关知识
等 2 人订阅
共18篇文章
创建于2023-02-14
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JVM 下篇(2):JVM运行时参数
JVM参数选项 标准参数选项 Server模式和Client模式 Hotspot JVM有两种模式,分别是server和client,分别通过-server和-client模式设置 32位系统上,默认
JVM 下篇(1): JVM监控及诊断工具命令行
jps:查看正在运行的Java进程 jps(Java Process Status): 显示指定系统内所有的HotSpot虚拟机进程(查看虚拟机进程信息),可用于查询正在运行的虚拟机进程。 说明:对于
JVM 中篇(5):再谈类的加载器
@TOC 概述 类加载器是JVM执行类加载机制的前提。 ClassLoader的作用: ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,==Clas
JVM中篇(4): 类的加载过程详解
@[TOC] 概述 在Java中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。 按照 Java虚拟机规范,从class文件到加载到内存中的类,到
JVM 中篇(3):字节码指令集
@TOC 概述 执行模型 如果不考虑异常处理的话,那么Java虚拟机的解释器可以使用下面这个伪代码当做最基本的执行模型来理解 字节码与数据类型 在Java虚拟机的指令集中,==大多数的指令都包含了其操
JVM中篇(2):javap使用
@TOC javap 通过反编译生成的字节码文件,我们可以深入的了解java代码的工作机制。但是,自己分析类文件结构太麻烦了!除了使用第三方的jclasslib工具之外,oracle官方也提供了工具:
JVM 中篇(1):Class 文件结构
@[TOC] 查看二进制字节码的三种方法: 方式一:一个一个二进制的看。这里用到的是Notepad++,需要安装一个HEX一Editor插件,或者使用Binary Viewer 方式二: 使用java
JVM上篇(13):GC分类器
@TOC GC 分类与性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。从不同
JVM 上篇(12):垃圾回收相关概念
@[TOC] System.gc() 的理解 在默认情况下,通过 System.gc() 和 Runtime.getRuntime().gc() 的调用,会显式触发 Full GC,同时对老年代和新生
JVM 上篇(10):StringTable(字符串常量池)
@[TOC](符串常量池) String的基本特性 String:字符串,使用一对 “” 引起来表示 String被声明为final的,不可被继承 String实现了Serializable接口:表示
JVM 上篇(9):执行引擎
@[TOC] 执行引擎概述 执行引擎属于JVM的下层,里面包括解释器、及时编译器、垃圾回收器 执行引擎是 Java 虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代
JVM 上篇(8):对象实例化及直接内存
@[Toc] 面试题 美团: 对象在JVM中是怎么存储的? 对象头信息里面有哪些东西? 蚂蚁金服: Java对象头有什么 创建对象的方式 new:最常见的方式、Xxx的静态方法、 XxxBuilder
JVM上篇(7):方法区
@TOC 异常分类 栈、堆、方法区的交互关系 Person 类的 .class 信息存放在方法区中 person 变量存放在 Java 栈的局部变量表中 真正的 person 对象存放在 Java 堆
JVM上篇(6):堆
堆的定义 堆针对一个JVM进程来说是唯一的。也就是==一个进程只有一个JVM实例,一个JVM实例中就有一个运行时数据区,一个运行时数据区只有一个堆和一个方法区==。但是进程包含多个线程,他们是共享同一
JVM 上篇(5): 本地方法栈
本地方法 本地方法接口 Native Method:一个Java调用非Java代码的接囗。==该方法的实现由非Java语言实现,比如C==。这个特征并非Java所特有,很多其它的编程语言都有这一机制,
JVM 上篇(4):虚拟机栈
简介 虚拟机栈的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令(跨平台性)。 内存中的栈与堆 ==首先栈是运行时的单位,而堆是存储的单位==。即:栈解决程序的运行
JVM 上篇(3):运行时数据区概述及线程
概述 本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段: 当我们通过前面的:==类的加载-> 验证 -> 准备 -> 解析 -> 初始化== 这几个阶段完成后,就会用到执行引擎对
JVM 上篇(2):JVM 的类加载子系统
@[Toc] 内存结构概述 简图: 其中方法区和堆为同一种颜色表示所有线程共享这两个区域。 计数器,本地方法栈和虚拟机栈线程独有。 执行引擎可以理解为操作系统 更加详细的过程: 类加载器子系统:加载,