相关疑难解决方法(0)

内存中的方法表示是什么?

在思考Java/C#中的编程时,我想知道如何在内存中表示属于对象的方法,以及这个事实如何涉及多线程.

  1. 是单独为内存中的每个对象实例化的方法,还是同一类型的所有对象共享方法的一个实例?
  2. 如果是后者,执行线程如何知道要使用哪个对象的属性?
  3. 是否可以在C#中使用反射修改方法的代码,并且只能修改同一类型的多个对象中的一个对象?
  4. 一个不使用类属性的静态方法总是线程安全吗?

我试着对这些问题下定决心,但我对他们的答案非常不确定.

c# java memory clr jvm

22
推荐指数
2
解决办法
2838
查看次数

实例方法是否在每个对象的内存中重复?

为了更清楚我的问题,如果你创建一个特定类的数组:例如,

ExampleClass[] test = new ExampleClass[5]; 
Run Code Online (Sandbox Code Playgroud)

我知道这五个ExampleClass实例会为每个类创建每个变量的副本,但是在内存中重复5次的方法/函数,还是每个测试只指向同一个单一的代码库?如果它为每个类重复,那只会浪费内存.

c# oop class

7
推荐指数
1
解决办法
1348
查看次数

标签 统计

c# ×2

class ×1

clr ×1

java ×1

jvm ×1

memory ×1

oop ×1