java里的对象是不是都是在堆中分配的呢?如何在栈上建立一个对象呢?
比如C++中:
void Cpp()
{
ClassA a;//这样就是一个局部对象了
.....
}java中:
void java()
{
ClassA a;//这是定义一个引用,如果想使用一个对象,要么new一个,要么把另一个对象
赋给a
}这好像是个基本的问题,以前没注意过,今天做东西,堆溢出了,才想起来,高手解答啊..谢谢
!!
比如C++中:
void Cpp()
{
ClassA a;//这样就是一个局部对象了
.....
}java中:
void java()
{
ClassA a;//这是定义一个引用,如果想使用一个对象,要么new一个,要么把另一个对象
赋给a
}这好像是个基本的问题,以前没注意过,今天做东西,堆溢出了,才想起来,高手解答啊..谢谢
!!
解决方案 »
- 计算器
- 求答案 在线等 谢谢大侠们
- 请教各位大虾
- 我写了一个可以把非参数SQL语句转化为参数SQL语句的代码,希望大家帮我测试一下他的健壮性
- 关于Swing中的KeyListener的问题?困扰了我好久了!
- 如何format一个16进制的串
- 在JScrollPane中放一个JTextArea,怎样使JTextArea随着文字的输入往下滑。用什么函数?
- java socket的一点疑惑
- 因JS进不去,只有在这提出JS的问题!
- 有时候初装jdk之后,不用设路径就可以使用,而有时则不行(但不行时有时候重装jdk即可),这当如何解释?
- java中有没有类似C#中列举文件(Directory.GetFiles())的方法
- 一个将字符写人文件的问题
Shape3D shape = new Shape3D();
Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
Color3f yellow = new Color3f(1.0f, 1.0f, 0.0f);
for (float i = 0; i < Math.PI; i += 0.02) {
for (float j = 0; j < Math.PI * 2; j += 0.02) {
PointArray point = new PointArray(1, PointArray.COORDINATES
| PointArray.COLOR_3);
double x = radius * Math.sin(i) * Math.cos(j);
double y = radius * Math.sin(i) * Math.sin(j);
double z = radius * Math.cos(i);
point.setCoordinate(0, new Point3d(y, z, x));
if (this.Texture1(x, y) == true) {
point.setColor(0, white);
} else {
point.setColor(0, yellow);
}
shape.addGeometry(point);
}
}
return shape;
}
试一下把一些无心的对象保持要释放掉,或者通过java -Xmn -Xms -Xmx -XX:PermMaxSize: 来增大堆空间。
java -Xmn -Xms -Xmx -XX:PermMaxSize 来指定堆空间最大允许多大呢?