문제

public class Order
{
    static Customer cust = new Customer();
    string sEmpty = "";

    public static void main(String args[])
    {
        int iTotal = 10;
        string sProductName = "Salt";
        Ship shp = new Ship();
    }
}

위 코드에서 메모리의 어느 부분에서 어떤 객체와 참조가 생성됩니까? (내 말은 힙과 스택을 의미합니다)

alt text
(원천: c-sharpcorner.com)

도움이 되었습니까?

해결책

당신이 당신의 질문 Java에 태그를 지정했기 때문에, 나는 당신이 Java에서 의미한다고 가정 할 것입니다. 말의 입에서 바로 :

Java Virtual Machine에는 모든 Java 가상 머신 스레드 사이에서 공유되는 힙이 있습니다. 힙은 모든 클래스 인스턴스 및 배열에 대한 메모리가 할당되는 런타임 데이터 영역입니다.

JVM 사양

여기에 있습니다 링크 이전 SO 질문에 이것에 진지하게 세부 사항을 제시합니다 (그리고 주제에 대한 언어에 대한 토론입니다).

여기에 있습니다 링크 C#의 문제를 자세히 설명하는 C# 코너의 기사로.

다른 팁

주문과 고객이 힙에 있습니다. 고객은 구조물 일 수 있지만 참조 유형 (예 : 클래스)의 구성된 구성원입니다.

모든 문자열은 기준 유형이며 힙에 생성됩니다.

선언이 없기 때문에 선박 클래스에 대해 잘 모르겠습니다 (즉, 구조물인지 클래스인지 모르겠습니다).

int itotal 변수는 스택에서 생성됩니다.

이것은 C#에 해당됩니다. Java는 다른 규칙을 가질 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top