{"id":226,"date":"2024-08-19T18:48:49","date_gmt":"2024-08-19T17:48:49","guid":{"rendered":"https:\/\/slothnerds.com\/?page_id=226"},"modified":"2024-08-19T18:48:49","modified_gmt":"2024-08-19T17:48:49","slug":"core-java-all-topics","status":"publish","type":"page","link":"https:\/\/slothnerds.com\/index.php\/core-java-all-topics\/","title":{"rendered":"Core Java &#8211; All Topics"},"content":{"rendered":"\n<figure class=\"wp-block-table aligncenter\"><table><tbody><tr><td>Topic<\/td><td>Sub-Topics<\/td><\/tr><tr><td>JVM Architecture &amp; Garbage Collection<\/td><td>Java Virtual Machine Architecture<\/td><\/tr><tr><td><\/td><td>Class Loading<\/td><\/tr><tr><td><\/td><td>Linking<\/td><\/tr><tr><td><\/td><td>Reflection<\/td><\/tr><tr><td><\/td><td>Runtime Data Areas<\/td><\/tr><tr><td><\/td><td>Method Area &amp; Heap<\/td><\/tr><tr><td><\/td><td>Method Table<\/td><\/tr><tr><td><\/td><td>Garbage Collection: Introduction<\/td><\/tr><tr><td><\/td><td>Garbage Collection Algorithms<\/td><\/tr><tr><td><\/td><td>GC: Generational Collections<\/td><\/tr><tr><td><\/td><td>Demo: Tuning Heap &amp; Analyzing GC Cycles<\/td><\/tr><tr><td><\/td><td>gc() and finalise() methods<\/td><\/tr><tr><td><\/td><td>Mark and Sweep<\/td><\/tr><tr><td><\/td><td>Detecting soft leaks<\/td><\/tr><tr><td><\/td><td>Permgen and Metaspace<\/td><\/tr><tr><td><\/td><td>Heap Size<\/td><\/tr><tr><td><\/td><td>Permgen Size<\/td><\/tr><tr><td><\/td><td>Garbage Collection and Generation sizes<\/td><\/tr><tr><td><\/td><td>Generating Heap Dumps<\/td><\/tr><tr><td><\/td><td>Choosing a garbage collector<\/td><\/tr><tr><td><\/td><td>Memory Leak Example<\/td><\/tr><tr><td>OOPs<\/td><td>Class &amp; Objects<\/td><\/tr><tr><td><\/td><td>Variables: Primitive Types<\/td><\/tr><tr><td><\/td><td>Variables: Type Casting<\/td><\/tr><tr><td><\/td><td>Autoboxing<\/td><\/tr><tr><td><\/td><td>Encapsulation &#8211; Access Specifiers<\/td><\/tr><tr><td>Inheritance<\/td><td>Diamond Problem<\/td><\/tr><tr><td><\/td><td>Final Keyword<\/td><\/tr><tr><td>Polymorphism<\/td><td>Compile Time Polymorphism<\/td><\/tr><tr><td><\/td><td>Runtime Polymorphism<\/td><\/tr><tr><td>Abstraction<\/td><td>Abstract Class<\/td><\/tr><tr><td><\/td><td>Interfaces<\/td><\/tr><tr><td><\/td><td>Marker Interface<\/td><\/tr><tr><td><\/td><td>Functional Interface<\/td><\/tr><tr><td><\/td><td>default and static methods in Interfaces<\/td><\/tr><tr><td>Arrays<\/td><td>Linear Array<\/td><\/tr><tr><td><\/td><td>2D Array<\/td><\/tr><tr><td>String<\/td><td>String<\/td><\/tr><tr><td><\/td><td>String Pool<\/td><\/tr><tr><td><\/td><td>StringBuilder<\/td><\/tr><tr><td><\/td><td>StringBuffer<\/td><\/tr><tr><td>Exceptions<\/td><td>Checked &amp; Unchecked Exceptions<\/td><\/tr><tr><td><\/td><td>Throws<\/td><\/tr><tr><td><\/td><td>Throw<\/td><\/tr><tr><td><\/td><td>Finally<\/td><\/tr><tr><td><\/td><td>try-with-resources<\/td><\/tr><tr><td><\/td><td>Suppressed Exceptions<\/td><\/tr><tr><td><\/td><td>How to Create Custom Exception for your Project<\/td><\/tr><tr><td>Collections<\/td><td>Collection Interface<\/td><\/tr><tr><td><\/td><td>List Interface<\/td><\/tr><tr><td><\/td><td>ArrayList<\/td><\/tr><tr><td><\/td><td>LinkedList<\/td><\/tr><tr><td><\/td><td>Dequeues<\/td><\/tr><tr><td><\/td><td>Iterator<\/td><\/tr><tr><td><\/td><td>ArrayDeque<\/td><\/tr><tr><td><\/td><td>Hash Table<\/td><\/tr><tr><td><\/td><td>LinkedHashSet<\/td><\/tr><tr><td><\/td><td>Set Interface &amp; HashSet + Demo + Overriding hashCode &amp; Equals<\/td><\/tr><tr><td><\/td><td>SortedSet &amp; NavigableSet<\/td><\/tr><tr><td><\/td><td>TreeSet (Comparable &amp; Comparator)<\/td><\/tr><tr><td><\/td><td>Exploring NavigableSet Methods<\/td><\/tr><tr><td><\/td><td>LinkedHashMap<\/td><\/tr><tr><td><\/td><td>SortedMap, NavigableMap and TreeMap<\/td><\/tr><tr><td><\/td><td>Concurrent Collections<\/td><\/tr><tr><td><\/td><td>Synchronized Collections<\/td><\/tr><tr><td><\/td><td>Latch<\/td><\/tr><tr><td><\/td><td>Cyclic barrier<\/td><\/tr><tr><td><\/td><td>Blocking queue<\/td><\/tr><tr><td><\/td><td>Delay queue<\/td><\/tr><tr><td><\/td><td>Priority queue<\/td><\/tr><tr><td><\/td><td>Concurrent maps<\/td><\/tr><tr><td><\/td><td>Exchanger<\/td><\/tr><tr><td><\/td><td><\/td><\/tr><tr><td><\/td><td><\/td><\/tr><tr><td>Generics<\/td><td>Generic &amp; Parameterized Types<\/td><\/tr><tr><td><\/td><td>Generic Methods &amp; Generic Constructors<\/td><\/tr><tr><td><\/td><td>Generics Restrictions<\/td><\/tr><tr><td><\/td><td>Enum Class<\/td><\/tr><tr><td><\/td><td>enums with State &amp; Behavior<\/td><\/tr><tr><td><\/td><td><\/td><\/tr><tr><td>Concurrency &amp; Multithreading<\/td><td>Multithreading Theory<\/td><\/tr><tr><td><\/td><td>Processes and threads introduction<\/td><\/tr><tr><td><\/td><td>Starting threads I &#8211; Runnable<\/td><\/tr><tr><td><\/td><td>Starting threads II &#8211; Thread class<\/td><\/tr><tr><td><\/td><td>Launching Threads and Making them to Sleep!<\/td><\/tr><tr><td><\/td><td>What is time-slicing algorithm?<\/td><\/tr><tr><td><\/td><td>Benefits of multithreading<\/td><\/tr><tr><td><\/td><td>Downside of multithreading<\/td><\/tr><tr><td><\/td><td>Thread life cycle in Java<\/td><\/tr><tr><td><\/td><td>Thread Naming, Prioritization and Joining<\/td><\/tr><tr><td><\/td><td>Race Condition<\/td><\/tr><tr><td><\/td><td>Join<\/td><\/tr><tr><td><\/td><td>Java Memory Model (JMM)<\/td><\/tr><tr><td><\/td><td>Volatile Variables + Demo<\/td><\/tr><tr><td><\/td><td>Atomic Variables + Demo<\/td><\/tr><tr><td><\/td><td>Volatile<\/td><\/tr><tr><td><\/td><td>Producer and consumer<\/td><\/tr><tr><td><\/td><td>Locks<\/td><\/tr><tr><td><\/td><td>Producer consumer with locks<\/td><\/tr><tr><td><\/td><td>Thread Cooperation &amp; Management<\/td><\/tr><tr><td><\/td><td>Sleep,Wait,Notify<\/td><\/tr><tr><td><\/td><td>Thread Interruption<\/td><\/tr><tr><td><\/td><td>Explicit Locks (Reentrant Lock)<\/td><\/tr><tr><td><\/td><td>Executor Framework<\/td><\/tr><tr><td><\/td><td>Executor Service &amp; Future<\/td><\/tr><tr><td>Asynchronous Programming<\/td><td>Callable and future<\/td><\/tr><tr><td><\/td><td>Deadlock<\/td><\/tr><tr><td><\/td><td>Synchronized I<\/td><\/tr><tr><td><\/td><td>Synchronized blocks<\/td><\/tr><tr><td><\/td><td>Synchronization Best Practices<\/td><\/tr><tr><td><\/td><td>Synchronization + Demo : Synchronize access to shared mutable data<\/td><\/tr><tr><td><\/td><td>Locks VS synchronization<\/td><\/tr><tr><td><\/td><td>Semaphores<\/td><\/tr><tr><td>Streams<\/td><td>Functional-style Programming:<\/td><\/tr><tr><td><\/td><td>Lambda Functions<\/td><\/tr><tr><td><\/td><td>Functional Interfaces<\/td><\/tr><tr><td><\/td><td>Streams<\/td><\/tr><tr><td><\/td><td>Demo: Slicing a Stream<\/td><\/tr><tr><td><\/td><td>Demo: Stream Matching Operations<\/td><\/tr><tr><td><\/td><td>Demo: Stream Finding Operations &amp; Optional Class<\/td><\/tr><tr><td><\/td><td>Stream Reduction Operations + Demo<\/td><\/tr><tr><td><\/td><td>Mutable Reduction with Collection Operations + Demo<\/td><\/tr><tr><td><\/td><td>collect() with Collector<\/td><\/tr><tr><td><\/td><td>Demo: Collecting Stream into List &amp; Set<\/td><\/tr><tr><td>Optional Class<\/td><td><\/td><\/tr><tr><td>Classic Problems<\/td><td>Dining Philosopher Problem<\/td><\/tr><tr><td><\/td><td>Students Library Simulation<\/td><\/tr><tr><td><\/td><td>Miner Game Simulation<\/td><\/tr><tr><td><\/td><td>Parallel Algorithms<\/td><\/tr><tr><td><\/td><td>Parallel methods versus multithreading<\/td><\/tr><tr><td><\/td><td>Merge sort<\/td><\/tr><tr><td><\/td><td>Sequential merge sort<\/td><\/tr><tr><td><\/td><td>Parallel merge sort<\/td><\/tr><tr><td><\/td><td>Comparing sorting implementations<\/td><\/tr><tr><td><\/td><td>Sum problem introduction<\/td><\/tr><tr><td><\/td><td>Sum problem &#8211; sequential approach<\/td><\/tr><tr><td><\/td><td>Sum problem &#8211; parallel implementation<\/td><\/tr><tr><td><\/td><td>Comparing sum implementations<\/td><\/tr><tr><td><\/td><td>Fork-Join Framework<\/td><\/tr><tr><td><\/td><td>Fork-join framework introduction<\/td><\/tr><tr><td><\/td><td>Fork-join framework simple example &#8211; RecursiveAction<\/td><\/tr><tr><td><\/td><td>Fork-join framework simple example &#8211; RecursiveTask&lt;T&gt;<\/td><\/tr><tr><td><\/td><td>Maximum finding &#8211; the algorithm<\/td><\/tr><tr><td><\/td><td>Maximum finding &#8211; running the application<\/td><\/tr><tr><td><\/td><td>Fork-join merge sort I<\/td><\/tr><tr><td><\/td><td>\u2013MapReduce and Parallelization<\/td><\/tr><tr><td><\/td><td>MapReduce introduction &#8211; basics<\/td><\/tr><tr><td><\/td><td>MapReduce introduction &#8211; example<\/td><\/tr><tr><td><\/td><td>MapReduce and Fork-Join<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Topic Sub-Topics JVM Architecture &amp; Garbage Collection Java Virtual Machine Architecture Class Loading Linking Reflection Runtime Data Areas Method Area &amp; Heap Method Table Garbage Collection: Introduction Garbage Collection Algorithms GC: Generational Collections Demo: Tuning Heap &amp; Analyzing GC Cycles gc() and finalise() methods Mark and Sweep Detecting soft leaks Permgen and Metaspace Heap Size [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-226","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/pages\/226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/comments?post=226"}],"version-history":[{"count":1,"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/pages\/226\/revisions"}],"predecessor-version":[{"id":227,"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/pages\/226\/revisions\/227"}],"wp:attachment":[{"href":"https:\/\/slothnerds.com\/index.php\/wp-json\/wp\/v2\/media?parent=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}