본문 바로가기

개발/자바18

HashMap,HashTable,LinkedHashMap,ConcurrentHashMap 출처 - http://dodo4989.tistory.com/450 음...요새 자주 접하게 되는 Data Storage이다. 보통 형태로 put하고 get(key)를 통해 value를 가져온다. value에는 Bitmap, Class, Drawable....등등등을 넣을 수 있다. 현재까지 내가 파악한 MAP Interface에는 HashMap, HashTable, LinkedHashMap, ConcurrentHashMap 이다. 요요 세가지에 대해서 자세히 살펴보자^^ 1. HashMap VS HashTable 비동기화 VS 동기화 비동기화가 성능이 좋고, 동기화는 성능이 안좋다. 중요한 것은 HashMap 을 Multi Thread 환경에서 사용하면 안된다. 여러개의 Thread가 동시에 HashMa.. 2012. 4. 13.
Java Reference Object의 이해와 활용(strong/weak reference) 출처 - http://blog.naver.com/atonikkaz/10013450090 strong/weak reference 자바의 garbage collector는 더 이상 참조되고 있지 않는 객체를 자동으로 수거하여 프로그래머가 직접 메모리를 관리하지 않아도 되도록 해준다. 하지만 모든 경우에 대해 garbage collector가 깨끗하게 사용하지 않는 객체들을 정리해주는 것은 아니다. 때로는 참조가 계속 남아있는 경우가 있을 수 있고 이런 경우에 객체는 수거되지 않고 memory leak으로 이어질 수 있다. 이와 같이 참조를 부주의하게 사용하여 발생할 수 있는 memory leak현상을 막기 위해서는 객체에 대한 참조를 유연하게 다루어 필요하지 않은 객체들이 수거될 수 있도록 해야한다. 자바에.. 2012. 4. 13.
File 객체 정리 출처 - http://www.mfamstory.com/ 1. File 객체 java.io.File 하드디스크에 존재하는 파일에 대한 경로 또는, 참조를 추상화한 객체 즉, 새파일에 대한 경로나 만들고자 하는 디렉토리를 캡슐화 한 것임. 2. File 객체의 용도 (1) 물리적 파일시스템에 대해 캡슐화한 경로명을 확인하고 ,실제 파일이나 디렉토리와 대응하는지 알아볼때 (2) 파일 스트림 객체를 생성하고자 할때 ※ 참고 다음과 같은 사항등을 확인 할 수 있다. 파일의 크기 파일의 이름 최종 수정일시 파일의 속성 (읽기전용,쓰기가능,숨김파일여부...등) 기타.. 3. File Class 의 인스턴스 생성 1. 디렉토리 생성 File dir = new File("디렉토리의 경로"); 2. 부모 디렉토리를 파라미.. 2012. 2. 6.
HashMap, HashTable, HashSet 의 차이점 외 기타... 출처 - http://www.mfamstory.com/ 포스트 내용의 참고자료 출처 : 소설같은자바 Third Edition JAVA에서 기본적인 자료 구조를 제공하기 위한 환경을 JAVA Collection Framework라고 한다. 다음은 JAVA Collection Framework의 상속 기본 구조이다. Collection Collection 인터페이스를 상속받아 List와 Set 인터페이스가 된다. List는 순서가 있는 Collection, 그리고 List는 Data 중복을 허락한다. 하지만 Set은 순서의 의미가 없으며 Data를 중복해서 포함할 수 없다. List 인터페이스의 특징 순서가 있는 Collection.(이 순서는 삽입된 순서를 의미한다.) Data를 중복해서 포함할 수 있다... 2012. 2. 6.
[자바] StringTokenizer와 Split 차이 출처 - http://stylekai.tistory.com/105 문자열을 특정 Token을 이용해서 분리할 때, 대번에 생각나는 API는 역시 StringTokenizer가 아닐까?? Class StringTokenizer The string tokenizer class allows an application to break a string into tokens. The tokenization method is much simpler than the one used by the StreamTokenizer class. The StringTokenizer methods do not distinguish among identifiers, numbers, and quoted strings, nor do th.. 2011. 12. 20.
[Java]Convert byte to unsigned byte Java에서 byte는 signed byte로 취급한다. -> 7번째 Bit는 부호 비트가 됨 unsigned byte로 변환하기 위해서는, 아래와 같이 0xFF와 And 연산(&)을 하면 된다. 1. 소스 코드 2. 실행 결과 [signed data] -125 // 1000 0011 131 // 1000 0011 참고로, 각 자리의 bit 값을 알기 위해서는 다음과 같이 하면 된다. 1. 소스 코드 2. 실행 결과[unsigned data] 0th bit = 1 1th bit = 1 2th bit = 0 3th bit = 0 4th bit = 0 5th bit = 0 6th bit = 0 7th bit = 1 2011. 7. 8.
[JAVA]LittleEndian 과 BigEndian [출처] Java 에서 LittleEndian 과 BigEndian|작성자 장하소 BigEndian 과 LittleEndian 서로 다른 서버와 서로 다른 Language 에서 네트워크 통신을 하다보면 종종 Byte Ordering 때문에 곤욕을 치르곤 한다. 오래전에 BigEndian 과 LittleEndian 을 찾아보면 고생했던 생각이 새록새록 떠오른다.ㅡㅡ;; 두개의 Endian에 대해서는 검색을 해보면 많은 얘기가 나오기 때문에 Endian 에 대해서는 별도로 설명하지 않을란다.^^;; 암튼 네트워크 통신을 할때 가장 중요한 부분이 바로 Byte Ordering 이다. 반드시 서로 연동해야할 시스템이 있다면 먼저 이 Byte Ordering 이 Network Order 인지 아닌지 구분을 하고 .. 2011. 7. 8.
[자바]비트 연산자와 시프트 연산자 출처 - http://fendee.egloos.com/9022534 C,C++ 에도 있고, 대충은 아는 비트 연산자와 시프트 연산자를 정리하는 이유는, C 와는 달리 자바에는 시프트 연산자에 >>> 가 있기 때문이다. 컴퓨터 내부의 정보를 비트 단위로 비교하거나 조작할때 사용한다. ○ 논리곱(and) & 각 비트를 비교하여 양쪽 모두 1 이면 1, 아니면 0 을 반환한다. a = 170, b = 245 일때 a = 1 0 1 0 1 0 1 0 b = 1 1 1 1 0 1 0 1 a&b = 1 0 1 0 0 0 0 0 10진수로 바꾸면 160 이 된다. ○ 논리합(or) | 각 비트를 비교하여 어느 한쪽이 1 이면 1, 그렇지 않으면 0 을 반환한다. a = 170, b = 245 일때 a = 1 0 1 .. 2011. 7. 5.