Sunday, January 7, 2024

Java Advanced Topics

Java Collection Framework

  1. ArrayList in Java With Examples
  2. How ArrayList Works Internally in Java
  3. Unmodifiable or Immutable List in Java
  4. How to Loop or Iterate an Arraylist in Java
  5. ListIterator in Java
  6. How to Join Lists in Java
  7. How to Remove Elements From an ArrayList in Java
  8. How to Remove Duplicate Elements From an ArrayList in Java
  9. How to Sort ArrayList in Java
  10. How to Sort ArrayList of Custom Objects in Java
  11. How to Sort an ArrayList in Descending Order in Java
  12. How and Why to Synchronize ArrayList in Java
  13. How to Convert ArrayList to Array in Java
  14. How to Convert Array to ArrayList in Java
  15. How LinkedList Class Works Internally in Java
  16. Difference Between ArrayList And LinkedList in Java
  17. Difference Between ArrayList And Vector in Java
  18. Difference Between Array And ArrayList in Java
  19. Difference Between ArrayList And CopyOnWriteArrayList in Java
  1. HashMap in Java With Examples
  2. How HashMap Works Internally in Java
  3. Map.Entry Interface in Java
  4. Unmodifiable or Immutable Map in Java
  5. How to Loop Through a Map in Java
  6. How to Sort a HashMap in Java
  7. How to Remove Entry From HashMap in Java
  8. LinkedHashMap in Java With Examples
  9. TreeMap in Java With Examples
  10. Difference Between HashMap And Hashtable in Java
  11. HashMap Vs LinkedHashMap Vs TreeMap in Java
  12. Difference Between HashMap And ConcurrentHashMap in Java
  13. Java Map compute() With Examples
  14. Java Map computeIfPresent() With Examples
  15. Java Map computeIfAbsent() With Examples
  16. Java Map containsKey() - Check if Key Exists in Map
  17. Java Map containsValue() - Check if Value Exists in Map
  18. Java Map getOrDefault() Method With Examples
  19. Java Map merge() With Examples
  20. Java Map putIfAbsent() With Examples
  21. Java Map replace() With Examples
  22. Java Map size() With Examples
  1. HashSet in Java With Examples
  2. How HashSet Works Internally in Java
  3. Unmodifiable or Immutable Set in Java
  4. How to Loop Through HashSet in Java
  5. LinkedHashSet in Java With Examples
  6. TreeSet in Java With Examples
  7. EnumSet in Java With Examples
  8. How to Sort HashSet in Java
  9. HashSet Vs LinkedHashSet Vs TreeSet in Java
  10. How to Sort Elements in Different Order in TreeSet
  1. equals() And hashCode() Methods in Java
  2. Fail-Fast Vs Fail-Safe Iterator in Java
  3. Difference Between Comparable and Comparator in Java
  4. removeIf() Method in Java Collection With Examples
Java Collections Interview Questions
  1. Java Collections Interview Questions And Answers

Java Concurrent utilities

Synchronization utilities
  1. Java CountDownLatch With Examples
  2. Java CyclicBarrier With Examples
  3. Difference Between CountDownLatch And CyclicBarrier in Java
  4. Java Phaser With Examples
  5. Java Exchanger With Examples
  6. Java Semaphore With Examples
  1. Java ReentrantLock With Examples
  2. Difference Between ReentrantLock And Synchronized in Java
  3. Java ReentrantReadWriteLock With Examples
  4. Java StampedLock With Examples
