Skip to content

Commit 92a5503

Browse files
authored
Merge pull request #2392
newMain
2 parents 3094c58 + 4045869 commit 92a5503

File tree

12 files changed

+65
-20
lines changed

12 files changed

+65
-20
lines changed

2.JavaCore/src/com/javarush/task/jdk13/task28/task2801/Solution.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,17 @@ public void run() {
2929

3030
private static void emulateThreadFactory() {
3131
AmigoThreadFactory factory = new AmigoThreadFactory();
32-
Runnable r = new Runnable() {
32+
Runnable runnable = new Runnable() {
3333
@Override
3434
public void run() {
3535
System.out.println(Thread.currentThread().getName());
3636
}
3737
};
38-
factory.newThread(r).start();
39-
factory.newThread(r).start();
40-
factory.newThread(r).start();
38+
Runnable r = () -> System.out.println(Thread.currentThread().getName());
39+
40+
factory.newThread(runnable).start();
41+
factory.newThread(runnable).start();
42+
factory.newThread(runnable).start();
4143
}
4244

4345
public static class AmigoThreadFactory implements ThreadFactory {

2.JavaCore/src/com/javarush/task/jdk13/task28/task2801/Условие.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
### Пишем свою ThreadFactory
33

44
В классе Solution создай публичный статический класс AmigoThreadFactory, реализующий интерфейс ThreadFactory.
5-
1. Реализация интерфейсного метода - создай и верни трэд, который должен:
6-
1.1. не быть демоном,
7-
1.2. иметь нормальный приоритет,
8-
1.3. имя трэда должно иметь шаблон "GN-pool-A-thread-B", где
9-
GN - это имя группы,
10-
A - это номер фабрики инкрементируется в пределах класса начиная с 1, используй AtomicInteger,
5+
1. Реализация интерфейсного метода - создай и верни трэд, который должен:\
6+
1.1. не быть демоном,\
7+
1.2. иметь нормальный приоритет,\
8+
1.3. имя трэда должно иметь шаблон "GN-pool-A-thread-B", где\
9+
GN - это имя группы,\
10+
A - это номер фабрики инкрементируется в пределах класса начиная с 1, используй AtomicInteger, \
1111
B - номер треда инкрементируется в пределах конкретной фабрики начиная с 1, используй AtomicInteger.
1212
2. Каждая фабрика должна иметь ту группу тредов (ThreadGroup), в которой она была создана.
1313
3. Методы main и emulateThreadFactory не участвуют в тестировании.

2.JavaCore/src/com/javarush/task/task19/task1914/Solution.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@ public static void main(String[] args) throws IOException {
2727

2828
int numberTwo = Integer.parseInt(strings[2]);
2929

30+
int a = switch (strings[1]) {
31+
case "+" -> numberOne + numberTwo;
32+
case "-" -> numberOne - numberTwo;
33+
case "*" -> numberOne * numberTwo;
34+
default -> 0;
35+
};
36+
3037
String result = switch (strings[1]) {
3138
case "+" -> numberOne + " + " + numberTwo + " = " + (numberOne + numberTwo);
3239
case "-" -> numberOne + " - " + numberTwo + " = " + (numberOne - numberTwo);

3.JavaMultithreading/src/com/javarush/task/jdk13/task41/task4103/blood/DB.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import java.util.List;
44

55
public interface DB {
6+
67
BloodSample getById(int id);
8+
79
List<BloodSample> find(String request);
810
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.javarush.task.jdk13.task41.task4104;
22

33
public interface Creature {
4+
45
void move();
6+
57
void sound();
68
}

3.JavaMultithreading/src/com/javarush/task/jdk13/task41/task4108/middles/JavaMiddle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javarush.task.jdk13.task41.task4108.middles;
22

3-
public class JavaMiddle implements MiddleDeveloper{
3+
public class JavaMiddle implements MiddleDeveloper {
44

55
public void writeNewModule() {
66
System.out.println("Пишет новый десктопное приложение.");

3.JavaMultithreading/src/com/javarush/task/jdk13/task41/task4112/Bowling.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public synchronized Track acquireTrack() {
3131

3232
Track track = tracks.poll();
3333
if (nonNull(track)) track.setPrice(100 - tracks.size() * 10);
34+
3435
return track;
3536
}
3637

3.JavaMultithreading/src/com/javarush/task/jdk13/task41/task4112/Условие.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
Тебе нужно изменить этот функционал, используя объектные пулы:
1414
1) в класс Bowling добавь два приватных финальных поля: Queue&lt;Track&gt; tracks и Queue&lt;PairOfShoes&gt; shoesShelf;
1515
2) в имеющемся конструкторе Bowling заполни поля tracks и shoesShelf объектами:
16-
- в очередь tracks добавь tracksNumber объектов с номерами от 1 до tracksNumber. Поле price пока можно не трогать;
17-
- в очередь shoesShelf добавь 50 пар обуви с размером от 38 до 45;
16+
- в очередь tracks добавь tracksNumber объектов с номерами от 1 до tracksNumber.
17+
- в очередь shoesShelf добавь 50 пар обуви с размером от 38 до 45; Поле price пока можно не трогать;
1818
3) измени код метода acquireTrack. Он должен получать и удалять дорожку из головы очереди tracks.
1919
Полученной дорожке нужно установить цену, высчитанную по формуле 100 - tracks.size() * 10 и вернуть эту дорожку.
2020
Если очередь оказалась пуста, то вернуть null.

3.JavaMultithreading/src/com/javarush/task/jdk13/task41/task4113/Solution.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class Solution {
1212
public static void main(String[] args) {
1313
getIterators().stream()
1414
.map(i -> i.getClass().getCanonicalName())
15-
.sorted()
15+
// .sorted()
1616
.forEach(System.out::println);
1717
}
1818

@@ -22,6 +22,9 @@ public static List<Iterator<?>> getIterators() {
2222
list.add(new ArrayList<>(List.of()).iterator());
2323
list.add(new LinkedList<>(List.of()).iterator());
2424
list.add(new Vector<>(List.of()).iterator());
25+
Stack<Object> stack = new Stack<>();
26+
stack.add(new Object());
27+
list.add(stack.iterator());
2528

2629
list.add(new PriorityQueue<>(List.of()).iterator());
2730
list.add(new ArrayDeque<>(List.of()).iterator());
@@ -39,20 +42,26 @@ public static List<Iterator<?>> getIterators() {
3942
list.add(new TreeMap<>(Map.of()).keySet().iterator());
4043
list.add(new TreeMap<>(Map.of()).values().iterator());
4144

45+
list.add(new CopyOnWriteArrayList<>(List.of()).iterator());
46+
4247
list.add(new DelayQueue<>(List.of()).iterator());
43-
list.add(new LinkedBlockingQueue<>(List.of()).iterator());
44-
list.add(new LinkedBlockingDeque<>(List.of()).iterator());
4548
list.add(new ConcurrentLinkedQueue<>(List.of()).iterator());
4649
list.add(new ConcurrentLinkedDeque<>(List.of()).iterator());
50+
list.add(new LinkedBlockingQueue<>(List.of()).iterator());
51+
list.add(new LinkedBlockingDeque<>(List.of()).iterator());
52+
list.add(new PriorityBlockingQueue<>(List.of()).iterator());
53+
4754
list.add(new ConcurrentSkipListSet<>(List.of()).iterator());
48-
list.add(new CopyOnWriteArrayList<>(List.of()).iterator());
4955
list.add(new CopyOnWriteArraySet<>(List.of()).iterator());
50-
list.add(new PriorityBlockingQueue<>(List.of()).iterator());
56+
5157
list.add(new ConcurrentHashMap<>(Map.of()).keySet().iterator());
5258
list.add(new ConcurrentHashMap<>(Map.of()).values().iterator());
5359
list.add(new ConcurrentSkipListMap<>(Map.of()).keySet().iterator());
5460
list.add(new ConcurrentSkipListMap<>(Map.of()).values().iterator());
5561

62+
list.add(new WeakHashMap<>(Map.of()).keySet().iterator());
63+
list.add(new WeakHashMap<>(Map.of()).values().iterator());
64+
5665
return list;
5766
}
5867
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
DROP TABLE IF EXISTS employee;
2+
3+
CREATE TABLE employee
4+
(
5+
`id` INT not null auto_increment primary key ,
6+
`position` VARCHAR(100) not null,
7+
`salary` INT not null,
8+
`city` VARCHAR(200) not null
9+
);
10+
insert into employee (id, position, salary, city)
11+
values (1, 'developer', 6000, 'London'),
12+
(3, 'hr', 2500, 'Berlin'),
13+
(4, 'manager', 4300, 'London'),
14+
(2, 'manager', 5000, 'Warsaw'),
15+
(7, 'designer', 2500, 'London'),
16+
(8, 'qa', 2000, 'Bucharest'),
17+
(9, 'developer', 3300, 'London'),
18+
(15, 'designer', 7100, 'Stockholm'),
19+
(16, 'courier', 3800, 'Warsaw'),
20+
(19, 'designer', 6200, 'Berlin'),
21+
(20, 'manager', 11000, 'London');

0 commit comments

Comments
 (0)