说明
1、局部变量表也叫局部变量数组或本地变量表。定义为一个数组,主要用于存储方法参数和定义方法中的局部变量。这些数据类型包括各种基本数据类型、对象参考和returnAddress类型。
2、因为局部变量表是建立在线程栈上的线程私有数据,所以没有数据安全问题。
实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
private static int count= 0 ; public static void recursion( int a, int b, int c){ long l1= 12 ; short sl= 1 ; byte b1= 1 ; String s= "1" ; System.out.println( "count=" +count); count++; recursion( 1 , 2 , 3 ); } public static void recursion(){ System.out.println( "count=" +count); count++; recursion(); } |
基础知识点扩充:
局部变量表(Local Variable Table)是一组变量值存储空间,用于存放方法参数和方法内部定义的局部变量。在Java程序编译为Class文件时,就在方法的Code属性的max_locals数据项中确定了该方法所需要分配的局部变量表的最大容量。
局部变量表的容量以变量槽(Variable Slot,下称Slot)为最小单位,虚拟机规范中并没有明确指明一个Slot应占用的内存空间大小,只是很有导向性地说到每个Slot都应该能存放一个boolean、byte、char、short、int、float、reference或returnAddress类型的数据,这8种数据类型,都可以使用32位或更小的物理内存来存放,但这种描述与明确指出“每个Slot占用32位长度的内存空间”是有一些差别的,它允许Slot的长度可以随着处理器、操作系统或虚拟机的不同而发生变化。只要保证即使在64位虚拟机中使用了64位的物理内存空间去实现一个Slot, 虚拟机仍要使用对齐和补白的手段让Slot在外观上看起来与32位虚拟机中的一致。
到此这篇关于java局部变量表的基础知识点及实例的文章就介绍到这了,更多相关java局部变量表的介绍内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/java/jiaocheng/31210.html