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, 살아남..
Hotspot JVM은 Generational Heap으로 되어 있다. Heap은 Young Generation과 Old Generation으로 되어 있으며 Young Generation은 Eden 영역과 Survivor 영역으로 구성되어 있다. Eden 영역은 Object가 처음으로 할당되는 장소이며 Eden이 꽉 차게 되면 Live Object만 골라 Survivor 영역으로 복사하게 된다. 이를 Minor Garbage Collection이라 한다. 반면 Old Generation에는 Object가 Allocation 되는 것이 아니라 Promotion된다. 즉 새로 Heap에 생성되는 Object가 들어오는 것이 아니라 비교적 오랜 시간동안 참조 되고 이용되어 앞으로도 계속 Heap에 머무를 확률..
Oracle 성능을 하다가 Java 성능으로 영역을 확장하면서 힘들었던 것은 무엇을 공부해야 할지를 정하는 것이었다. Java라는 것이 용어부터 너무도 많고 기술도 너무 많았기 때문에 이것 저것 하다보면 남는 것도 없이 분주하기만 할 뿐이었다. WAS 벤더들의 교육을 찾아 다녀도 마찬가지였다. 자신들의 WAS에 특화된 부분에 대해서 얘기를 듣다보면 성능 문제를 일으키는 근본적인 요소들에 대해서는 잘 파악이 되지 않았던 것이다. 그래서 마늘과 쑥을 가지고 동굴로 들어간 곰과 호랑이 처럼 파묻혀 고민을 하던 차에 갑자기 눈앞이 밝아짐을 느꼈다. 자바는 어떤 것이든 JVM위에서 움직이게 되고 WAS라 할지라도 JVM의 입장에서 보면 하나의 어플리케이션에 지나지 않는다는 것과 시스템 입장에서 JVM은 하나의 프..
- Total
- 403,527
- Today
- 5
- Yesterday
- 14
- 구글
- SNS
- 전자책
- ebook
- 빅데이터
- 애플
- 소셜네트워크
- 스티브잡스
- bigdata
- jvm internal
- 아이패드
- 앱스토어
- 트위터
- 안드로이드
- 아이폰
- garbage collection
- 소셜네트워크서비스
- runtime data areas
- Splunk
- hotspot
- iPhone
- jvm
- 스마트폰
- Web2.0
- 페이스북
- Apple
- iPad