HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p><em>Мутируемые объекты</em>- такие объекты, в которых проходят любые процессы изменения состояния.</p>
1 <p><em>Мутируемые объекты</em>- такие объекты, в которых проходят любые процессы изменения состояния.</p>
2 <p>Ключевое слово final - используется для того, чтобы запретить изменять объект. Для примитивов final делает постоянным присвоенное значение. Для ссылки на объект -<strong>постоянной становится ссылка</strong>. Вся информация, которая находится в каждом объекте, устанавливается во время создания объекта и остается в таком состоянии до конца жизни объекта.</p>
2 <p>Ключевое слово final - используется для того, чтобы запретить изменять объект. Для примитивов final делает постоянным присвоенное значение. Для ссылки на объект -<strong>постоянной становится ссылка</strong>. Вся информация, которая находится в каждом объекте, устанавливается во время создания объекта и остается в таком состоянии до конца жизни объекта.</p>
3 <p>Сложные объекты(не примитивы), которые содержат в себе различные поля, будут полностью неизменяемые, если каждое поле объекта пометить как final. Иначе только ссылка на объект будет неизменяемой, чего не скажешь про содержимое объекта.</p>
3 <p>Сложные объекты(не примитивы), которые содержат в себе различные поля, будут полностью неизменяемые, если каждое поле объекта пометить как final. Иначе только ссылка на объект будет неизменяемой, чего не скажешь про содержимое объекта.</p>
4 <ul><li><p><strong>blank finals</strong>- поля классов, которые помечены как final, но не инициализированы. Перед использованием эти поля нужно в любом случае инициализировать (один только раз).</p>
4 <ul><li><p><strong>blank finals</strong>- поля классов, которые помечены как final, но не инициализированы. Перед использованием эти поля нужно в любом случае инициализировать (один только раз).</p>
5 </li>
5 </li>
6 <li><p><strong>Помечая метод как final</strong>- мы говорим что его нельзя будет переопределить.</p>
6 <li><p><strong>Помечая метод как final</strong>- мы говорим что его нельзя будет переопределить.</p>
7 </li>
7 </li>
8 <li><p><strong>Помечая класс как final</strong>- мы косвенно запрещаем переопределять все методы класса, поскольку такой класс не поддается наследованию.</p>
8 <li><p><strong>Помечая класс как final</strong>- мы косвенно запрещаем переопределять все методы класса, поскольку такой класс не поддается наследованию.</p>
9 </li>
9 </li>
10 </ul><p>// немного информации про многопоточность и масштабируемость, хоть про нее будет идти речь позже</p>
10 </ul><p>// немного информации про многопоточность и масштабируемость, хоть про нее будет идти речь позже</p>
11 <p>Важно написать распределенную многопоточную программу. В таком случае программа может быть разбита на кластеры, то есть одну сложную программу можно разложить на нескольких разных машинах, в соответствии с потребностями. Изменяемые объекты - почти всегда плохое решение; там, где можно от них отказаться нужно писать неизменяемые объекты.</p>
11 <p>Важно написать распределенную многопоточную программу. В таком случае программа может быть разбита на кластеры, то есть одну сложную программу можно разложить на нескольких разных машинах, в соответствии с потребностями. Изменяемые объекты - почти всегда плохое решение; там, где можно от них отказаться нужно писать неизменяемые объекты.</p>
12 <p>// I try to make as many things immutable as possible.</p>
12 <p>// I try to make as many things immutable as possible.</p>
13 <h2>Ссылки для прочтения</h2>
13 <h2>Ссылки для прочтения</h2>
14 <ul><li><a>Неизменяемый объект wiki</a>;</li>
14 <ul><li><a>Неизменяемый объект wiki</a>;</li>
15 <li><a>Теория и практика Java: Изменять или не изменять?</a>;</li>
15 <li><a>Теория и практика Java: Изменять или не изменять?</a>;</li>
16 </ul>
16 </ul>