2014-10-01 3 views
0

В свалке я вижу следующую информацию:Пожалуйста, объясните значение «java frame» из stacktrace?

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 в Google, но я вижу только результаты, связанные с качанием (JFrame).

ответ

2

В других языках это будет называться «фреймом стека», но спецификация виртуальной машины Java использует только термин «кадр». Это сегмент стека вызовов, посвященный одному вызову метода, где этот метод сохраняет свое состояние (локальные переменные, параметры и т. Д.).

2

Кадр по существу является пространством, предназначенным для функции в стеке.

Stack frame illustration

Изображение из here.

"Java кадр" означает, что кадр для Java кода. Существуют такие виды фреймов:

Собственный кадр C (C), интерпретируемый фрейм Java (j), рамка VM (V), созданный виртуальной машиной кадр stub (v), Другие типы кадров, включая скомпилированные фреймы Java (J)

See this.

Смежные вопросы