首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
李道玄
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
JVM 内存结构-2万字长文包教包会
内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在着部分差异。 下图是 JV…
JVM-对象的组成以及内存分配
说到对象,我们第一反应想到的就是new一个对象,想当然的认为对象就仅仅是类的实例,其中包含类的成员变量。 在64位JVM下,指针长度会翻倍,导致对象变大,会占用更多的内存,增加了GC开销,且CPU缓存对象减少,降低了CPU缓存命中。 一旦堆内存超过32G内存,就超过了指针压缩之…
如何读懂晦涩的 Class 文件|进阶必备
Android 开发者日功能常开发几乎都是面向 Java/Kotlin 语法编程,对于.class 文件的关注相对较少。 当你反编译 .class 文件或在 Android 程序编译期间修改字节码做代码注入时,读懂字节码是一道绕不开的槛。 文章主要给出快速读懂一个 class …
深入理解JVM(1)——Java内存区域与Java对象
最近放暑假在家,没有实验室的工作要做,正好趁这个时间恶补了之前一知半解的JVM知识,使用的主要学习资料是周志明大大的《深入理解Java虚拟机——JVM高级特性与最佳实践》,我仔细拜读了两遍,结合一些优质博文以及论坛里的精彩解答,再加上自己的理解,对书中描述不细致的知识点进行了补充
Java虚拟机 —— 垃圾回收机制
在Java虚拟机中,对象和数组的内存都是在堆中分配的,垃圾收集器主要回收的内存就是在堆内存中。如果在Java程序运行过程中,动态创建的对象或者数组没有及时得到回收,持续积累,最终堆内存就会被占满,导致OOM。 JVM提供了一种垃圾回收机制,简称GC机制。通过GC机制,能够在运行…
Java:一文带你了解 不同情形下return 和 finally的执行顺序
前言在Java中,不同情形下return和finally的执行顺序很多人混淆不清本文全面&详细解析不同情形下return和finally的执行顺序,希望你们会喜欢目录1.储备知识try/catch是常
Java虚拟机 —— 运行时数据区
Java虚拟机内存,是指JVM的运行时数据区域,主要分为:方法区、堆、虚拟机栈、本地方法栈、程序计数器。其中方法区和堆为索引线程的共享数据区,而虚拟机栈、本地方法栈、程序计数器为线程隔离的数据区。 每个线程都有一个独立的计数器用来记录程序当前执行的指令,可以看成是当前线程所执行…
Java虚拟机 —— 类的加载机制
我们知道class文件中存储了类的描述信息和各种细节的数据,在运行Java程序时,虚拟机需要先将类的这些数据加载到内存中,并经过校验、转换、解析和初始化过后,最终形成可以直接使用的Java类型。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、…
简单理解 Android Dalvik、ART 及 APK 编译过程
在学习 Android 之前,都学习了 Java,对于 Java 虚拟机都或多或少的进行了了解。那么 Android 中的虚拟机是个什么样子,一个 APK 的编译过程又是什么,就让我们来看看。
JVM知识体系之类加载
类的加载是指将class文件(以二级制)数据读取到内存中,并将其(数据结构)放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最后的成品就是位于堆中的Class对象。 类加载器并不是等需要某个类,而是被首…