Hotspot JVM, 다시말해 Sun사에서 만들어 HP, Solaris, Windows, Linux, Mac 등에서 사용하는 JVM은 Garbage Collector를 추가하는 방식으로 Garbage Collection이 개선되어 왔다. 다시말해 버전이 올라가면서 기존의 Garbage Collector 보다 더 나은 알고리즘을 가진 Garbage Collector를 추가하여 제공하는 방식으로 진화해왔다는 것이다. 그러므로 Hotspot JVM에서는 Garbage Collector를 이해하는 것이 바로 Garbage Collection자체를 이해하는 것을 의미하게 된다. 다음의 그림은 Java 6까지 Hotspot JVM에서 제공하는 Garbage Collector를 정리한 것이다. Hotspot JVM..
Hotspot JVM 그러니까 Sun, HP, Windows, Linux, Mac 등에서 사용되는 JVM은 Generational Heap 구조를 가지고 있다. Generational Heap이란 Java Object의 활용도에 따라 Object가 위치하는 영역을 구분해 놓은 것으로 말할 수 있다. Hotspot JVM의 Heap Generation의 구조는 아래의 그림과 같은데 Sun사에서 Heap을 이렇게 디자인한 것은 경험적으로 알게된 어떠한 사실들 때문이다. 그 경험적 지식을 Weak Generation Hypothesis라고 한다. 이 가설은 두가지 사실로 구성이 되어 있다. 첫 번째는 바로 High Infant Mortality. 우리말로 하면 높은 유아 사망률 정도가 된다. 이것은 Java ..
Sun, HP, Windows, Linux에서 사용되는 Hotspot JVM은 Young Generation과 Old Generation으로 나뉘는 Generational Heap을 가진다고 하였다. 이 Hotspot JVM의 Garbage Collection에는 하나의 가설이 뒤를 든든히 받치고 있다. 그것은 바로 Weak Generational Hypothsis이다. 내용은 두 가지로 구성되어 있다. 첫째. High Infant Mortality, 우리말로 하면 높은 유아 사망률 정도로 해석할 수 있는데 이것은 대부분의 Object는 생성된 후 얼마 되지 않아 Garbage 가 된다는 것이다. 둘째, Few References from Older to Younger Objects Exists, 살아남..
Java Virtual Machine은 Java를 실행하기 위한 핵심적인 위치를 차지한다. 그러나 Java Virtual Machine의 실체는 사실 없다. JVM은 하나의 스펙 또는 약속된 개념에 지나지 않기 때문이다. JVM이 모든 구현은 이 스펙을 보고 Vendor에서 알아서 한다. 하지만 이 스펙에 어떻게 구현하라는 명시적인 이야기는 담겨져 있지 않다. 대부분 어때야 한다 정도의 정의만이 있을 뿐이다. JVM은 여러개의 모듈로 구성된다. 우리가 Java 프로그램을 실행시키기 위해서는 JVM안으로 Class 파일을 불러 들여야 한다. 이러한 작업을 하는 것이 Class Loader System이다. 이렇게 Loding된 class는 Execution Engine을 통해 해석되어 Runtime Da..
Oracle 성능을 하다가 Java 성능으로 영역을 확장하면서 힘들었던 것은 무엇을 공부해야 할지를 정하는 것이었다. Java라는 것이 용어부터 너무도 많고 기술도 너무 많았기 때문에 이것 저것 하다보면 남는 것도 없이 분주하기만 할 뿐이었다. WAS 벤더들의 교육을 찾아 다녀도 마찬가지였다. 자신들의 WAS에 특화된 부분에 대해서 얘기를 듣다보면 성능 문제를 일으키는 근본적인 요소들에 대해서는 잘 파악이 되지 않았던 것이다. 그래서 마늘과 쑥을 가지고 동굴로 들어간 곰과 호랑이 처럼 파묻혀 고민을 하던 차에 갑자기 눈앞이 밝아짐을 느꼈다. 자바는 어떤 것이든 JVM위에서 움직이게 되고 WAS라 할지라도 JVM의 입장에서 보면 하나의 어플리케이션에 지나지 않는다는 것과 시스템 입장에서 JVM은 하나의 프..
- Total
- 404,383
- Today
- 2
- Yesterday
- 9
- iPad
- Apple
- SNS
- ebook
- jvm
- Splunk
- 앱스토어
- 스티브잡스
- garbage collection
- 페이스북
- 아이패드
- 구글
- iPhone
- 소셜네트워크서비스
- 애플
- 아이폰
- 전자책
- 소셜네트워크
- runtime data areas
- bigdata
- Web2.0
- 빅데이터
- jvm internal
- 트위터
- 안드로이드
- 스마트폰
- hotspot