私はJavaのガベージコレクションhereとhereについて読んでいました。私はまだ2つの質問があります。System.Exitの後のガベージコレクション
は、私は次のクラスに
public final class Employee { private final String empID; private final String empFirstName; private final String empLastName; public Employee(String ID, String Firstname, String Lastname) { this.empID = ID; this.empFirstName = Firstname; this.empLastName = Lastname; } public String getEmpID() { return empID; } public String getEmpFirstName() { return empFirstName; } public String getEmpLastName() { return empLastName; }
を持っていると私はArrayList
に私の従業員オブジェクトを追加するとします。私はSystem.exit(0)
を呼び出すした場合、GCがメモリを解放するために実行しない場合さて、最後の従業員オブジェクトは、挿入された直後
List<Employee> empList = new ArrayList<Employee>();
empList.add(new Employee("1", "Sally","Solomon"));
empList.add(new Employee("2", "Harry","Solomon"));
?
- 提供されたリンクの1つで、GCと静的変数について説明しています。私はGCコンセプトには少し新しく、ちょっと混乱しています。このリンクでは、静的変数はガベージコレクションされません。静的変数を使用する場合、どのようにメモリを解放しますか?アプリケーションが終了してもメモリは解放されますか?