먼저 JVM이 뭔지 알아보자.

JVM은 Java Virtual Machine의 약자로 한국말로하면 자바 가상 머신을 의미한다.

쉽게 말하면 자바로 만들어진 클래스 파일을 번역해서 수행하는 소프트웨어라고 생각하면 된다. 자세한 내용은 아래 링크를 참조하면 된다. (JVM의 스펙에 대한 내용이라 열나 어렵긴 할 것이다.)

http://java.sun.com/docs/books/jvms/


그렇다면Hotspot은 뭘까 ??? 

Hotspot은 VM의 한 종류라고 보면된다. 이게 나오기 전의 VM을 보통 클래식 VM 이라고 부르며, Hotspot에 대해서 한 마디로 설명하면 다음과 같다.(출처 : http://kr.sun.com/software/opensource/faq.html#b11)

Q :
자바 HotSpot 가상머신은 무엇이고, 개발자들은 이 컴포넌트로 무엇을 할 수 있나요?
A :
자바 HotSpot은 일종의 자바 가상머신의 구현으로, 자바 HotSpot VM에는 다음과 같은 자바 플랫폼을 위한 핵심 실행 엔진이 포함됩니다:
  • 자바 바이트코드를 지원 하드웨어 플랫폼 상에서 최적화된 네이티브 기계어 코드로 변환하는 동적 컴파일러
  • 메모리 관리 및 가비지 컬렉션 서브시스템
  • 스레드 및 동기화
  • 모니터링, 디버깅, 프로파일링 텔레메트리(profiling telemetry)
  • 바이트코드 검사기(bytecode verifier)를 포함한 자바 보안 아키텍처 부분들

HotSpot은 그 자체가 “일단 한번 작성하면 어디서든 실행된다(Write Once, Run Anywhere)”라는 자바 기술의 약속을 가장 구체적으로 실현한 Java SE 플랫폼 컴포넌트라 할 수 있습니다.

개발자들은 이 코드를 통해 세계 최고 수준의 가상머신이 어떻게 구축되는지 살펴볼 수 있을 뿐 아니라, 버그 픽스, 그리고 새로운 가비지 컬렉션, 동기화, 바이트코드 컴파일러 알고리즘의 테스트, VM을 새로운 하드웨어 아키텍처와 운영체제에 이식하는 등의 작업을 수행할 수 있게 됩니다.


Hotspot 에 대해서는 아래 링크를 참조하는 것이 가장 쉬울 것이다.

http://java.sun.com/javase/technologies/hotspot/index.jsp

그리고, Hotspot  VM을 튜닝하기 위한 옵션은 아래의 링크를 참조하면 된다.

http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

다음에는 개발툴에 대해서 알아 보자.

Posted by tuning-java
지난 10월 6일~10일에 3박 4일동안 천안의 한 구석탱이에서 신임 과장 연수를 받았다.
4일동안 연수를 받으면서 하루에 3명이상의 강사들이 와서 강의를 했다.
그 강의들을 들으면서 너무나 느낀점도 많았다.
여기에 정리한 내용들은 이번에만 느낀 것은 아니고, 지금까지 느낀점도 포함되어 있다.

특히, 저렇게 강의를 하면 안되겠구나
라는 점과
저렇게 강의를 해야 겠구나..
라는점...

무엇보다도 강의를 할 때에는 Ice break가 중요한 것 같다.
그 다음으로 중요한 것은 자진해서 오는 강의가 아닌, 본인의 의지와 상관없이 끌려와서 앉아 있는 사람들이
졸지 않고 강의를 들을 수 있도록 하는것이다. 강의가 굉장히 듣기 싫어 하는 사람들은 일단 다리 꼬고, 팔장끼구서 "니가 뭘 이야기 하려는지 들어보기나 하자"의 자세로 듣기 때문이다.


연수 마지막날 시간이 좀 남아서 강의 전 준비해야 하는 것들과 강의장에서 준비해야 하는 것들을 좀 정리해 봤다.

O 강의전 준비해야 하는 것들 ==> 순서없이 나열 했다.
- 마인드 맵 : PT 자료를 만들기 위해서는 마인드 맵을 그려서 스토리가 어떻게 진행될 지를 정리하는 것이 좋다. 그리고 당연히 마인드 맵을 그렸으면, PT 자료도 준비해야만 한다.
- 프리젠터 : 보다 역동적인 강의를 위해서, 보다 청중의 관심을 이끌기 위해서는 프리젠터가 있는 것이 좋다. 그렇지 않으면, 항상 페이지를 넘기기 위해서 PC앞으로 쫄쫄쫄 걸어가야만 한다.
- 수강생 명단 : 어떤 사람들이 강의를 들을지에 대해서는 반드시 사전에 파악해 놓아야만 한다.
- Ice Breaking contents : 니가 얼마나 잘하나 보자. 라는 생각을 가진 사람들을 웃게 만들 수 있는 뭔가를 준비해 놓아야만 한다. 그렇지 않으면, 분위기 맹글기 엄청 힘들다.
- 마음가짐 : 강의 전날 컨디션 조절을 통해서 강의에 지장이 없도록 하는것은 기본이다. 하지만 더 중요한 걸 느꼈다. 아무리 강의를 많이 한 강사라도, 몸이 피곤하고, 강의가 하기 싫다면, 강의를 무뚝뚝한 표정으로 하게 되며, 강의의 열정을 느낄수 없다. 자신이 기쁘게 강의를 해야만, 수강생도 기쁘게 강의를 듣게 된다.
- Mac-VGA 연결 Port : 만약 Mac을 쓰는데, VGA 연결 Port를 준비 하지 않았다면, 강의 못한다. ㅋㅋㅋ


O 강의장에서 준비해야 하는 것들.
- 시계 위치 파악 : 강의장에 도착했을 때 가장 먼저 해야 할 일이다. 내가 손목시계를 보면, 수강생도 손목시계를 보게 되고, 강의의 리듬은 끊어질 것이다.
- 프로젝터 Setting : 프로젝트의 화면이 최대로 보여질 수 있도록 세팅을 해야만 한다.
- PT 자료 확인 : 갖고 있는 PT 의 버젼이 최종버젼인지를 확인해야만 한다. 그렇지 않으면 난감한 상황에 봉착할 수도 있다.
Posted by tuning-java
제목 그대로 멀캠에서 진행하기로 한 자바 성능을 거시기 과정의 강의가 취소 되었다.

휴가철에 강의를 계획한거 자체가 실수인듯 하다.

요즘 심신이 편치 않은 상태라서, 오히려 잘 된 듯 하다.

9월달에 강의해 달라고 하고는 있지만,

왜이리 귀찮지???

책이나 열심히 써야지~~~ ㅋㅋ

근데, 대전은 너무 덥다~~~
Posted by tuning-java