Comments (6)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
Артём
Level 41
7 January 2020, 05:48
если есть объект, у которого есть final-поле, то этот объект можно будет использовать только после установки этого final-поля (и всего, на что это поле может ссылаться). Не стоит, впрочем, забывать, что если вы передадите из конструктора ссылку на конструируемый объект (т.е. this) наружу, то кто-то может увидеть ваш объект в недостроенном состоянии. достаточно сделать поле, запись в которое происходит последней, final, как всё магически заработает и без volatile и без синхронизации каждый раз
Артём
Level 41
15 September 2019, 12:34
InputStream
Артём
Level 41
15 September 2019, 12:21
OutputStream
Артём
Level 41
30 August 2019, 07:45
Если бы метод был бы статическим , то он был бы общим для всех объектов , и блокировался доступ для всех нитей , которые обращаются к этому методу. Обратите внимание , что есть мьютекс объекта и мьютекс класса . Если нить обращается к не статическому методу , то блокируется мьютекс этого объекта и ВСЕ НЕ статические синхронизированные методы этого объекта становятся заблокированными. Если нить обращается к статическому методу ( а он общий для всех ) то блокируется мьютекс класса и ВСЕ СТАТИЧЕСКИЕ методы становятся заблокированными. Но если у объекта один синхронизированный метод статический , а другой синхронизированный метод не статический они могут одновременно выполняться .
Артём
Level 41
22 August 2019, 17:36
// 1.
for (Map.Entry<String, String> entry: hashmap.entrySet())
    System.out.println(entry.getKey() + " = " + entry.getValue());

// 2.
for (String key: hashmap.keySet())
    System.out.println(hashmap.get(key));

// 3.
Iterator<Map.Entry<String, String>> itr = hashmap.entrySet().iterator();
while (itr.hasNext())
    System.out.println(itr.next());
Артём
Level 41
18 July 2019, 12:42
kaizen way..