Комментарии (18)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Артём41 уровень
7 January, 05:48
если есть объект, у которого есть final-поле, то этот объект можно будет использовать только после установки этого final-поля (и всего, на что это поле может ссылаться). Не стоит, впрочем, забывать, что если вы передадите из конструктора ссылку на конструируемый объект (т.е. this) наружу, то кто-то может увидеть ваш объект в недостроенном состоянии. достаточно сделать поле, запись в которое происходит последней, final, как всё магически заработает и без volatile и без синхронизации каждый раз
Артём41 уровень
15 September 2019, 12:34
InputStream
Артём41 уровень
15 September 2019, 12:21
OutputStream
Артём41 уровень
14 September 2019, 06:35
Артём41 уровень
10 September 2019, 16:28
Артём41 уровень
6 September 2019, 16:29
Артём41 уровень
3 September 2019, 07:35
if (inputStream.available() > 0) {
            //читаем весь файл одним куском
            byte[] buffer = new byte[inputStream.available()];
            int count = inputStream.read(buffer);
            outputStream.write(buffer, 0, count);
        }
Артём41 уровень
3 September 2019, 06:41
while (!result.isEmpty()) {
            System.out.print(result.get(result.size()-1) + " ");
            result.remove(result.get(result.size()-1));
        }

while (!list.isEmpty())        {
            System.out.print(list.last() + " ");
            list.remove(list.last());
        }
Артём41 уровень
31 August 2019, 17:14
Артём41 уровень
30 August 2019, 07:45
Если бы метод был бы статическим , то он был бы общим для всех объектов , и блокировался доступ для всех нитей , которые обращаются к этому методу. Обратите внимание , что есть мьютекс объекта и мьютекс класса . Если нить обращается к не статическому методу , то блокируется мьютекс этого объекта и ВСЕ НЕ статические синхронизированные методы этого объекта становятся заблокированными. Если нить обращается к статическому методу ( а он общий для всех ) то блокируется мьютекс класса и ВСЕ СТАТИЧЕСКИЕ методы становятся заблокированными. Но если у объекта один синхронизированный метод статический , а другой синхронизированный метод не статический они могут одновременно выполняться .