⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.java

📁 Practical Java也是一本和J2ME手机游戏开发相关的书
💻 JAVA
字号:
class Employee
{
  private String EmpName;
  private String EmpTitle;
  private int EmpNumber;
  public Employee()
  {}
  public Employee(String name, String title, int number)
  {
    EmpName = name;
    EmpTitle = title;
    EmpNumber = number;
  }
  public int salary()
  {   
    int salary = 100;
    //query database based on Employee object to get salary.
    //salary = querydb(this);
    return salary;
  }
  public void setName(String name)
  {
    EmpName = name;
  }
  public void setTitle(String title)
  {
    EmpTitle = title;
  }
  public void setNumber(int number)
  {
    EmpNumber = number;
  }
  public void reinitialize(String name, String title, int number)
  {
    EmpName = name;
    EmpTitle = title;
    EmpNumber = number;
  }
  //...
}
class test
{
  public int computePayroll1(String[] name, String[] title, 
                             int[] number)
  {
    int size = name.length;
    int totalPayroll = 0;
    if (size > 0)
    {
      Employee emp = new Employee();
      for (int i=0; i<size; i++)
      {
        emp.setName(name[i]);
        emp.setTitle(title[i]);
        emp.setNumber(number[i]);
        totalPayroll += emp.salary();
      }
    }
    return totalPayroll;
  }

  public int computePayroll2(String[] name, String[] title, 
                             int[] number)
  {
    int size = name.length;
    int totalPayroll = 0;
    if (size > 0)
    {
      Employee emp = new Employee();
      for (int i=0; i<size; i++)
      {
        emp.reinitialize(name[i], title[i], number[i]);
        totalPayroll += emp.salary();
      }
    }
    return totalPayroll;
  }

  public static void main(String args[])
  {
    int val = Integer.parseInt(args[0]);
    test t = new test();
    String[] name = new String[10];
    String[] title = new String[10];
    int[] number = new int[10];
    for (int i=0; i<10; i++)
    {
      name[i]="Peter";
      title[i]="Advisory";
      number[i]= 123;
    }
    System.gc();
    long start = System.currentTimeMillis();
    for (int i=0; i<val; i++)
      t.computePayroll1(name, title, number);
    long end = System.currentTimeMillis();
    System.out.println("normal reuse" + (end-start));
    long num = end-start;
    
    System.gc();
    start = System.currentTimeMillis();
    for (int i=0; i<val; i++)
      t.computePayroll2(name, title, number);
    end = System.currentTimeMillis();
    System.out.println("reinit method " + (end-start));
    num = ((num-(end-start))*100)/num;
    System.out.println("reinit is " + num + " percent faster");
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -