Java Concurrency in Practice

Java Concurrency in Practice

  1. Become the best by practicing your art

  2. Moore’s law

  3. Amdahl’s Law

  4. Should be read cover to cover.

  5. Java Specialist -> newsletter -> check that out

  6. Don’t just think of low level design such as code changes -> but try to think of the design level policies and patterns

  7. TheServerSide -> blogposts

  8. Effective Java

  9. Website -> https://www.javaconcurrencyinpractice.com -> check this site for complete code examples

  10. What is JSR ?

  11. Before operating system one program runs on the bare metal

  12. After operating systems we can run multiple processes at once a. Resource Utilization : so lets say there is a process which is running on a processor , so when the process is waiting for input or output during that time we can give the processor to other process

b. Fairness : all users should have fair share on the resources
c. Convenience : a big program can be divided into smaller program and smaller programs will

13. The manufacturer if teakettles and toasters know their products are often used in an asynchronous manner,so they raise an audible signal when they complete their task. -> post this

14. To become a efficient human being you need to learn how to do work in asynchronous manner a. Your money is growing in stock market while you are doing some other work b. Water is heating while you were working. c. While build is running in background and you can work on some other task

15. Automate and Asynchrnoized work in my life -> pending

16. A process has its own memory and file handles a. In a process there could be multiple threads b. And threads will share the memory of that process c. Each thread will have its own -> program counter, call stack and local variables. d. All threads in a process have access to variables and allocate memory from same heap e. So if there is no explicit synchronization a thread can modify a shared data , which is used by another thread -> can cause unpredictable results.

17. In GUI application threads can be useful responsiveness a. And in server application it can improve resource utilization

18. What is blocking and non blocking I/O

19. what is main event loop and what is event dispatch thread.

20. What is esoteric ?

21. Phrases to use to sound as a smart ass developers keywords

22. How to increase safety in your code ?

23. There could be performance issue due to context switching of threads

24. Encapsulating the thread safety in the shared objects.

25. What is Remote Method Invocation.

Chapter 2 : Thread Safety