java局部变量表的介绍 java局部变量表的基础知识点及实例
人气:0想了解java局部变量表的基础知识点及实例的相关内容吗,在本文为您仔细讲解java局部变量表的介绍的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,局部变量表,下面大家一起来学习吧。
说明
1、局部变量表也叫局部变量数组或本地变量表。定义为一个数组,主要用于存储方法参数和定义方法中的局部变量。这些数据类型包括各种基本数据类型、对象参考和returnAddress类型。
2、因为局部变量表是建立在线程栈上的线程私有数据,所以没有数据安全问题。
实例
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位虚拟机中的一致。
加载全部内容