简体   繁体   English

请从stacktrace解释“ java frame”的含义吗?

[英]Please explain “java frame” meaning from stacktrace?

In dump I see following information: 在转储中,我看到以下信息:

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
....

Can you explain meaning of Java frame 你能解释一下Java frame含义吗

I tryied to google it but I see only results related with swing(Jframe). 我试图用谷歌搜索它,但只看到与swing(Jframe)相关的结果。

In other languages this would be called a "stack frame", but the Java Virtual Machine Specification uses just the term "frame". 在其他语言中,这称为“堆栈框架”,但是Java虚拟机规范仅使用术语“框架”。 It is the segment of the call stack devoted to one invocation of a method, where that method keeps its state (local variables, parameters, etc.). 它是调用堆栈的一部分,专用于方法的一次调用,该方法保留其状态(局部变量,参数等)。

A frame is essentially the space devoted to a function on a stack. 框架本质上是专用于堆栈上的函数的空间。

堆栈框架图

Picture from here. 图片从这里。

The "Java frame" means that the frame is for Java code. “ Java框架”表示该框架用于Java代码。 There are these kinds of frames: 有以下几种框架:

Native C frame (C), Interpreted Java frame (j), VM frame (V), VM generated stub frame (v), Other frame types, including compiled Java frames (J) 本机C框架(C),解释的Java框架(j),VM框架(V),VM生成的存根框架(v),其他框架类型,包括编译的Java框架(J)

See this. 看到这个。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM