java 都有什么存放在栈
时间: 2024-05-25 16:12:02 浏览: 20
Java 中,以下数据类型的变量通常存放在栈中:
1. 基本数据类型(Primitive data types):byte、short、int、long、float、double、boolean 和 char。
2. 对象句柄(Object handles):指向对象的引用变量,如 String、Array 等。
注意,对象本身并不存放在栈上,而是存放在堆(Heap)中。栈中的对象句柄只是指向堆中的对象。同时,Java 中还有一些特殊情况,如线程的方法调用栈(Thread call stack),也会使用到栈。
相关问题
java 都有什么存放在堆
Java中存放在堆中的主要有以下几种类型的对象:
1. 对象实例:Java中所有的对象实例都存放在堆中,包括由应用程序创建的对象和由Java运行时系统创建的对象,如字符串对象、数组对象等。
2. 数组:Java中的数组也是对象,因此存放在堆中。
3. 对象的引用:Java中的所有引用类型,如类、接口、数组等,都是对象,因此它们的引用也是存放在堆中的。
4. 匿名对象:匿名对象是没有名字的对象,通常用于一次性的操作,例如作为方法的参数或返回值。它们也是存放在堆中的。
需要注意的是,基本数据类型(如int、double、boolean等)和局部变量并不存放在堆中,它们存放在栈中。
java 栈 存放什么
Java栈(Java Stack)是一种数据结构,它是一种后进先出(Last In First Out,LIFO)的数据结构。在Java中,栈被用来存放方法执行的上下文,每当一个方法被调用时,一个新的栈帧(Stack Frame)被压入栈中。栈帧包含了该方法的局部变量、方法参数、方法返回值以及一些额外的信息。当该方法执行完毕时,该方法对应的栈帧被弹出栈。因此,Java中的栈主要用于存放方法调用的上下文信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)