본문 바로가기

Java7

Java collection - Set Java Collection은 객체 그룹을 나타내며, 저장 및 검색 방법에 따라 Set, Map, List 로 나뉘어진다.간단히 요약하면 Set에는 중복 값을 허용하지 않으며, Map은 키와 값 유형의 데이터 형태로 제공된다.그리고, List는 인덱스 위치에 값을 순차적으로 저장하는데 사용된다. 그림으로 인터페이스와 구현 클래스 관계를 정리하자면 아래와 같다.먼저 Set 부터 알아보자. HashSet은 빠른 접근 속도를 가지는 반면에 중복 저장이 허용되지 않는다. 또한, 객체(데이터)를 인덱스로 관리하지 않기 때문에, 저장 순서를 보장하지 않는다.HashSet은 객체를 저장하기 전, hashCode() 를 호출하여 이미 저장되어 있는 객체들의 해시코드와 비교한다.만약 동일한 해시코드가 있다면 equals.. 2018. 5. 9.
JVM의 메모리 구조 JAVA 프로그램이 실행되면, JVM은 OS로부터 이 프로그램이 필요로 하는 메모리를 할당받고, JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. Compiler는 텍스트로 되어 있는 Source Code 를 Class File로 변환시켜 준다. Class Loader는 JVM 내의 클래스를 로드하고 Link를 통해 적절히 배치하는 일련의 작업을 수행하는 모듈로서, 런타임 시 동적으로 Class를 로드 한다.Execution Engine는 Class Loader를 통해 JVM 내의 Runtime Data Area에 배치된 바이트 코드는 Execution Engine에 의해 실행되며 Execution Engine은 JAVA 바이트 코드를 명령어 단위로 읽어서 실행한다.Runtime Data.. 2018. 5. 4.
Thread 예제 Runnable Interface를 이용한 Thread 만들기 Thread와 Runnable 의 관계는 일꾼과 작업 사이의 관계와 같다.따라서, Thread가 시작되었을 때, 그 Thread에서 할 작업을 줘야 한다. package com.augustine.threadtest1; class ThreadTest01 { public static void main(String args[]) { Runnable r = new Runnable1(); Thread t1 = new Thread(r); // 생성자 Thread(Runnable target) t1.start(); } } class Runnable1 implements Runnable { @Override public void run() { //threa.. 2018. 4. 25.
반응형