【发布时间】:2015-12-06 08:36:24
【问题描述】:
我的应用程序中有 20 多种常用方法。我想将这 20 个方法移到一个通用类中。
我的疑问是,定义所有方法都是静态或普通方法,并创建一个全局对象来访问该普通方法。
class Common {
public String method1() {........}
public String method2() {........}
public String method3() {........}
public String method4() {........}
public String method5() {........}
...
}
创建对象。
class CommonService {
private static Common common;
public static Common getCommon() {
if(null == common) {
common = new common();
}
return common;
}
}
如果我们使用静态方法创建所有方法,则所有 20 个方法都存储在堆的 PermGen 部分中。
但是如果我们按照上面的方法,只能创建一个对象并将其存储在java堆中。
请说明哪一个是最好的方法。
【问题讨论】:
-
你到底想达到什么目的?任何事物在每个领域都有自己的优缺点。更好,您可以将其设为
finalUtil类并制作方法static。 -
这些方法有什么关联吗?为什么这会比构造函数更好? (或单例,如果您希望它们都在同一个实例上)
-
我不确定
static方法,但从可测试性的角度来看,单身人士不赞成 -
如果您不必在这些方法之间共享状态,您应该可以使用静态方法。
-
@subodh joshi:你到底想达到什么目标? >>> 应用程序性能和内存管理。那我为什么要问。
标签: java static heap-memory