Java APIs includes advanced topics required for Java developers. Collection framework API classes deals with adding, sorting, comparing, iterating objects and so on. There is a need to know the proper use case scenarios of these classes, as they are used widely in projects Concurrency control in threads is also important concept, for writing multithreaded applications. Working with streams, handling files and directories, doing Serialization using java.io, and java.nio package is an added skill needed for any java developer.
JUnit Testing framework is a unit testing framework for Java and is very important in the development of test-driven development. This program is complete, if a developer is equiped with indepth knowledge on the java APIS and the testing process, as they work hands on hands together

Objectives:

At the end of this course, you will be able to

  • Create robust java application using advanced JDK7 apis
  • Develop applications using nio for channel based
  • Perform multiple database operation(CRUD) and much more using JDBC
  • Create high-performance multithreaded application
  • Use collection framework efficiently for java applications
  • Unit testing the java code using JUnit framework
  •  

    What you will learn:

  • Introduction to inbuilt packages of java
  • Learn how to do shallow or deep cloning of objects using Cloneable
  • Understanding the proper use case scenarios of classes in Collection Framework
  • Learn to use streams using Java IO
  • Understanding java serialization
  • NIO for channel based input/output
  • Threads and Concurrency control
  • Reflection API
  • Use of Built-in Annotations and create custom annotations
  • Java7 features
  • Understanding JUnit Testing framework and working with the same
  •  

    Prerequisites:

  • Knowledge of OOPs concept in java is required
  • A basic understanding of SQL is helpful
  •  

    Course Designed for:

  • Developers who want to reinforce and dive into Java APIS
  • Java Developers to gain a better understanding on how to implement various APIS used in projects
  • Programmers/Students who know OOPs and want to enhance their skills in advanced java APIs
  • OCJP aspirants
  •  

    Follow Up courses :

  • Java Web Programming using servlets and JSP
  • Syllabus:

    Overview of OOPs concepts, Revisiting Exception Handling & Lang Essentials

  • Wrapper classes
  • Autoboxing and Unboxing
  • Object class(equals and hashcode)
  • Understanding toString method
  • String, String Buffer and String Builder
  •  

    Utility Classes and CollectionFramework(java.util)

  • Generics
  • Collections Framework
  • List, Set, Queue
  • Map
  • Collections and Array classes
  • Sorting and searching
  • Comparator vs Comparable
  •  

    Working with Streams(java.io)

  • Byte Streams and Character Streams
  • InputStream and OutputStream
  • Reader and Writer classes
  • Read from and write to file/console
  • Serialization
  •  
    Channel Based IO

  • Creating, Reading , Renaming, Deleting files /directories
  • Annotation

  • The Annotation Model
  • Annotation Types
  • Creating custom annotation and Calling them in Java code
  •  
    Reflection – at its best

  • Reflection API an overview
  • Using getClass() method
  • Reading Type Information
  • Dynamic Invocation
  •  

    Working with databases(JDBC)

  • JDBC overview
  • Types of drivers
  • java.sql interfaces Driver, Connection, Statement
  • Loading a driver and establishing a connection using DriverManager
  • Perform CRUD operations using JDBC interfaces
  • Prepared Statement for precompiled queries
  • Callable Statement for stored procedures
  • Working with Threads

  • Introduction to Threads
  • Thread class and Runnable Interface
  • Thread priorities
  • Methods of thread class
  • Lifecycle of a thread
  • Pausing a thread using sleep
  • Synchronization
  • InterThreadCommunication
  •  
    Concurrency Control

  • Introduction to the java.util.concurrent package
  • BlockingQueue and ConcurrentMap
  • Executors and Thread pools
  • Fork/Join framework
  •  

    Unit Testing using JUnit Framework

  • Introduction to testing framework
  • Writing test cases using @Test annotation
  • Creating a TestSuite
  • Use of TestRunner classes