gpt4 book ai didi

java - 当我更改类时实例会发生什么?

转载 作者:行者123 更新时间:2023-12-02 12:11:20 24 4
gpt4 key购买 nike

我将需要提出一种“自适应”类布局,即在我的例子中,可以将某些数组元素内联为它们自己的字段或在运行时更改它们的大小。

我不知道该怎么做(还?),但让我们假设一下,我知道了。

当我更改类 A 的字节码时,该类的实例会发生什么情况?

特别是,如何处理字段/方法偏移?

例如,假设我向类添加一个字段...这会影响创建的实例还是仅影响新创建的实例?

编辑:由于人们询问详细信息,我的任务是

"Conduct a survey of previous work regarding class layout modifications at runtime and based on the knowledge gained in the survey, implement such a class layout modification for [technical details]"

如果您对这些“技术细节”感兴趣,我将致力于

Synchronized-by-Default框架,它使用 - atm - 固定大小的锁数组,每个锁由一个数值组成,最后 N 个字节用作事务 ID。

由于使用锁数组会降低数据局部性,因此我们有兴趣确定一种启发式方法,该启发式方法将告诉我们何时内联锁有意义 - 即,锁及其对应的对象(希望)最终位于相同的缓存行。

此外,使用固定大小的 ID 人为地限制了在任何一个时间点可以同时 Activity 的事务数量。因此,我们希望能够按需“增长”它们。

我应该想出一个动态类布局来支持这两种布局,根据需要内联锁并增长它们。

最佳答案

这是不可能的。至少没有非常黑暗的魔法。如果您决定应用其中的一些内容,会发生什么取决于您,

编辑:

很难证明某些东西不存在,但我尝试给出一些论据:

  • 语言规范和公共(public) API 中没有此类选项。
  • 我所知道的实现都不支持该功能。
  • 在运行时更改类型定义是违反静态类型的思想的。

关于java - 当我更改类时实例会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com