KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
public class MyClass { int i = 0; string str = "here"; MyStruct mystruct; B b; ArrayList myList = new ArrayList(10); public MyClass() { } .... } public struct MyStruct { public int i; public float f; } public class B { ... } Want to learn how an instance of a class is created in the background. When this statement MyClass myClass = new MyClass(); is evaluated. What will happen in the backgroud? My following statements are correct or not (for 32-bit OS machine)? A memory space will be created and referenced as myClass ; within above memory space, 4 bytes is used for the value of int i ; within above memory space, 4 bytes is used for the reference of string str ; the actual value of the str is stored in other location (where?) within above memory space, 8 bytes is used for the value of MyStruct mystruct (because MyStruct is 8 bytes); within above memory space, 4 bytes is used for the reference of the B b object; memory for b object will be allocated in somewhere else when it is instantiated; within above memory space, 4 bytes is used for the reference of the ArrayList myList ; actual memory space for ArrayList myList is allocated in other place and referenced in here as myList ; another 4 or 8 bytes from above memory space is used for object metadata; ...;
Tags (comma-separated)
Save Edits
Cancel