「javanew栈」java写栈

博主:adminadmin 2022-11-22 06:47:06 76

今天给各位分享javanew栈的知识,其中也会对java写栈进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java的方法中new的对象存储在内存中那个区域

这个对象存在堆中,还是栈中?

答:堆,new一个对象,一定是在堆中

方法内部new出来的对象,在哪里存着?

答:堆,new出来对象的实例变量都存在堆上面。

栈,这个东西,需要理解为:线程运行时,才会创建,执行完,就没了。

Person p = new Person();

上面这段代码,在执行时,p压入栈,通过局部变量表,找到对应的【实例数据】,执行完毕后释放。

java new基本类型对象,是放在堆中还是栈中

java中new  出来的对象都存在堆内存中,指向对象的变量存在于栈中,new对象的常量在方法区,如下面例子:

Integer inte = new Integer(10);

java如何自定义栈?

public class Stack{

int[] data;

int maxSize;

int top;

public Stack(int maxSize) {

this.maxSize=maxSize;

data=new int[maxSize];

top=-1;

}

//入栈

public boolean push(int data) {

//入栈先判断栈中是否已满

if(top+1==maxSize) {

System.out.println("栈已满");

return false;

}

this.data[++top]=data;

return true;

}

//出栈

public int pop() throws Exception{

//出栈先判断栈是否已空

if(top==-1) {

throw new Exception("栈已空");

}

return this.data[top--];

}

public static void main(String[] args) throws Exception {

Stack stack=new Stack(1000);

stack.push(1);

stack.push(2);

stack.push(3);

stack.push(4);

stack.push(5);

while(stack.top=0) {

System.out.println(stack.pop());

}

}

}

java中new一个对象,请帮我分析下堆栈。以下两个例子麻烦网友帮我解释下

A a作为引用是放在栈中的,而new的对象是放在堆中的,字面常量放在常量池中。 基本类型是放在栈中的。

1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.

2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)

3. 堆:存放所有new出来的对象。

4. 静态域:存放静态成员(static定义的)

5. 常量池:存放字符串常量和基本类型常量(public static final)。

6. 非RAM存储:硬盘等永久存储空间

java 中 new Stack 默认初始栈是多少个呢

如果是java.util.Stack的话,通过查看源码,Stack只有一个空构造方法,它继承了Vector。

Vector中的无参构造如下:

public Vector() {

this(10);

}

this(10)调用了

public Vector(int initialCapacity) {

this(initialCapacity, 0);

}

查看注释,

/**

* Constructs an empty vector with the specified initial capacity and

* with its capacity increment equal to zero.

*

* @param initialCapacity the initial capacity of the vector

* @throws IllegalArgumentException if the specified initial capacity

* is negative

*/

所以,你看到了,默认是10个,如果超过十个的时候,就会调用Vector类中别的方法扩容。

java.util.Stack是基于Vector实现的,它只提供了简单的pop,push等操作。

关于javanew栈和java写栈的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。