使用javap指令没有显示局部变量表LocalVariableTable

要编译的代码

public class FileTest {

		private String str="str";
		private Object obj=new Object();
		private final Integer num=123;
		
		public void meth(){
			int i=10;
			System.out.print(i);
			
		}
				
		public static void main(){
			int s=6;
			s++;
			System.out.print(s);
			FileTest fileTest= new FileTest();
			fileTest.meth();
		}
}

二、生成class文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020040815032748.png在这里插入图片描述三、反编译指令
在这里插入图片描述
查看生成的字节码
使用javap指令没有显示局部变量表LocalVariableTable_第1张图片
没有看到局部变量表 LocalVariableTable

可能是因为在Javac编译的时候就没有生成局部变量表,导致反编译的时候也没有。

解决方法:
在javac 的时候加上参数-g:vars
javac -g:vars FileTest

你可能感兴趣的:(jvm)