support (a)
if a will be shared in many method at a class,otherwise,choose (b)
if a will be shared in many method at a class,otherwise,choose (b)
解决方案 »
- 麻烦问下在Web Service里面能返回Map对象吗?有现成的例子吗?
- 好心人来帮帮忙吧 积分问题
- Runnable 回答后快速给分!
- 怎样通过类名,创建一个这个类的数组??
- 好奇的人请进来,( 分多了,快毕业了,路人也进来领分)
- cvs中如何改变时间?
- 都说我写的程序不规范,谁有中文的“Java Code Conventions”
- 请问:我有一个已编译好的class文件,运行它最少需要那些文件?谢谢!
- 请问有关MAP,SET,LIST的定义,特性,要考scjp拉,书上又不清楚
- 编写Socket客户端和服务器程序,客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中。
- 有人做过在内部网上的邮件系统吗?服务器是exchange server?
- javamail 读邮件的中文乱码问题
public class A
{
public A() {}
public useB() { B b = B.createInstance();}
}public class B
{
private B() {}
public B createInstance() {return new B();}
}通常这样就可以了。
如果你可以确定在任何一个A的对象的生命周期内,都要使用同一个B。
那么,
public class A
{
public A() {}
public useB(){ if (b==null) b = B.createInstance(); // Do something with b.}
private B b = null;
}2:
绝对不会马上释放。
不过用下面一段代码,几乎可以做到马上释放:
Boy boy = new Boy();
// Do something...
boy = null;
System.gc();虽然System.gc()臭名昭著,不过总比没有好。
2、你对一个变量赋null后,垃圾收集器并不马上动作,它是不定时的动作,要看各个jvm的具体实现了,他有一个算法,而起很复杂,直接关系到性能的问题,你可以去google上搜一下jvm就知道了。
2、你对一个变量赋null后,垃圾收集器并不马上动作,它是不定时的动作,要看各个jvm的具体实现了,他有一个算法,而起很复杂,直接关系到性能的问题,你可以去google上搜一下jvm就知道了。
topbit(无影雷霆):如果每次都调用System.gc(),因小失大呢?因为JVM进行内存回收的时候,会很耗系统资源的.
1.先new一个,然后多次使用,以及采用pool等手段。
2.作为参数传给构造函数。
3.作为参数传给调用的方法。
现在的问题,就是关于member varible还是local varible的问题:对于local varible,由于其生存周期本来就是到函数结束,因此就没有必要显示(explictly)对他赋null了,因为该变量已经不存在了,也就不存在对对象的reference了.是不是这样呢?
如果在A中有3个左右的方法,要对B的对象进行引用,算不算多呢?是采用member varible 还是local varible呢?
如果有多个函数对同一个对象进行引用,如果访问的是同一个实例对象且该对象可以一直保持,则用成员变量较好,减少对象的生成和释放操作。
如果用于对connection的引用,如果指的是物理connection,建议用成员变量保持。
如果用了连接池技术,即从poolconnection中获得的connection,我建议用局部变量,每次使用前申请,因为数据库连接供其他对象使用,保持的这个connection对象会失效,而且connection对象本身的开销并不大,不如用局部变量每次申请