java - java中的堆栈和队列如何分配内存
问题描述
我们知道 ArrayList 使用动态数组来存储数据。LinkedList 使用链表来存储数据。因此,对于这两种情况,我们都知道添加或删除新元素时它是如何工作的(内存方面)。现在类似地,如何为 java 中的堆栈或队列分配内存。当我在堆栈或队列中添加/删除元素时,在内存级别会发生什么。
解决方案
嗯,Queue
是一个接口,所以不多说。有很多实现和不同的行为。无论如何,例如,ArrayBlockingQueue
有一个类似于ArrayList
. 无论如何,有两个主要组(有界和无界),但这实际上取决于您选择的实现。
关于Stack
,内存分配也非常相似,ArrayList
因为它是的子类,Vector
并且由数组支持。
推荐阅读
- android - paddingBottom 在 Lollipop (API 21) 设备中不起作用
- java - 使用 Jemmy 启动 .exe
- c# - MongoDB C# 驱动程序:查询忽略的属性时抛出异常
- javascript - 字节到 PDF 不起作用。只显示空白
- php - Yajra DataTable 搜索框和分页不适用于 Laravel 5.4 在线数字海洋
- php - 使用 Ajax 提交表单之前的 Sweet Alert 确认
- java - 导入 org.junit.Test 引发错误为“使用测试运行程序“JUnit 5”找不到测试”
- javascript - 如何在 Laravel 中通过 Sweet-alert 确认后删除...?
- php - 使用 Foreach 循环显示多维数组的所有数据列表
- java - 序列化双括号初始化的 Map