JPDA 架构研究10 - Agent利用环境指针访问VM(局部变量管理篇)

简介:

引入:

上篇我们讲解了Agent如何利用环境指针访问VM的管理堆的操作。这里主要讲解如何管理局部变量。


分类6:局部变量管理

a.GetLocalObject. 获取局部对象

jvmtiError
GetLocalObject(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jobject* value_ptr)


b.GetLocalInt.获取局部整型值

jvmtiError
GetLocalInt(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jint* value_ptr)

它可以被用来获取整型,字符,字节,布尔型。


c.GetLocalLong.获取局部长整型值

jvmtiError
GetLocalLong(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jlong* value_ptr)


d.GetLocalFloat.获取局部的浮点值。

jvmtiError
GetLocalFloat(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jfloat* value_ptr)


e.GetLocalDouble.获取局部的双精度浮点值。

jvmtiError
GetLocalDouble(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jdouble* value_ptr)


f.SetLocalObject.设置局部对象。

jvmtiError
SetLocalObject(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jobject value)


g.SetLocalInt.设置局部整型变量。

jvmtiError
SetLocalInt(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jint value)

同样适用于整型,字符,字节,布尔型。


h.SetLocalLong.设置局部长整型变量。

jvmtiError
SetLocalLong(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jlong value)


i.SetLocalFloat.设置局部浮点变量。

jvmtiError
SetLocalFloat(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jfloat value)


j.SetLocalDouble.设置局部双精度浮点变量。

jvmtiError
SetLocalDouble(jvmtiEnv* env,
            jthread thread,
            jint depth,
            jint slot,
            jdouble value)




本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1587764,如需转载请自行联系原作者
目录
相关文章
|
25天前
使用指针访问数组元素
【10月更文挑战第30天】使用指针访问数组元素。
32 3
|
3月前
|
算法
鬼手操控着你的手机?大模型GUI智能体易遭受环境劫持
【9月更文挑战第27天】近年来,随着人工智能技术的发展,多模态大语言模型(MLLM)在图形用户界面(GUI)中广泛应用,提升了交互体验。然而,最新研究《环境警示:多模态智能体易受环境干扰》指出,这些智能体可能因环境干扰而行为失准。作者通过实验展示了即使是强大模型也会受无关因素影响,导致不可靠或不可预测的行为。研究还证实,通过环境注入攻击可进一步加剧此问题。尽管如此,多模态GUI智能体依然潜力巨大,未来需改进感知能力和算法以增强鲁棒性,解决环境干扰问题。论文详细内容见:https://arxiv.org/abs/2408.02544。
53 8
|
3月前
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
展望未来,随着5G、边缘计算等新技术的兴起,微服务架构的设计理念将会更加深入人心,Spring Cloud和Netflix OSS也将继续引领技术潮流,为企业带来更为高效、灵活且强大的解决方案。无论是对于初创公司还是大型企业而言,掌握这些前沿技术都将是在激烈市场竞争中脱颖而出的关键所在。
66 0
|
20天前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
46 4
|
24天前
使用指针访问数组元素
【10月更文挑战第31天】使用指针访问数组元素。
32 2
|
2月前
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
49 1
|
2月前
|
设计模式 前端开发 JavaScript
深入探索研究MVVM架构设计
【10月更文挑战第7天】
29 0
|
2月前
|
前端开发
使用LangGraph构建多Agent系统架构!
【10月更文挑战第7天】
101 0
|
2月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
49 0
|
4月前
|
前端开发 关系型数据库 数据库
Django 后端架构开发:虚拟环境管理到项目搭建
Django 后端架构开发:虚拟环境管理到项目搭建
45 1