꾸준글 미안^^..;
java VM을 뻗게만드는 코드말야
내가 여러달전에 썼다가.. 글을.... 어쩌다보니 지웠었걸랑-_-;;
그글에 Zaphod횽이 간단한 코드로답해줬던거같은데
Zaphod횽 본인이나 혹은 다른 횽이라두 버추어머신 뻗게 만드는 코드좀 올려주면카암사라는
나는 java의 g 도 모르는 존뉴비라 굽신
프로그래밍 이야기 :
((lambda (x) (list x (list \'quote x))) \'(lambda (x) (list x (list \'quote x))))
JNI로 C/C++ 라이브러리 호출하고 C/C++ 라이브러리에서는 런타임때 메모리 에러 나게 하면 말 그대로 사망한다능
음... 나도 그 글 본 기억이 나는데 그때 Zaphod 횽이 얘기했던 건 객체 무한생성하는거 아니면 메소드재귀 무한정 돌렸던 것 같은데...
Heart횽 캄사
JNI는 반칙.
JNI는 반칙 맞음. 순수 자바 코드로 뻗게 해야 함.
객체 무한 생성하면 가비지 컬렉터가 CPU 100% 잡아먹긴 하지만 뻗진 않음. 무한 재귀 호출 역시 스택 오버 플로우 예외 나고는 여전히 살긴 살아 있음. 결국 JVM을 뻗게 하려면 JVM의 버그를 찾아 공격해야 한다고 봄. hs_pidxxxxx.log 이런 파일 생기도록.
JVM에서 덤프 생성하게 만들면 결국 성공.