摘要: 堆栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,java自动管理栈和堆,程序员不能直接的设置栈或者堆。从堆和栈的功能来通俗的比较,堆主要用于存放对象,栈主要是用来执行程序的。这种不同是由于堆栈和堆的特性决定的,以下是它们在概念上的区别: 堆栈:位于通用RAM(随机访问存储器)中,但通过堆栈指针可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些缓存。这是一种快速有效的分配存储方式,仅次于寄存器。创建程序时,java系统必须知道存储在堆栈内的所有项的确切生命周期,以便上下移动堆栈指针。这一约束限制了程序的灵活性,... 阅读全文
posted @ 2012-04-05 15:32 o0寂寞的泡沫0o 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 以下代码,简单实现了堆栈package test;public class Stack {int[] data;int maxSize;int top;public Stack(int maxSize) {this.maxSize = maxSize;data = new int[maxSize];top = -1;}/*** 依次向栈中加入数据* @param data 要加入的数据* @return 添加是否成功*/public boolean push(int data) {if(top+1 == maxSize) {System.out.println("栈已满!" 阅读全文
posted @ 2012-04-05 15:30 o0寂寞的泡沫0o 阅读(147) 评论(0) 推荐(0) 编辑