문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:options [2017/08/08 08:55] kwon37xi |
java:options [2019/03/26 12:59] kwon37xi |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Oracle(SUN) JVM Options ====== | ====== Oracle(SUN) JVM Options ====== | ||
* JVM 기본 옵션 출력< | * JVM 기본 옵션 출력< | ||
+ | java -XX: | ||
+ | // or | ||
java -XX: | java -XX: | ||
</ | </ | ||
+ | * 메모리 관련 항목은 '' | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
* [[http:// | * [[http:// | ||
* '' | * '' | ||
줄 30: | 줄 34: | ||
원천적이로 이 기능을 끄려면 '' | 원천적이로 이 기능을 끄려면 '' | ||
- | 이 경우, **동일 JVM에서 비슷하게 발생한 다른 에러 로그를 찾아보면 과거에 발생했던 에러 로그에서 stacktrace를 찾을 수 있다.** | + | 이 경우, **동일 JVM에서 비슷하게 발생한 다른 에러 로그를 찾아보면 과거에 발생했던 에러 로그에서 stacktrace를 찾을 수 있다.** |
+ | |||
+ | 재현해보기 | ||
+ | <code java> | ||
+ | public class NpeThief { | ||
+ | public void callManyNPEInLoop() { | ||
+ | for (int i = 0; i < 1000000; i++) { | ||
+ | try { | ||
+ | ((Object)null).getClass(); | ||
+ | } catch (Exception e) { | ||
+ | // stacktrace길이가 2 이다가 어느 순간 0으로 바뀐다. | ||
+ | System.out.println(e.getStackTrace().length); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | public static void main(String ... args) { | ||
+ | NpeThief thief = new NpeThief(); | ||
+ | thief.callManyNPEInLoop(); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== -XX: | ||
+ | * '' | ||