java - 组织大量方法的最有效方法是什么?

标签 java class memory methods

我正在制作一个模拟java语言,它有很多方法。我会将类似的方法组合在一起并将它们放入自己的类中,但是所有方法都需要扩展一个处理如何中断数据的类。就运行时性能而言,组织它们的最有效方法是什么?

现在,它只是一个类 (ListOfMethods) 中的一堆方法,使用带有 if-else 语句的特殊方法调用来查找正确的方法,例如:

public void methods(String name, String param) throws NumberFormatException, InterruptedException {
    if (name.equals("systemexit")) SystemExit(param);
    else if (name.equals("sleep")) sleep(param);
}
public void SystemExit(String param)
{
    int exit=(int)Double.parseDouble(param);
    System.exit(exit);
}
public void sleep(String param) throws NumberFormatException, InterruptedException
{
    Thread.sleep((long)Double.parseDouble(param));
}

我并不是想改变这种格式,只是改变方法的组织方式。我想将它们分为几类,例如数学和字符串,但我想知道执行此操作的最佳方法是什么?

  1. ListOfMethods 可以扩展每个类。问题是 Java 不支持多重继承,因此类 1 将扩展类 2,类 2 将扩展类 4,等等。
  2. ListOfMethods 可以导入每个类。问题在于它们都需要扩展一个父类(super class)。这样效率低吗?
  3. 将它们放入不同的类中并将方法设为静态(与前一个非常相似)。
  4. 只需保持原样即可。

我愿意接受其他建议 - 我希望使其尽可能高效。提前致谢。

注意:该类将同时运行数百个实例 - 这只是实际问题的一个简短示例 - 所以我真的不想浪费内存。

最佳答案

我的建议是暂时忽略运行时效率,专注于让你的语言正常工作。当它工作时,对其进行分析并使用它来决定需要提高哪些效率(更)。目前,无法预测实际的效率问题是什么。您现在在这个问题上花费的努力很可能会被浪费。

所以我的建议是选项 4。

或者选项 5 - 首先,选择认为将使代码编写和维护变得最简单的方法。

关于java - 组织大量方法的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18414591/

相关文章:

c - malloc+strdup 会泄漏内存吗?

java - 如何优化android代码

python - 用python调用同一个类中的变量

javascript - 使用 JQuery 在 div 标签后插入代码块?

C++ 默认构造函数不可用

java - 2 线程中出现异常 "main"java.lang.OutOfMemoryError : Java heap space

java - SOAP Web 服务,可以进行性能测试吗?

java - 为什么我在尝试从 Android 访问 Gmail 时收到 javax.mail.NoSuchProviderException?

java - 有没有办法自动化 junit bean 属性测试?

linux - 如何在linux上使用 "pmap"查找我编写的程序的内存使用情况