해싱
해쉬코드
리터럴
Ststem.gc() ; 가비지 콜렉션 // 메모리를 늘릴수 있음
1. hashCode 메소드
해싱 : 데이터 관리기법(해쉬함수를 이용해 데이터를 해쉬테이블에 저장하고 검색하는기법) : 다량의 데이터를 저장하고 검색의 유용하다.
해쉬 함수 : 찾고자 하는 값을 입력하면 그 값이 저장된 위치를 반환,
ex)
(1) 의 경우 "abc" 에 대해 해쉬코드가 있기때문에 주소가 같다, -> a == b
(2) 의 경우 생성자를 통해 해쉬코드를 생성하기 때문에 주소가 다르다. -> a != b
*참고
모든 클래스 파일(*.class)에는 'Constant Pool' 이라는 상수(Constant) 목록이 있고,
클래스내에서 사용되는 모든 리터럴 상수들이 저장되어 있다.
String 클래스의 intern() -> String 변수에 값이 Constant pool 에 주소값을 얻게해줌.
ex)
String a= "abc";
String b = "abc";
(!=주소값이 다르다는 가정);
※ a = b -> false; (주소가 다르기때문)
but.
b.intern();
※ a = b -> true; (주소가 바꿔짐)
b 의 주소가 a 의주소로 바뀜.
'언어 > JAVA' 카테고리의 다른 글
컬렉션 iterator (0) | 2015.03.17 |
---|---|
추상과 인터페이스의 차이 (0) | 2015.03.17 |
[Exception]java (0) | 2015.03.17 |
[SUPER] 상속 (0) | 2015.03.17 |
[JAVA 의 정석 ] java 기초 (0) | 2015.03.17 |