Я хотел бы знать, имеет ли каждый экземпляр класса свою собственную копию методов в этом классе?
Допустим, у меня следующий класс MyClass
:
public MyClass {
private String s1;
private String s2;
private String method1(String s1){
...
}
private String method2(String s2){
...
}
}
Итак, если два разных пользователя создают экземпляр MyClass
, например:
MyClass instanceOfUser1 = new MyClass();
MyClass instanceOfUser2 = new MyClass();
Знает ли каждый пользователь в своем потоке копию методов MyClass
? Если да, переменные экземпляра являются потокобезопасными, если только методы экземпляра ими управляют, правильно?
Я задаю этот вопрос, потому что часто читаю, что переменные экземпляра не являются потокобезопасными. И я не понимаю, почему так должно быть, когда каждый пользователь получает экземпляр, вызывая оператор new
?