2014-10-01 27 views
0

在轉儲我看到以下信息:請解釋stacktrace中的「java frame」的含義?

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) 
j com.barcap.fox.log.Syslog.plog(ILjava/lang/String;)Z+0 
j com.barcap.fox.log.Syslog.log(ILjava/lang/String;)Z+317 
j com.barcap.fox.log.Syslog$BS.flush()V+37 
j java.io.PrintStream.write([BII)V+30 
.... 

你能解釋的Java frame

我tryied谷歌它的意思,但我只看到擺動(JFrame的)相關的結果。

回答

2

在其他語言中,這將被稱爲「堆棧幀」,但Java虛擬機規範僅使用術語「幀」。它是調用堆棧的一部分,專用於調用一個方法,其中該方法保持其狀態(局部變量,參數等)。

2

一個框架本質上是專用於堆棧功能的空間。從here.

的 「Java幀」

Stack frame illustration

圖片意味着該幀是用於Java代碼。有這些種類的幀:

本地C幀(C),解釋的Java幀(j),VM幀(V),VM生成的末端幀(v),其他幀類型,包括編譯的Java幀(J)

See this.