静态,单例或实例?

时间:2016-10-26 10:19:34

标签: java

我对我写的新课程类型感到有些困惑。 我的类将用于为大约四千个并发用户提供从数据库中提取的问题和选项。 (因为考试将同时开始) 现在我应该使用什么类类型来使其更快地运行。

如果我让它静止会好吗?

public static List<Questions> getQuestions(String qType){
   List<Questions> objListExamsExt = new ArrayList<Questions>();
            ....
            ....
            ....      
        while (cursor.next()) {
            Questions objExamQuestion = new Questions();
            objExamQuestion.setQuestion_id(cursor.getString("question_id"));
            ....
            ....
            ....
            objListExamsExt.add(objExamQuestion);
        }
    return objListExamsExt;
}

1 个答案:

答案 0 :(得分:0)

静态类可能是个好主意的情况是你想要收集related pieces of functionality,但你不需要在任何对象中有任何内部状态。

通常,您可以创建一个静态Utils类,其中包含在任何特定对象实例的上下文之外访问的一大堆相关函数

单例允许在应用程序生命周期内只有一个持久化实例的类。如果你有某种共享资源,例如数据库,单例类可能会很有用,内存缓存,或者一些专门的硬件,如机器人手臂。程序的许多部分可能希望使用此资源,并且您可能希望对资源的所有访问都通过单个点。单身并不总是处理这些情况的唯一方法,但它是我认为单身人士可能是一个不错选择的少数几个地方之一。

在您的情况下如果您的应用程序中的多个位置使用了getQuestions(),那么您可以在静态Utils类中将它们组合在一起。