자바 메모리 구조 2

Programing/Java 2015. 8. 22. 11:49 by kira-master

참고 공부 자료 http://performeister.tistory.com/75

package com.lec.java;

public class Myclass {
	private int a;
	private int b;
	
	public Myclass(){}
	
	public static void result(){
		System.out.println("myclass 입니다.");
	}
	
} // Myclass  


package com.lec.java;

public class Intance {
	public static void main(String[] args) {
		Myclass m1 = new Myclass();
		Myclass m2 = new Myclass();
		System.out.println("m1 == m2 "+(m1 == m2)); // false 
		System.out.println();
		System.out.println("m1 : "+m1);
		System.out.println("m2 : "+m2);
		System.out.println();
		System.out.println("m1 해쉬 코드 :" +m1.hashCode());
		System.out.println("m2 해쉬 코드 :" +m2.hashCode());
		
	}// end main
} // end class



결과값 
// m1 == m2 false

// m1 : com.lec.java.Myclass@659e0bfd
// m2 : com.lec.java.Myclass@2a139a55

// m1 해쉬 코드 :1704856573
// m2 해쉬 코드 :705927765
// 레퍼런스 변수에는 객체 대한 참조값이 들어간다. 어떤 JVM 영역의 힙 영역 중  어떤 메모리 주소를 가르킬지를 참고하는 것이다.
// 객체는 생성 될떄마다 항상 새로운 힙의 주소를 가지고 , 만약에 더이상 참조 되지 않으면 힙에서 가비지 컬렉터가 메모리를 반환시켜버리고 
// 다시 생성하여도 항상 다른 힙에 대한 주소를 가질수 밖에 없다.


'Programing > Java' 카테고리의 다른 글

POJO 의 개념과 예시  (0) 2015.08.24
Singleton 정리  (0) 2015.08.23
String 객체 특징 (== 연산자 특징)  (0) 2015.08.22
자바 메모리 구조1. 변수의 저장영역  (0) 2015.08.22
홀짝 게임 예제  (0) 2015.08.21
Nav