некоректност 4

некоректност com.javarush.test.level17.lesson10.home04

След два дни на изтезания и golovolomaniya, успях, макар и с polutyka, получи одобрението на сървъра. Тук са само правилната оценка на работата не съм съгласен, и аз ще обясня защо.







Нека да напомним на състоянието:


И моето разсъждение:
Метод 0. Не пипайте. Задава локалната променлива метод 3, което синхронизира (вж. И т.н.)
Метод 1: Не пипайте. Това създава нов случай на клас, който нарича метод и 0, което също води до синхронизирано метод 3.
Метод 2: Не пипайте. Само тя работи с метода на спор, който дори не е отправна точка.
Метод 3. Сложете синхронизирани. Очевидно тя се променя нашия пример за област клас.
Метод 4. Не докосвайте. Да, областта променя инстанция на класа, но не е StringBuilder нишка безопасно, но методът е лично и в рамките на този клас никой не плаща. (Наблюдавани някъде в Стария този метод Privat е възможно, тъй като тази кауза с помощта на барабан и магьосничество, но не nifiga разбирам, и не мисля, че това е било взето предвид при подготовката на проблема)
Метод 5. Не докосвайте. Създава нова инстанция на StringBuffer (), и работи с тях, методът не променя аргумент.
Метод 6. Облечете синхронизирани. Тя работи с изход в конзолата. Той се променя нашата област проба клас.
Метод 7. Не докосвайте. С споделени ресурси не работи. Това не променя нищо. никой не го докосва.

Общо най-малко не е ясно погрешни и неправилни методи. (Кой реши, че трябва да знаеш какво)
Разбира се, това обърква младите Padawans и темата вече е доста сложна.
Всичко това е само мое лично мнение. Аз питам знаейки засили моята вяра в правотата или да обясни къде и защо греша. Благодаря предварително.






Метод 0 - съгласен,
Метод 1 - когато обект е създаден в метода на разтвор преизчислява стойността на параметър. Следователно, синхронизиране,
Метод 2 - Съгласен съм,
Метод 3 - съгласен,
Метод 4 - варира поле клас, който в този клас е наречен с 6,
Метод 5 - Съгласен съм,
Метод 6 - съгласен,
Метод 7 - Съгласен съм.

Може да се добавят около 4 методи, които StringBuilder клас не съдържа стандартна синхронизация, като StringBuffer, така че 4 за синхронизиране метод)

Клас решение ще се използва нишки, т.е. други външни класа (наследени от темата) ще използва копие от нашето решение, както и Metod04 обявен като лични. тогава можем да бъдем сигурни, че няма външно клас или потомък клас в нашия клас няма да имат достъп до този метод (не може да го наречем). Ето какво не е ясно - защо синхрон метод, който никой никога няма да причини ... освен, че единственото решение самия клас, в който някои публични методи, но по подразбиране изглежда да се смята, че дизайнът на този клас, даден в проблема е пълен ...

Да, но ако нашият клас обект ще се използват при спазване на резбата:
Какво ще стане, можете да го използвате, ще трябва да приложи Изпълнима интерфейс и следователно методът за, и например, че ще се нарича method4
след това се оказва, че няколко теми, могат да получат достъп до този метод, по същото време (ако не е синхронизиран)

за metoda1 благодарение - заверено. Но това не е съвсем ясно. - ОК, когато бъде призован metoda1 създаде на обекта и да причини методи 0 и 3, и преизчисли параметъра, но това, че параметъра, ще prinalezhat този нов обект. Когато припомняйки методът ще създаде нов обект и т.н. Проверих - 2 пъти, наречена method1 - и е създал два различни обекта

Аз не знам кой и как се този проблем, но аз я разбира така - необходимо, за да изпълни условията на проблема, а именно - да се синхронизира методите, които yuzayut общи "ресурси" и метода на +, която създава нов обект от клас Solution. Състоянието и е написано - клас решение Съоръжението ще бъде използвано нишки, така че ...

той е служил като улика, и това е съвсем логично за мен.

Задачата предадени, но отговорът не е така. Искам да разбера.