http://tutorials.jenkov.com/dependency-injection/index.html This video explains dependency injection in 5 minutes. While dependency injection may not be the silver bullet that solves all problems, dependency injection is still a nice tool in any developers tool belt. Check out the corresponding 10 texts in my dependency injection tutorial too, by clicking the link first in the description.
...
https://www.youtube.com/watch?v=Hm2fTv9wikI
Java has a set of thread signaling features that enable one Java thread to coordinate its actions with another. These basic thread signaling features are provided via the Object class wait() , notify() and notifyAll() methods.
When implementing thread signaling in Java you need to be aware of the problem of missed signals and spurious wakeups. I cover both in this video too.
Chapters:
0:00 Java Thread signaling introduction - wait(), notify() and notifyAll()
1:50 Calling wait(), notify() or notifyAll() must be done from within a synchronized block
2:31 Calling wait() releases the synchronization lock
5:50 Designing a thread signaling class in Java
9:17 Missed signals
17:24 notify() vs. notifyAll()
19:24 Spurious wakeups
Java Thread Signaling - text:
https://jenkov.com/tutorials/java-concurrency/thread-signaling.html
Java Concurrency - text:
https://jenkov.com/tutorials/java-concurrency/thread-signaling.html
Java Concurrency - playlist:
https://www.youtube.com/playlist?list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
...
https://www.youtube.com/watch?v=EgOjklzlnFw
Java Lambda Expressions cannot have their own state, like other classes can. The only way a Java lambda expression can have any kind of internal state is by referencing a variable declared outside the lamdba expression. This video explains how that is done, and the rules for doing so.
This video is part of a playlist on Java lambda expressions which you can see here:
https://www.youtube.com/playlist?list=PLL8woMHwr36HQhhPPdV_T8rigbuywMpD7
I also have a text version of the Java lambda expression playlist here:
http://tutorials.jenkov.com/java/lambda-expressions.html
...
https://www.youtube.com/watch?v=kBc8S40HdoM
The Java Ternary Operator functions like a simple if-statement which is able to return a value. In other words, the Java ternary operator is an expression. This Java Ternary Operator tutorial explains how the ternary operator works, how to chain multiple Java ternary operators into a single, more advanced expression etc.
Textual version of this Java Ternary Operator tutorial:
http://tutorials.jenkov.com/java/ternary-operator.html
...
https://www.youtube.com/watch?v=3RyQiWyFkt4
The Java BlockingQueue interface represents a queue which can block threads inserting elements into the queue if the BlockingQueue is full, or thread removing elements from the queue if the BlockingQueue is empty.
Chapters:
0:00 Java BlockingQueue introduction
1:43 BlockingQueue interface implementations
...
https://www.youtube.com/watch?v=WZhGkvrp1H0
You have several ways to display SVG in browsers. You can either store the SVG in its own file and reference that file from inside an HTML page, or embed SVG directly in your HTML.
...
https://www.youtube.com/watch?v=ETnIHQHneUE
Structural software design is about how you structure your software internally. There are three core elements to structural design which I cover in this video. I also give an example of how a simple functional requirement can be implemented using three different designs.
Twitter: @jjenkov
LinkedIn: https://www.linkedin.com/in/jakob-jenkov-4a3a8/
Structural Software Design - Text:
https://jenkov.com/tutorials/software-design/structural-software-design.html
Software Design Goals - Video:
https://www.youtube.com/watch?v=x5Ruv5jotQk&list=PLL8woMHwr36HWMaOTIiWNf_fYYkZCHPxo&index=3
Software Design - Playlist:
https://www.youtube.com/playlist?list=PLL8woMHwr36HWMaOTIiWNf_fYYkZCHPxo
Software Design - Text:
https://jenkov.com/tutorials/software-design/index.html
#softwaredesign #softwaredevelopment #softwareengineering
...
https://www.youtube.com/watch?v=bj9DoZsu7Ls
The Java Lock interface represents a concurrent lock which can make sure only one thread at a time can lock the lock, perform its critical logic atomically, and unlock the lock again. A Java Lock is similar to a Java Synchronized block, but is more flexible and has more features.
A Java Lock can be reentrant, meaning the same thread can lock the Lock more than one time. The Lock must then be unlocked the same number of times before it is fully unlocked for other threads.
A Java Lock can guarantee fairness among threads waiting to lock the Lock, meaning the threads will be guaranteed to be allowed to lock the Lock in the same sequence the threads called the Lock.lock() method. This prevents the situation of starvation, where a waiting thread is never allowed to lock the Lock because other threads keep "passing" it in the waiting queue.
Chapters:
0:00 Java Lock and ReentrantLock introduction
2:02 Two concurrent Counter class examples
3:38 Lock and unlock the Lock inside a try-finally clause
5:00 Lock reentrance
7:03 Lock reentrance use case
10:24 Lock fairness
14:40 Lock examples
19:25 Lock.lockInterruptibly()
20:42 Lock.tryLock()
24:04 ReentrantLock methods
26:07 Java Lock vs. synchronized blocks - differences and similarities.
Java Lock Tutorial - text:
http://tutorials.jenkov.com/java-util-concurrent/lock.html
Java Synchronized Blocks - text / video:
http://tutorials.jenkov.com/java-concurrency/synchronized.html
https://www.youtube.com/watch?v=eKWjfZ-TUdo&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4&index=5
Reentrance Lockout - text:
http://tutorials.jenkov.com/java-concurrency/reentrance-lockout.html
Starvation and Fairness - text:
/java-concurrency/starvation-and-fairness.html
Java Concurrency tutorial - text / video playlist:
http://tutorials.jenkov.com/java-concurrency/index.html
https://www.youtube.com/playlist?list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
...
https://www.youtube.com/watch?v=MWlqrLiscjQ