"Hé, soldaat!"
"Goedendag, kapitein!"
"Ik heb geweldig nieuws voor je. Hier zijn enkele oefeningen om je vaardigheden te versterken. Doe ze elke dag en je vaardigheden zullen met waanzinnige snelheid groeien. Ze zijn speciaal gemaakt voor IntelliJ IDEA."
"Die vorige oefeningen waren voor rookies. Ik heb wat meer geavanceerde bonusoefeningen toegevoegd voor de oldtimers. Alleen voor veteranen."
18
Taak
Java Core, niveau 7, les 10
CRUD
CrUD: Create, Update, Delete.
The program runs with one of the following sets of arguments:
-c name sex bd
-u id name sex bd
-d id
-i id
Argument values:
name (String)
sex ("m" or "f")
bd (birth date in the following format: "04 15 1990")
-c (adds a person with the specified arguments to the end of
18
Taak
Java Core, niveau 7, les 10
CRUD 2
Batch CrUD: multiple Creations, Updates, Deletions.
The program runs with one of the following sets of arguments:
-c name1 sex1 bd1 name2 sex2 bd2 ...
-u id1 name1 sex1 bd1 id2 name2 sex2 bd2 ...
-d id1 id2 id3 id4 ...
-i id1 id2 id3 id4 ...
Argument values:
name (String)
sex ("m" or "f")
bd (birth
18
Taak
Java Core, niveau 7, les 10
Restaurant
1. Figure out what the program does. For some reason, the waiter isn't bringing the prepared dishes out to the tables :(
2. Fix the bug.
Hint: it's one line
18
Taak
Java Core, niveau 7, les 10
Shared list
1. Change the Solution class so that it becomes a list. (It must implement the java.util.List interface).
2. The Solution list should only work with Longs.
3. Use the original field.
4. The list will be used by threads, so you need to ensure that all the methods are synchronized.
9
Taak
Java Core, niveau 7, les 10
Comparable
Implement the Comparable interface in the Beach class. Beaches will be used by threads, so you need to ensure that all the methods are synchronized.
Implement the compareTo method so that when two beaches are compared the method returns a positive number if the first beach is better
or a nega
18
Taak
Java Core, niveau 7, les 10
Pharmacy
Implement the Runnable interface in the Pharmacy and Person classes.
All threads should run until isStopped is true.
Here's the logic for the Pharmacy class: drugController should make a random drug purchase (getRandomDrug) in a random amount (getRandomCount) and wait 300 ms.
Here's the logic for th
5
Taak
Java Core, niveau 7, les 10
Synchronized methods
Set the synchronized modifier only on the methods that need it.
The Solution object will be used by threads.
9
Taak
Java Core, niveau 7, les 10
Superfluous synchronization
The synchronized keyword significantly slows a program, so remove unnecessary synchronized statements in methods.
5
Taak
Java Core, niveau 7, les 10
Ironing
Back to the daily grind...
Add one synchronized keyword to make diana and steve take turns ironing, since there's only one iron!
Hint: Use class-level locking.
5
Taak
Java Core, niveau 7, les 10
ApplicationContext
The ApplicationContext class will be accessible by many threads.
Be sure that no data is lost: think about which keyword to put and where.
9
Taak
Java Core, niveau 7, les 10
ATM
Figure out how the program works.
During testing, the log was found to contain the following:
.....
Deposit 100, account balance 1100
Deposit 100, account balance 1200
Spend 1000, account balance 100
Insufficient money
.....
There's a bug: Money is lost when debiting an account.
Find and fix the bug.
18
Taak
Java Core, niveau 7, les 10
Transactionality
Make the joinData method transactional, i.e. if it fails, then the data must not be changed.
1. Read 2 file names from the console.
2. Read from the files line by line. Read from the first file into allLines, from the second file — into linesForRemoval.
In the joinData method:
3. If the allLines lis
9
Taak
Java Core, niveau 7, les 10
Let's count
1. Make it so that the result is calculated for all the array elements, WITHOUT using Thread.sleep in the main(String[] args) method.
2. Correct the synchronized block so that the values array is filled with 1s