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
}这好像是个基本的问题,以前没注意过,今天做东西,堆溢出了,才想起来,高手解答啊..谢谢
!!
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 来指定堆空间最大允许多大呢?