본문 바로가기

프로그래밍(TA, AA)/JVM 언어

[자바] 자바 컨셉 다이어그램 상세

jdk가 jre를 포함하고 있으며. Internationalization, WebServices, Troublesshooting 영역까지 포함한것이 jdk.

하단으로 갈수록 low level... Java HotSpot Client and Server VM

Beans, Security, Serialization, Extension Mechanism, JMX, XML JAXP, Networking, Override Mechanism, JNI, Date and Time, Input/Output, Internatiolnalization.

* JNI(Java Native Interface) 개념
- 자바가 다른 언어로 만들어진 어플리케이션과 상호 작용할 수 있는 인터페이스를 제공한다.
- 자바가상머신(JVM)이 원시 메소드(native method)를 적재하고 수행할 수 있도록 한다.
- JNI가 자바가상머신내에 포함됨으로써, 자바가상머신이 호스트 운영체제상의 입출력, 그래픽스, 네트워킹 그리고 스레드와 같은 기능들을 작동하기 위한 로컬시스템호출(local system calls)를 수행할 수 있도록 한다.
- 쉽게 말해 Java와 다른 언어를 연동하는 솔루션.

* Serialization 개념
- 일단 서버 통신시 직렬화 하여 데이터 이동할때 필요. 
- VO 객체에서 직렬화를 하는데 예전에 왜 이걸 하는지 도통 알지를 못했는데. 이중화된 서버에 웹어플리케이션을 올리면서 직렬화를 제대로 하지 못해 세션 클러스터링에 문제가 생긴적이 있었음. 직렬화의 중요성을 깨달음. 직렬화가 되지 않으면 통신시 데이터 이동이 원활치 않을 수 있음.