JAVA. ЗАДАЧА 17.10.09. ОЧЕНЬ ПОЛЕЗНАЯ ЗАДАЧА. МАССИВЫ. ЗАПИСЬ И УДАЛЕНИЕ ФАЙЛОВ.

ПРИНЯТОЕ РЕШЕНИЕ: package com.javarush.test.level17.lesson10.home09; import java.io.*; import java.util.*; /* Транзакционность Сделать метод joinData транзакционным, т.е. если произошел сбой, то данные не должны быть изменены. 1. Считать с консоли 2 имени файла 2. Считать построчно данные из файлов. Из первого файла - в allLines, из второго - в forRemoveLines В методе joinData: 3. Если список allLines [...]

JAVA. ЗАДАЧА 17.10.08. СИНХРОНИЗАЦИЯ.

package com.javarush.test.level17.lesson10.home08; /* Банкомат Разберись, как работает программа Во время тестирования лог содержит следующее: ..... Добавляем 100, на счету 1100 Добавляем 100, на счету 1200 Тратим 1000, на счету 100 Недостаточно денег ..... Создан баг: При списании денег со счета теряются деньги Найти и исправить ошибку */ public class Bankomat { static BankAccount account = [...]

By | Октябрь 4th, 2016|Categories: Уровень 17|Tags: |0 Comments

JAVA. ЗАДАЧА 17.10.10. СИНХРОНИЗАЦИЯ. ХРЕН ПОЙМИ.

package com.javarush.test.level17.lesson10.home10; /* Посчитаем 1. Сделай так, чтобы результат успел посчитаться для всех элементов массива values НЕ используя Thread.sleep 2. Исправь synchronized блок так, чтобы массив values заполнился значением 1 */ public class Solution { public static void main(String[] args) throws InterruptedException { Counter counter1 = new Counter(); Counter counter2 = new Counter(); Counter counter3 [...]

By | Октябрь 4th, 2016|Categories: Уровень 17|Tags: |0 Comments

JAVA. ЗАДАЧА 17.02.01. ПОТОКИ.

package com.javarush.test.level17.lesson02.task01; import java.util.ArrayList; import java.util.List; /* Заметки 1. Класс Note будет использоваться нитями. 2. Создай public static нить NoteThread (Runnable не является нитью), которая в методе run 1000 раз (index = 0-999) сделает следующие действия: 2.1. используя метод addNote добавит заметку с именем [getName() + "-Note" + index], например, при index=4 "Thread-0-Note4" 2.2. используя [...]

By | Сентябрь 26th, 2016|Categories: Уровень 17|Tags: |0 Comments

JAVA. ЗАДАЧА 17.06.02. VOLATILE.

package com.javarush.test.level17.lesson06.task02; /* Предложения Не используя synchronized сделайте так, чтобы количество сделанных и принятых предложений было одинаковым. */ public class Solution { public static volatile int proposal = 0; public static void main(String[] args) { new MakeProposal().start(); new AcceptProposal().start(); } public static class MakeProposal extends Thread { @Override public void run() { int thisProposal = [...]

By | Сентябрь 25th, 2016|Categories: Уровень 17|Tags: |0 Comments

JAVA. ЗАДАЧА 17.06.01. VOLATILE.

package com.javarush.test.level17.lesson06.task01; import java.util.ArrayList; import java.util.List; /* Заметки для всех Класс Note будет использоваться нитями. Поэтому сделай так, чтобы лист notes находился в общей памяти */ public class Solution { public static class Note { public volatile List<String> notes = new ArrayList<String>(); public void addNote(int index, String note) { System.out.println("Сейчас будет добавлена заметка [" + [...]

By | Сентябрь 25th, 2016|Categories: Уровень 17|Tags: |0 Comments

JAVA. ЗАДАЧА 17.04.04. СИНГЛТОН. ИНИЦИАЛИЗАЦИЯ ЧЕРЕЗ СИНХРОНИЗАЦИЮ.

package com.javarush.test.level17.lesson04.task04; /* Синхронизированный президент И снова Singleton паттерн - синхронизация в статическом блоке Внутри класса OurPresident в статическом блоке создайте синхронизированный блок. Внутри синхронизированного блока инициализируйте president. */ public class Solution { public static class OurPresident { private static OurPresident president; private OurPresident() { } public static OurPresident getOurPresident() { return president; } static [...]

By | Сентябрь 25th, 2016|Categories: Уровень 17|Tags: , |0 Comments

JAVA. ЗАДАЧА 17.04.03. СИНХРОНИЗАЦИЯ.

package com.javarush.test.level17.lesson04.task03; import java.util.ArrayList; import java.util.List; /* Сад-огород 1. Создайте метод public void addFruit(int index, String fruit) - который добавляет параметр fruit в лист fruits на позицию index 2. Создайте метод public void removeFruit(int index) - который удаляет из fruits элемент с индексом index 3. Создайте метод public void addVegetable(int index, String vegetable) - который [...]

By | Сентябрь 25th, 2016|Categories: Уровень 17|Tags: |0 Comments

JAVA. ЗАДАЧА 17.04.05. СИНГЛТОН. РЕАЛИЗАЦИЯ ЧЕРЕЗ СИНХРОНИЗАЦИЮ.

package com.javarush.test.level17.lesson04.task05; /* МВФ Singleton паттерн - синхронизация в методе IMF - это Международный Валютный Фонд Внутри метода getFund создайте синхронизированный блок Внутри синхронизированного блока инициализируйте переменную imf так, чтобы метод getFund всегда возвращал один и тот же объект */ public class Solution { public static class IMF { private static IMF imf; public static [...]

By | Сентябрь 25th, 2016|Categories: Конспекты, Полезные задачи, Уровень 17|Tags: , |0 Comments

JAVA. ЗАДАЧА 17.04.02. SYNCHRONIZED.

package com.javarush.test.level17.lesson04.task02; import java.util.ArrayList; import java.util.List; /* Синхронизированные заметки 2 Класс Note будет использоваться нитями. Поэтому сделай так, чтобы вcе методы были синхронизированы */ public class Solution { public static class Note { public final List<String> notes = new ArrayList<String>(); public synchronized void addNote(int index, String note) { System.out.println("Сейчас будет добавлена заметка [" + note [...]

By | Сентябрь 21st, 2016|Categories: Уровень 17|Tags: |0 Comments