Monday, March 5, 2018

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. LinkedHashMap in Java With Examples
  8. TreeMap in Java With Examples
  9. Difference Between HashMap And Hashtable in Java
  10. HashMap Vs LinkedHashMap Vs TreeMap in Java
  11. Difference Between HashMap And ConcurrentHashMap in Java
  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
Java Collections Interview Questions
  1. Java Collections Interview Questions And Answers

Java Concurrent utilities

Synchronization utilities
  1. CountDownLatch in Java Concurrency
  2. CyclicBarrier in Java Concurrency
  3. Difference Between CountDownLatch And CyclicBarrier in Java
  4. Phaser in Java Concurrency
  5. Exchanger in Java Concurrency
  6. Semaphore in Java Concurrency
  1. ReentrantLock in Java Concurrency
  2. Difference Between ReentrantLock And Synchronized
  3. ReentrantReadWriteLock in Java
  4. StampedLock in Java
Concurrent Collections
  1. ConcurrentHashMap in Java
  2. Difference Between HashMap And ConcurrentHashMap in Java
  3. CopyOnWriteArrayList in Java
  4. Difference Between ArrayList And CopyOnWriteArrayList in Java
  5. CopyOnWriteArraySet in Java
  6. ConcurrentSkipListMap in Java
  7. ConcurrentSkipListSet in Java
  8. ConcurrentLinkedQueue in Java
  9. ConcurrentLinkedDeque in Java
  1. BlockingQueue in Java Concurrency
  2. ArrayBlockingQueue in Java Concurrency
  3. LinkedBlockingQueue in Java Concurrency
  4. PriorityBlockingQueue in Java Concurrency
  5. SynchronousQueue in Java
  6. DelayQueue in Java Concurrency
  7. LinkedTransferQueue in Java
  1. BlockingDeque in Java Concurrency
  2. LinkedBlockingDeque in Java
  1. Callable And Future in Java Concurrency
  2. Difference Between Runnable And Callable in Java
  3. Executor And ExecutorService in Java Concurrency
  4. ThreadPoolExecutor - Java Thread Pooling With ExecutorService
  5. Java ScheduledThreadPoolExecutor - Task Scheduling in Java
  6. CompletableFuture in Java With Examples
Atomic variables
  1. AtomicInteger in Java Concurrency
  2. AtomicLong in Java Concurrency
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. Java JDBC Overview - JDBC Tutorial
  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

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. String join() Method And StringJoiner Class in Java
  7. forEach Statement in Java 8
  8. PermGen Space Removal in Java 8

Lambda Expressions - Java 8

  1. Lambda Expressions in Java 8
  2. Functional Interfaces in Java
  3. @FunctionalInterface Annotation in Java
  4. Lambda Expression Examples in Java
  5. Java Lambda Expression as Method Parameter
  6. Java Lambda Expression And Variable Scope
  7. Exception Handling in Java Lambda Expressions
  8. Method Reference in Java
  9. How to Fix The Target Type of This Expression Must be a Functional Interface Error
  10. 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. Reduction Operations in Java Stream API
  5. Parallel Stream in Java Stream API
  6. Map Operation in Java Stream API
  7. collect() Method And Collectors Class in Java Stream API
  8. Java Stream flatMap() Method
  9. 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

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