Concurrent Collections
  1. ConcurrentHashMap in Java With Examples
  2. Difference Between HashMap And ConcurrentHashMap in Java
  3. CopyOnWriteArrayList in Java With Examples
  4. Difference Between ArrayList And CopyOnWriteArrayList in Java
  5. CopyOnWriteArraySet in Java With Examples
  6. ConcurrentSkipListMap in Java With Examples
  7. ConcurrentSkipListSet in Java With Examples
  8. ConcurrentLinkedQueue in Java With Examples
  9. ConcurrentLinkedDeque in Java With Examples
  1. Java BlockingQueue With Examples
  2. Java ArrayBlockingQueue With Examples
  3. Java LinkedBlockingQueue With Examples
  4. Java PriorityBlockingQueue With Examples
  5. Java SynchronousQueue With Examples
  6. Java DelayQueue With Examples
  7. Java LinkedTransferQueue With Examples
  1. Java BlockingDeque With Examples
  2. Java LinkedBlockingDeque With Examples
  1. Callable and Future in Java With Examples
  2. Difference Between Runnable And Callable in Java
  3. Executor And ExecutorService in Java With Examples
  4. Java ThreadPoolExecutor - Thread Pooling With ExecutorService
  5. Java ScheduledThreadPoolExecutor - Task Scheduling in Java
  6. CompletableFuture in Java With Examples
Atomic variables
  1. AtomicInteger in Java With Examples
  2. AtomicLong in Java With Examples
Concurrency concepts
  1. Lock Striping in Java Concurrency
  2. Non-Blocking Algorithms
  3. Busy Spinning in Multi-Threading
  4. Blocking Methods in Java Concurrency
Java Concurrency Interview Questions
  1. Java Concurrency Interview Questions And Answers

Reflection API in Java

  1. Java Reflection API Tutorial
  2. Reflection in Java - Getting Class Information
  3. Reflection in Java - Getting Field Information
  4. Reflection in Java - Getting Method Information
  5. Reflection in Java - Getting Constructor Information
  6. Reflection in Java - Array
  7. Generating Getters And Setters Using Reflection - Java Program
  8. Invoking Getters And Setters Using Reflection - Java Program
  9. Invoke Method at Runtime Using Java Reflection API


  1. JDBC Tutorial - Java JDBC Overview
  2. Types of JDBC Drivers
  3. Java JDBC Steps to Connect to DB
  4. Connection Interface in Java-JDBC
  5. Statement Interface in Java-JDBC
  6. ResultSet Interface in Java-JDBC
  7. PreparedStatement Interface in Java-JDBC
  8. CallableStatement Interface in Java-JDBC
  9. DataSource in Java-JDBC
  10. DatabaseMetaData Interface in Java-JDBC
  11. Transaction Management in Java-JDBC
  12. Batch Processing in Java JDBC - Insert, Update Queries as a Batch
  13. How to Get The Inserted ID (Generated ID) in JDBC

Serialization in Java

  1. Serialization and Deserialization in Java
  2. Transient Keyword in Java With Examples
  3. Externalizable Interface in Java
  4. SerialVersionUID And Versioning in Java Serialization
  5. Serialization Proxy Pattern in Java

Java Multi-Threading

  1. Java Multithreading Tutorial
  2. Creating a Thread in Java
  3. Thread States (Thread Life Cycle) in Java Multi-Threading
  4. Thread Priority in Java Multi-Threading
  5. Difference Between Thread And Process in Java
  6. Main Thread in Java
  7. Can we Start The Same Thread Twice in Java
  8. What if run() Method Called Directly Instead of start() Method - Java Multi-Threading
  9. Synchronization in Java - Synchronized Method And Block
  10. Static Synchronization in Java Multi-Threading
  11. Race Condition in Java Multi-Threading
  12. Deadlock in Java Multi-Threading
  13. Thread Starvation in Java Multi-Threading
  14. Livelock in Java Multi-Threading
  15. Inter-thread Communication Using wait(), notify() And notifyAll() in Java
  16. Why wait(), notify() And notifyAll() Methods Are in Object Class And Not in Thread Class
  17. Why wait(), notify() And notifyAll() Must be Called Inside a Synchronized Method or Block
  18. isAlive() And join() Methods in Java Multi-Threading
  19. Difference Between yield And sleep in Java Multi-Threading
  20. Difference Between sleep And wait in Java Multi-Threading
  21. Java ThreadLocal Class With Examples
  22. Volatile Keyword in Java With Examples
  23. String And Thread-Safety in Java
Java Multi-Threading Interview Questions
  1. Java Multithreading Interview Questions And Answers

Java 5 Features

  1. Varargs (Variable-length Arguments) in Java
  2. Enum Type in Java
  3. AutoBoxing And UnBoxing in Java
  4. Covariant Return Type in Java

