Introduction to Course
  • Introduction
  • Three Things You need to Know
  • Congratulations
  • Course Overview
Java Platform
  • Java Popularity and Platform Independence
  • Compare JDK vs JVM vs JRE
  • Differences between C++ and Java
  • Java Classloaders
Wrapper Classes
  • Wrapper Classes
Strings
  • String, StringBuffer and StringBuilder
Basics of Object Oriented Programming
  • Object Basics - Class, Object, State and Behavior
  • toString method
  • equals and hashCode methods
  • Inheritance, Method overloading and Method overriding
  • Interface
  • Abstract Class
  • Constructors - this() and super()
  • Do not forget to do Exercises
More Object Oriented Programming Concepts
  • Polymorphism and instanceof
  • What is Coupling?
  • What is Cohesion?
  • What is Encapsulation?
  • Inner Class and Static Inner Class
  • What is an anonymous class?
Modifiers
  • Access Modifiers - public, private, protected and default
  • Final method, variable and class
  • Static variables and methods
Conditions and Loops
  • Simple Puzzles on conditions and loops
Exception Handling
  • Exception Handling - try, catch and finally
  • Checked and Unchecked Exceptions
  • Throwing an Exception
  • Creating Custom Exceptions
Miscellaneous Topics
  • Arrays
  • Enum
  • Variable Arguments
  • Asserts and Garbage Collection
  • Static and Member Initializers
  • Serialization
Collections
  • Collection Interface Hierarchy
  • Collection & List Interface methods and classes - ArrayList, Vector & LinkedList
  • Set interfaces and implementations - HashSet, LinkedHashSet and TreeSet
  • Map interfaces and implementations - HashMap, LinkedHashMap and TreeMap
  • Queue interfaces and implementations - Deque and BlockingQueue
  • Collection Code Examples
Concurrent Collections
  • Concurrent Collections - CopyOnWriteArrayList
  • CompareAndSwap, Locks and AtomicOperations
Generics
  • Generics
Multithreading
  • MultiThreading - Need for Threads and Creating Threads
  • Thread states, priority, ExecutorService and Callable
  • Synchronization of Threads. join, wait, notify and notifyAll methods
Functional Programming - Lamdba Expressions and Streams
  • Functional Programming Examples - Streams and Lambda Expressions
  • Functional Programming Questions and Answers
New Features
  • Java New Features - Java 5, 6, 7 and 8
Thank You!!
  • Bonus Lecture
  • Conclusion