목록예전꺼(2014년이전꺼)/Java Story (9)
liebus
아래의 키워드는 자주 사용하지 않는 키워드 들이다. 혹시 몰라 정리를... 1. transient - 선택적 객체의 직렬화 transient로 선언된 필드는 객체 직렬화시 포함되지 안는다. 2. volatile - 메모리에서 읽어 오기 데이타를 메모리에서 직접 처리함 동기화를 해준다. Synchronized는 행위 그 자체에 대한 동기화 이고, volatile는 행위의 목표가 되는 대상에 대한 동기화 이다.
System.getProperty() Method를 사용하면 현재 사용하고 있는 환경의 정보를 얻어 올수 있다. key값에 따라서 원하는 값을 가저 온다. 자주 쓰는 key값 java.version - java version 표시 java.vendor - java 공급자 표시 java.home - java 설치한 디렉토리 java.class.version - java class version java.class.path - java class 가 존재하는 경로 os.name - os 이름 os.arch - os 아키텍처 file.separator - 파일 구분자 path.separator - 경로 구분자 line.separator - 개행문자 user.name - 사용자 계정 user.home - 사용자..
1. 개요 Cass Loader 란 abstrace class로써 Bytecode를 읽어 들여서 class 객체를 생성하는 역활을 담당한다. Class Loader가 Class를 Loading하는 시점은 ComplieTime이 아닌 Run Time에 Loading이 된다. 프로그래머 가 SampleTest aaa = new SampleTest(); 라는 코드를 처음 실행하면 JVM은 SampleTest라는 Class를 Class Loader를 통해서 SampleTest.clas의 ByteCode를 최초로 메모리에 Load하게 된다. 2. ClassLoader 기술적 특징 - Hierarchical Class Loader는 Hierarchical 하게 생성이 가능하고, Parent class laoder에..
- Java 가 구동되는 기본 환경인 JVM(Java Virtual Machine) 의 구조에 대해 살펴 본다. 아래의 구조는 HotSpot (Sun Microsystems의 JVM을 기준으로 한다.) 1. Java Virtual Machine 이란 ? - ByteCode 라 불리우는 명령어들의 집합과 각 명령어의 의미를 정의한다. - ByteCode가 전송되고, Class 가 각각의 플랫폼에 독립적으로 동작할 수 있도록 해주는 바이너리 형식의 Class 파일 - 프로그램에 문제가 있는지 없늕 확인 하는 알고리즘 - Verification 알고리즘 - 이런 일들을 한다. 고로 모든 Java program을 구동할려면 해당 플렛폼의 JVM이 설치 되어 있어야 한다. 2. Java 의 메모리 구조 - Jav..