Generics in Java

  1. Generics in Java
  2. Generic Class, Interface And Generic Method in Java
  3. Bounded Type Parameter in Java Generics
  4. Wildcard in Java Generics
  5. Type Erasure in Java Generics

Java 8 Features

  1. Interface Default Methods in Java 8
  2. Interface Static Methods in Java 8
  3. New Date And Time API in Java 8
  4. Optional Class in Java With Examples
  5. Effectively Final in Java 8
  6. forEach Statement in Java 8
  7. PermGen Space Removal in Java 8
  8. StringJoiner Class in Java 8

Lambda Expressions - Java 8

  1. Lambda Expressions in Java 8
  2. Lambda Expression Examples in Java
  3. Functional Interfaces in Java
  4. @FunctionalInterface Annotation in Java
  5. Pre-defined Functional Interfaces in Java
  6. Java Lambda Expression as Method Parameter
  7. Java Lambda Expression And Variable Scope
  8. Exception Handling in Java Lambda Expressions
  9. Method Reference in Java
  10. How to Fix The Target Type of This Expression Must be a Functional Interface Error
  11. How to Resolve Local Variable Defined in an Enclosing Scope Must be Final or Effectively Final Error

Stream API - Java 8

  1. Java Stream API Tutorial
  2. Java Stream API Examples
  3. Primitive Type Streams in Java Stream API
  4. Parallel Stream in Java Stream API
  5. Reduction Operations in Java Stream API
  6. Map Operation in Java Stream API
  7. collect() Method And Collectors Class in Java Stream API
  8. Java Stream - allMatch() With Examples
  9. Java Stream - anyMatch() With Examples
  10. Java Stream - boxed() With Examples
  11. Java Stream - concat() With Examples
  12. Java Stream - count() With Examples
  13. Java Stream - Collectors.groupingBy() With Examples
  14. Java Stream - Collectors.joining() With Examples
  15. Java Stream - Collectors.partitioningBy() With Examples
  16. Java Stream - Collectors.summingInt(), summingLong(), summingDouble()
  17. Java Stream - Collectors.averagingInt(), averagingLong(), averagingDouble()
  18. Java Stream - Collectors.teeing() With Examples
  19. Java Stream - distinct() With Examples
  20. Java Stream - filter() With Examples
  21. Java Stream - findAny() With Examples
  22. Java Stream - findFirst() With Examples
  23. Java Stream - flatMap() With Examples
  24. Java Stream - limit() With Examples
  25. Java Stream - max() With Examples
  26. Java Stream - min() With Examples
  27. Java Stream - noneMatch() With Examples
  28. Java Stream - peek() With Examples
  29. Java Stream - skip() With Examples
  30. Java Stream - sorted() With Examples
  31. Java Stream - Convert Stream to List
  32. Java Stream - Convert Stream to Set
  33. Java Stream - Convert Stream to Map
  34. Java Stream - Convert Stream to Array
  35. Spliterator in Java

Java 9 Features

  1. JShell in Java With Examples
  2. Private Methods in Java Interface

Java 10 Features

  1. Var type in Java - Local Variable Type Inference

Java 16 Features

  1. Java Record Class With Examples

Java 17 Features

  1. Java Sealed Classes and Interfaces

Eclipse IDE

  1. How to Pass Command Line Arguments in Eclipse
  2. Creating a Maven Project in Eclipse
  3. Adding Tomcat Server to Eclipse

Java Internals

  1. Just In Time Compiler (JIT) in Java
  2. JVM Run-Time Data Areas - Java Memory Allocation
  3. Heap Memory Allocation in Java
  4. Garbage Collection in Java
  5. PermGen Space Removal in Java 8

Java IO

  1. Byte Streams in Java IO
  2. Character Streams in Java IO
  3. Buffered Streams in Java IO
  4. getPath(), getCanonicalPath() and getAbsolutePath() Methods in Java
  5. Java BufferedReader Class With Examples
  6. Java BufferedWriter Class With Examples
  7. Fix Scanner.nextLine() Skipping Input After Another next Methods