"Hej, soldat!"
"Goddag, kaptajn!"
"Jeg har fantastiske nyheder til dig. Her er nogle øvelser til at styrke dine færdigheder. Gør dem hver dag, og dine færdigheder vil vokse med en vanvittig hastighed. De blev skabt specielt til IntelliJ IDEA."
"De tidligere øvelser var for nybegyndere. Jeg har tilføjet nogle mere avancerede bonusøvelser til oldtimerne. Kun for veteraner."
18
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
Synchronized methods
Set the synchronized modifier only on the methods that need it.
The Solution object will be used by threads.
9
Opgave
Java Core, niveau, lektie
Superfluous synchronization
The synchronized keyword significantly slows a program, so remove unnecessary synchronized statements in methods.
5
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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
Opgave
Java Core, niveau, lektie
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