会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
拿了桔子跑-范德彪
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2022年12月14日
16 Java内存模型与线程_Java内存模型
摘要: 特别说明:本篇侧重理论,涉及的定义和结论,都是基于Java虚拟机规范定义或者由规范推导出来。因此学习本篇内容前,必须对虚拟机有深入的理解,特别是字节码指令部分。 1 Java内存模型背景 计算机为了弥补处理器与内存的访存速度差异,引入高速缓存,构成存储器层次结构(详情参考3、计算机系统漫游 。 带来
阅读全文
posted @ 2022-12-14 18:05 拿了桔子跑-范德依彪
阅读(40)
评论(0)
推荐(0)
2022年12月12日
14 HotSpot虚拟机将字节码编译为机器码的过程
摘要: 特别说明: 本章内容基于HotSpot虚拟机: 编译器指HotSpot内置的即时编译器 虚拟机指HotSpot 机器码:能够被被当前机器直接执行的代码,机器属于某个平台:SPARC、x86-AMD64、ARMv8-AArch64 1 广义理解:解释执行与编译执行 阅读原文2天,我仍然没理解 什么是解
阅读全文
posted @ 2022-12-12 23:59 拿了桔子跑-范德依彪
阅读(346)
评论(0)
推荐(0)
2022年12月8日
13 Javac将源码编译为字节码的过程
摘要: 1 编译器分类 Java的编译过程:将源代码转化成机器可执行的二进制代码。实际上,编译过程,是分阶段进行的,由此产生了不同的编译器。 编译器分类: | 类别 | 工作内容 | 代表 | | | | | | 前端编译器 | 把源代码转变成字节码 | JDK的Javac、Eclipse编译器(ECJ)
阅读全文
posted @ 2022-12-08 17:29 拿了桔子跑-范德依彪
阅读(723)
评论(0)
推荐(0)
2022年12月7日
12 虚拟机字节码执行引擎_基于栈的字节码解释执行
摘要: 1 解释执行与编译执行 解释执行:通过解释器执行 编译执行:通过即时编译器产生本地代码(机器码)执行 虚拟机的执行引擎支持以上两种方式 java语言的编译及执行过程: C语言的编译过程: 2 基于栈/寄存器的指令集 基于栈的指令集架构:指令不带参数,使用操作数栈中的数据作为指令的运算输入,指令的运算
阅读全文
posted @ 2022-12-07 17:57 拿了桔子跑-范德依彪
阅读(76)
评论(0)
推荐(0)
2022年12月6日
11 虚拟机字节码执行引擎_对动态类型语言支持
摘要: 1 动态/静态类型语言比较 | | 对比1 | 对比2 | 对比3 |举例 | | | | | | | | 动态 | 运行时进行类型检查 | 在运行期确定类型,灵活 | 变量无类型而变量值才有类型 |Groovy、JavaScript、Lua、PHP、Python| | 静态 | 编译时检查 | 编
阅读全文
posted @ 2022-12-06 17:58 拿了桔子跑-范德依彪
阅读(46)
评论(0)
推荐(0)
2022年12月4日
10 虚拟机字节码执行引擎_方法调用
摘要: 特别备注: 本章节内容我认为比较难理解,对于【编译、运行阶段方法选择分析】这部分内容还不是很理解,需要多次去理解消化todo 1 关于方法调用 javac编译后Class文件存储方法的符号引用,而不是直接引用(方法在实际运行时内存地址) 该特性给Java带来了更强大的动态扩展能力 方法调用阶段的任务
阅读全文
posted @ 2022-12-04 20:28 拿了桔子跑-范德依彪
阅读(60)
评论(0)
推荐(0)
2022年12月1日
9 虚拟机字节码执行引擎_栈帧结构
摘要: 1 初谈执行引擎 一、关于Java虚拟机和计算机系统层面的物理机 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力 物理机的执行引擎是直接建立在处理器、缓存、指令集(例如x86-64)和操作系统面上 虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引
阅读全文
posted @ 2022-12-01 14:37 拿了桔子跑-范德依彪
阅读(57)
评论(0)
推荐(0)
2022年11月25日
8 类加载器
摘要: 1 关于类加载器 类加载器泛指一段代码 该代码实现的功能:通过一个类的全名来获取描述该类的二进制字节流 虚拟机角度,类加载器有两种:一种是启动类加载器(Bootstrap ClassLoader),由C++语言实现,属于虚拟机一部分;另外一种加载器是由Java实现,独立存在于虚拟机外部,并且全都继承
阅读全文
posted @ 2022-11-25 16:02 拿了桔子跑-范德依彪
阅读(107)
评论(0)
推荐(0)
2022年11月22日
1、ArrayList源码解析
摘要: 1 概述 ArrayList的元素:有序、可重复、允许null ArrayList没有实现同步(synchronized),因此线程不安全的。(vector线程安全) ArrayList底层数据结构为数组,容量(capacity):表示底层数组长度。容量不足则触发扩容,创建一个更长的数组,并将元素迁
阅读全文
posted @ 2022-11-22 16:00 拿了桔子跑-范德依彪
阅读(493)
评论(0)
推荐(0)
2022年11月13日
7 字节码加载机制
摘要: 本章学些目标: jvm如何加载字节码文件? 字节码文件的内容如何被jvm读取? 特别备注: 以下内容中的【类】:包含java类和java接口 1 类的生命周期 一、生命周期定义: 类被加载到虚拟机内存,到释放出内存的过程 二、生命周期的七个阶段: 将加载、验证、准备、解析、初始化这五个阶段所执行的具
阅读全文
posted @ 2022-11-13 20:52 拿了桔子跑-范德依彪
阅读(98)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告