首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
深入 JVM 系列
apigfly
创建于2021-05-10
订阅专栏
初步认识 JVM 的工作原理
等 8 人订阅
共7篇文章
创建于2021-05-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
apigfly
2年前
Java
深入Java虚拟机(六)线程同步
可以在语言级支持多线程是Java语言的一大优势,这种支持主要集中在同步上,或调节多个线程间的活动和共享数据。Java所使用的同步是监视器。 我们可以把监视器比作一个建筑,它有一个很特别的房间,房间里有一些数据,而且在同一时间只能被一个线程占据。一个线程从进入这个房间到它离开之前…
381
2
评论
apigfly
2年前
Java
深入Java虚拟机(五)垃圾收集
Java 虚拟机的堆里存放着程序运行中所创建的所有对象。虚拟机可以使用new、newarray、anewarray和multianewarray指令来创建对象,但是没有明确的代码来释放它们。垃圾收集就是自动释放不再被程序所使用的对象的过程。 本篇文章并不是要描述正式的 Java…
508
3
1
apigfly
2年前
Java
深入Java虚拟机(番外篇)ClassLoader 初探
本篇文章是在深入Java虚拟机(四)的基础上产生的一些想法,从另一个方面研究下类加载问题。 在项目工程目录定义了一个获取钱包余额的接口,而作为普通人会返回50大洋,供你吃喝玩乐。 我在桌面编译了另一个版本的NormalUser,给我的钱包提提额度。 LocalClassLoad…
407
3
5
apigfly
2年前
Java
深入Java虚拟机(四)连接模型
上一篇文章只是简单描述了类生命周期的各个阶段,但是没有深究装载和解析的细节。现在,我们用整个篇幅来讲一下装载和解析的细节,并展示解析过程如何和动态扩展相关联。 当编译一个Java程序时,每个类或者接口都会编译成独立的class文件。虽然class文件之间看上去毫无关联,实际上它…
695
2
评论
apigfly
2年前
Java
深入Java虚拟机(三)Java类型的生命周期
上一篇简单记录了Java class文件的格式,它以标准的二进制形式来表现Java类型。本篇我们来看下当二进制的类型数据被导入到和Java虚拟机中时,到底会发生什么。我们以一个Java类型(类或接口)的生命周期(从进入虚拟机开始到最终退出)为例来讨论开始阶段的装载、连接和初始化…
492
3
评论
apigfly
2年前
Java
深入Java虚拟机(二)Java Class 文件
Java class文件是8位字节的二进制流。数据项按顺序储存在class文件中,相邻项之间没有任何间隔,这样可以使得class文件紧凑。占据多个字节空间的项按照高位在前的顺序分为几个连续的字节存放。 在class文件中,可变长度项的大小和长度位于实际数据之前。这个特性使得cl…
750
2
评论
apigfly
2年前
Java
深入 Java 虚拟机(一)Java虚拟机概述
Java 虚拟机之所以被称为是『虚拟』的,就是因为它仅仅是有一个规范来定义的抽象计算机。 想深入理解Java虚拟机的同学建议先学习下计算机组成原理会事半功倍哟。 Java 虚拟机抽象规范仅仅是个概念。而该规范的具体实现可能来自多个供应商,并存在多个平台上。它或者完全用软件实现,…
459
4
评论