Blog

Deadlock Prevention, Avoidance, Detection and Recovery in Operating Systems

You have already seen what deadlock is and the necessary conditions for a deadlock to happen. We can try to prevent or avoid deadlock, and if that doesn’t work out, we should detect deadlock and try to recover from deadlock.

 

Deadlock in Operating Systems

System resources (e.g. CPU time, Memory space, I/O devices such as printers etc.) are finite, and many processes will be competing for these resources.  If the requested resource is not readily available, the processes will have to wait. If each process holds a resource and wait for another resource, which is held by another waiting process, and if it finally forms a circular wait sequence, where everyone will be waiting indefinitely without getting the resource, it will result in a deadlock.

 

Introduction to Memory Management in Java

Objects in Java are allocated on the heap. The heap is an area of memory that is used for dynamically allocated memory, such as objects. In Java, objects allocated in a program are later released by the JVM through a process called Garbage collection which is performed automatically by the JVM. An application has little control over this process. There are also other tyoes of memory available in Java. 

Out of Memory Errors in Java

This note will provide a quick overview of different out of memory errors you might enounter, how to identify the type of the error, how you can analyze them further and how you can try to avoid them in future. We will also see some JVM flags which can help us in this analysis.

We will see the four main cases of out of memory error:

  1. Not enough native memory for JVM

  2. Not enough permgen/metaspace memory in heap

  3. Not enough heap memory

Finalize Method in Java - Why Not To Use, Limited Use Cases and Alternatives

Every class in Java has a finalize() method inherited from the Object class, which will be called by GC when the object is eligible for garbage collection. Main purpose of this method is to perform any cleanup actions before the object is completely discarded by GC. However, the finalize method may take any action, including making this object available again to other threads. The finalize method of class Object does nothing; it simply returns normally.

Pages

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)