当前位置:网站首页>Dynamic linking of virtual machine stack of JVM
Dynamic linking of virtual machine stack of JVM
2022-06-29 10:03:00 【Hao_ JunJie】
One 、 Premise : In this article, we mainly explain dynamic links in stack frames ( References to runtime constant pool methods )
Two 、 Concept :

Let's take a look at the picture above , Sometimes we return a method to an address 、 Dynamic links 、 Some additional information is collectively referred to as the frame data area
(1) Each stack frame contains a reference to the method to which the stack frame belongs in the runtime constant pool , The purpose of including this reference is to support the code of the current method to dynamically link . such as :invokdynamic Instructions .
(2) stay Java When the source file is compiled into a bytecode file , All variables and method references Are referenced as symbols , Save in class In the constant pool of files .
such as : Describes when a method calls another method , It is represented by a symbolic reference to a method in the constant pool , that The purpose of dynamic linking is to convert these symbolic references into direct references to calling methods
eg:

After decompiling :


Found that symbolic references to variables and methods exist in class Constant pool in file .
3、 ... and 、 Look at the diagram :

边栏推荐
- KDevelop new project
- 数据源连接池未关闭的问题 Could not open JDBC Connection for transaction
- Alternative implementation of Scrollview pull-down header amplification
- FreeRTOS(九)——队列
- Wechat applet realizes store function
- RecyclerView刷新闪烁与删除Item时崩溃问题
- Lc236. nearest common ancestor of binary tree
- FreeRTOS (VIII) - time management
- 通用分页框架
- Is it safe to open an account for stock speculation? Is it reliable?
猜你喜欢

zabbix4.4配置监控服务器指标,以及图形页乱码解决

CROSSFORMER: A VERSATILE VISION TRANSFORMER BASED ON CROSS-SCALE ATTENTION

自定义控件之侧滑关闭 Activity 控件

RecyclerView 通用适配器封装

A method of creating easy to manage and maintain thread by C language

The collapsing "2.3 * 10 = 22" produced by multiplying float and int

Alternative implementation of Scrollview pull-down header amplification

Fully Automated Gross Tumor Volume Delineation From PET in Head and Neck Cancer Using Deep Learning

力扣85题最大矩形

JVM之虚拟机栈之动态链接
随机推荐
在Activity外使用startActivity()方法报错原因与解决办法
JVM之 MinorGC、 MajorGC、 FullGC、
Hystrix熔断器:服务熔断与服务降级
leetcode MYSQL数据库题目176
Perfect binary tree, complete binary tree, perfect binary tree
MySQL modify auto increment initial value
RecyclerView 通用适配器封装
Fully Automated Gross Tumor Volume Delineation From PET in Head and Neck Cancer Using Deep Learning
Introduction to intranet penetration tool FRP
我想要股票开户优惠,怎么得到?还有,在线开户安全么?
Cisco ASA、FTD和HyperFlex HX的漏洞分析复现
General part: cognition, design and best practice of prototype design
JS获取手机型号和系统版本
Flutter 基础组件之 ListView
自定义mvc框架实现
Flutter 基础组件之 Image
Is it safe to open an account for stock speculation? Is it reliable?
FreeRTOS (IX) - queue
linux下centos7中mysql5.7安装教程
2020-09-29 非商品模板化代码层次 rapidjson库