자바 현재 방법 가 져 오기
3197 단어 자바
StackTraceElement[] stes = Thread.currentThread().getStackTrace();
현재 방법 을 얻 으 려 면 유연성 이 부족 하 다 는 것 을 기억 하고 배열 stes 의 고정 index 를 사용 하 십시오.
api 가 뭐라고 했 는 지 볼 까요?
getStackTrace
public StackTraceElement[] getStackTrace()
이 스 레 드 스 택 의 덤 프 를 표시 하 는 스 택 추적 요소 배열 을 되 돌려 줍 니 다.이 스 레 드 가 시작 되 지 않 았 거나 종료 되 었 다 면 이 방법 은 0 길이 의 배열 로 돌아 갈 것 입 니 다.
돌아 오 는 배열 이 0 길이 가 아니라면 첫 번 째 요 소 는 스 택 지붕 을 대표 합 니 다.이 배열 의 최신 방법 입 니 다.마지막 요 소 는 스 택 바닥 을 대표 하 며 이 시퀀스 에서 가장 오래된 방법 으로 호출 됩 니 다.
안전 관리자 가 있 고 이 스 레 드 가 현재 스 레 드 가 아니라면 통과 합 니 다. RuntimePermission("getStackTrace") 보안 관리자 권한 호출 checkPermission 방법,스 택 추적 을 가 져 올 수 있 는 지 확인 합 니 다.
일부 가상 컴퓨터 는 어떤 경우 에 스 택 추적 에서 하나 이상 의 스 택 프레임 을 생략 할 수 있 습 니 다.극단 적 인 상황 에서 이 스 레 드 스 택 추적 정보 가 없 는 가상 기 는 이 방법 에서 0 길이 의 배열 을 되 돌 릴 수 있다.
돌아 가기:
StackTraceElement 배열,각 배열 은 하나의 스 택 프레임 을 대표 합 니 다.
던 지기:
SecurityException
- 보안 관리자 가 존재 하고 checkPermission 방법 은 스 레 드 의 스 택 추적 을 가 져 올 수 없습니다.
다음 버 전부터:
1.5
별도로 참조 하 시기 바 랍 니 다:
SecurityManager.checkPermission(java.security.Permission) ,
RuntimePermission ,
Throwable.getStackTrace()
주의 하 세 요.빨간색 표 시 된 곳 은 창고 지붕 이 최신 방법 으로 호출 되 고 창고 바닥 은 가장 오래된 방법 으로 호출 됩 니 다.
2.실례:
/*TestDumpThread .java*/
public class TestDumpThread {
//Dump the current thread stack trace.
public static void getCurrentStackTrace() {
StackTraceElement[] stes = Thread.currentThread().getStackTrace();
for (StackTraceElement element : stes) {
System.out.println(element);
}
}
public static void main(String[] args) {
getCurrentStackTrace();
}
}
결 과 는 다음 과 같다.
java.lang.Thread.getStackTrace(Thread.java:1479)
TestDumpThread.getCurrentStackTrace(TestDumpThread.java:5)
TestDumpThread.main(TestDumpThread.java:12)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.