July 25th, 2007
AWTEventMulticaster는 더블잭이다

double jack

Component에는 addMouseListener(MouseListener l) 같은 메소드가 있기 때문에
MouseListener의 배열 내지는 List를 필드로 가질것이라 생각하기 쉽습니다.

하지만 Component.java의 소스를 보면 MouseListener는 컬렉션 형태가 아닌 그냥 MouseListener 타입의 필드 하나만 존재합니다.

그 비밀은 AWTEventMulticaster에 있습니다.
이에 대한 설명이 잘 되어 있는 글이 있으니 참고하세요.

July 25th, 2007
eclipsec.exe

윈도우용 Eclipse launcher 이야기다.
Eclipse 3.2.x 이하 버젼에서는 eclipse.exe는 javaw.exe를 자식 프로세스로 생성했다.
Process Tree에서 두 놈이 나와 신경에 거슬렸는데
old eclipse

Eclipse 3.3 부터는 JNI로 VM을 호출한다. 속이 시원하다.
new eclipse

새 launcher는 GUI Application이기 때문에 별도의 Console창이 뜨지 않는다.
때문에 eclipsec.exe 가 추가되었다. Console창이 별도로 뜨는데 이 콘솔창에 대고 Ctrl+Break을 눌러서 Thread dump를 본다던지 할 수 있다.
console