首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
goingflygo
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
Class 文件格式详解
Write once, run everywhere!,我们都知道这是 Java 著名的宣传口号。不同的操作系统,不同的 CPU 具有不同的指令集,如何做到平台无关性,依靠的就是 Java 虚拟机。计算机永远只能识别 0 和 1组成的二进制文件,虚拟机就是我们编写的代码和计算机…
一段 java 代码执行旅程
本文分享自华为云社区《一段java代码是如何执行的》,原文作者:李鹏程 。当你学会了java语言之后,你写了一些代码,然后你想要执行你的代码,来达成某些功能。那么,你都知道这段代码都是如何执行的吗?1
JVM基础(内存管理,GC机制,类加载)
1. 程序计数器 2. Java虚拟机栈 栈帧是一个内存区块,是一个数据集,维系着方法执行过程中的各种信息。 4. Java 堆 new 的对象先放在Eden区,此区大小有限制。 当Eden区填满时,程序又需要创建对象,JVM 的垃圾回收器会对Eden进行垃圾回收(Minor …
线程安全与锁优化
并发处理的广泛应用是Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器。 在软件业发展的初期,程序编写都是以算法为核心的,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种…
Java内存模型与线程
“高效并发”将会介绍虚拟机如何实现多线程、多线程之间由于共享和竞争数据而导致的一系列问题及解决方案。 一个重要的复杂性的来源是绝大多数的运算任务都不可能只靠处理器“计算”就能完成。处理器至少要与内存交互,如读取运算数据、存储运算结果等,这个I/O操作就是很难消除的(无法仅靠寄存…
虚拟机字节码执行引擎
MethodHandle机制。 虚拟机在执行代码时,如何找到正确的方法,如何执行方法内的字节码,以及执行代码时涉及的内存结构。 Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Frame)则是用于支持虚拟机进行方法调用和方法执行背后的数据结构,它也是虚拟机运行时…
虚拟机类加载机制
Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证…
字节码指令简介
Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需的参数(称为操作数,Operand)构成。 在Java虚拟机的指令集中,大多数指令都包含其操作所对应的数据类型信息。举个例子,iload指令…
类文件结构
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 如果全世界所有计算机的指令集就只有x86一种,操作系统就只有Windows一种,那也许就不会有Java语言的出现。 java虚拟机执行的是class文件,这又提供了语言无关性…
垃圾收集算法
从如何判定对象消亡的角度出发,垃圾收集算法可以划分为“引用计数式垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)两大类,这两类也常被称作“直接垃圾收集”和“间接垃圾收集”。这里介绍的都是追踪式垃圾收集的范畴。 弱分代假说(…