썬, 자바를 잃게되는가?
Filed Under (메인) by 백일몽 on 23-07-2005
그동안 자바 가지고 밥 먹고 살면서
선이 자바 가지고 하는게 뭔가
자바를 통해 뭐를 얻어 가나하는 생각이 들때가 있었는데
점점 자바에 대한 선의 영향력이 희미해진다는 생각이
IBM 에서 ASF 의 J2SE 오픈 프로젝트에 참가하겠단다. 이클립스에 이어 하모니까지. 어허
그동안 자바 가지고 밥 먹고 살면서
선이 자바 가지고 하는게 뭔가
자바를 통해 뭐를 얻어 가나하는 생각이 들때가 있었는데
점점 자바에 대한 선의 영향력이 희미해진다는 생각이
IBM 에서 ASF 의 J2SE 오픈 프로젝트에 참가하겠단다. 이클립스에 이어 하모니까지. 어허
from: http://www.raibledesigns.com/page/rd/20030312
I changed my shorcut icon (Win2K) to have the following as it’s target:
eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M -Xmx256m -Xms256m
Eclipse now starts in a mere 6 seconds (2 GHz Dell, 512 MB RAM). Without these extra settings, it takes 11 seconds to start. That’s what I call a performance increase! (2003-03-12 09:32:04.0)
from: http://www.raibledesigns.com/comment.do?method=edit&entryid=065039163189104748672473500018
I tried this out, but the memory settings don’t seem to have anything to do with startup time.
18 seconds - “eclipse.exe”
13 seconds - “eclipse.exe -vmargs -Xverify:none”
12 seconds - “eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M -Xmx96m -Xms96m”
It’s only the Xverify:none parameter which has a noticeable effect on reducing startup time. On the java website I found that this parameter turns off bytecode verification ( http://developer.java.sun.com/developer/onlineTraining/Security/Fundamentals/Security.html ), although the default is supposedly “only verify classes loaded over the network”.
log4j.rootCategory=INFO, commonLog log4j.category.net.log.test.event=DEBUG, eventLog log4j.category.net.log.test.viewer=DEBUG, viewerLog log4j.appender.commonLog=org.apache.log4j.DailyRollingFileAppender log4j.appender.commonLog.DatePattern='.'yyyy-MM-dd log4j.appender.commonLog.layout=org.apache.log4j.PatternLayout log4j.appender.commonLog.layout.ConversionPattern=%5p [%c] - %m%n log4j.appender.eventLog.File=/var/log/app/event.log log4j.appender.viewerLog.File=/var/log/app/viewer.log
위 예를 보면
rootCategory 가 있고 루트카테고리의 레벨은 INFO이고 타켓, 그러니깐 appender 는 commonLog 로 되어 있다.
루트카테고리를 상속받게 되는 카테고리 net.log.test.event 와 net.log.test.viewer는 각기 다른 타켓을 가르키고 있다.
하나는 evetLog, 또 하나는 viewerLog 어펜더를 향하고 있는 것이다.
이제 로그를 찍고 싶은 클래스를 하나 붙잡고 열심히 찍어보자.
시작은 Logger 인스턴스를 생성하는 것에서부터 시작한다.
private static final Logger logger = Logger.getLogger("net.log.text.viewer");
위와 같이 로거를 생성할 경우 로거의 카테고리는 properties 에 정의한 곳, 바로 viewerLog 어펜더에 로그를 쓰게 된다. 보통 클래스 네임을 getLogger 의 파라미터로 넘기게 돼는데 꼭 그렇지 않아도 된다.
빨리 퇴근 해야 함으로 오늘은 여기까지. 맘 잡고 붙들고 있었으면 금방 이해할 일을 괜히 시간만 끌었다.