Если мы создадим класс Immutable, как показано ниже для правильности состояния объекта Student, то есть ли способ создать новый Object так же, как мы делаем для String, без вызова метода getInstance, как в этом дело?Regd: неизменяемые объекты для многопотокового приложения
public class Student {
private final StringBuffer name;
private final int roll;
private static Student student;
private Student(StringBuffer name , int roll)
{
this.name = name;
this.roll = roll;
}
public static Student getInstance(StringBuffer name,int roll)
{
student = new Student(name, roll);
return student;
}
}
Что случилось с вызовом' getInstance' или просто выставляя конструктор – SimonC
@AshishAggarwal, возвращаемый 'Student' еще неизменен Кроме того, это не синглтон как новый объект создан. каждый вызов 'ge tInstance'. Однако существует условие гонки, если 'getInstance' вызывается одновременно, поскольку один поток может получить экземпляр, созданный другим потоком (с потенциально разными' name' и 'roll'). – SimonC
Согласовано. Спасибо. Каждый раз для этого объекта Студент вызывает конструктор для обновления ссылочной переменной новым объектом. – Ullas