Core Java Content NareshIT

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

An ISO 9001 : 2015 Certified Company

Opp. Satyam Theatre, Durga Bhavani Plaza, Ameerpet, Hyd-16

Programming Languages Structure of Java Program


• Low Level Programming Language • Documentation Section
• High Level Programming Language • Package Statement
• Procedural Vs object oriented programming • Import statements
Introduction to Java • Class definition
• Java Programming Language First Java Program
• Java History • Writing
• Java Platforms • Saving
• Java Features • Compilation
• Java Versions • Execution
• JDK ,JRE, JVM, JIT • Working with JShell
• What is OpenJDK/AdaptJDK Literals
• Differences between JDK and OpenJDK • Numeric Literals
• Which one preferred by industry either o Integer, Floating-point
JDK/OpenJDK • Character Literals
Java Features/Character Set of Java • Boolean Literals
Comments & Java Tokens – Identifiers, Keywords, • String Literals
Separators • null literal
• Naming rules for Identifiers Variables & Data Types
• Naming conventions • Primitive Data Types
• Reference Types
Installation of JDK on all operating systems • Local Variables
• Download JDK and Install JDK Type Conversions
• Windows 32&64bit • Auto Conversion/Widening/implicit conversion
• Linux 32&64bit • Casting/narrowing/explicit conversion
• Mac 32&64bit Operators
• AIX (optional) • Arithmetic Operators
• Environment Variables
• Increment/ Decrement Operators
• Version Checking • Assignment Operators
• Relational Operators • Design Patterns
• Negation Operator • Case Study
• Bitwise Complement Operator JVM Architecture
• Logical Operators • Java Runtime Environment
• Bitwise Operators • Memory Areas of JVM
• Shift Operators • Class Loaders
• Conditional Operator • Execution Engine – Interpreter & JIT
• new Operator Reflection API
• instance of Operator • Reflection in Java
• Operators Precedence • Classes in java.lang.reflect
• Operators Associativity • Methods of java.lang.Class
• Numeric Type Promotions • Getting Complete information of a Java class
Reading Data from Keyboard • Access Private constructor from outside of a class
• Using Scanner class
• Getting different Primitive data Static member execution flow
Control Structures Non-Static/Instance member execution flow
• Decision Making Statements – if, if..else, nested if, Abstraction
ladder if, switch • Abstract Methods
• Repetitive Statements – while, do...while, for, o Abstract class, Class Vs Abstract Class
labelled loops • Interfaces
• Branching Statements – break, continue, return o Multiple Inheritance using Interfaces
Methods o Interface Vs Abstract class
• Method Syntax o default and static methods in Interface
• Zero Parameters Method o public & private static methods in
• Methods with Parameters Interface
• Method Returns Void • Marker Interface
• Method Returns Value o Functional Interface
• Overloading Methods o Anonymous Class
• In-out implementation • Lambda Expressions
Arrays • Method reference
• Single Dimensional Arrays • Reference to a static method
• Enhanced for loop • Reference to a instance method
• Multi Dimensional Arrays • Reference to a constructor
• Jagged Arrays • Abstract class with constructor and its importance
• Variable Arguments (Var-Args) • Case Study
• Method Passing Arrays Inner Classes
• Method returns Array • Nested Top Level/ Static Inner Class
• Case Study • Member Classes
Command-line Arguments • Local Classes
Working with Java IDEs • Anonymous Class
• Eclipse Packages
• Netbeans IDE • Need of Packages
• Intellij IDE o Built-in Packages
• Creating Project with IDE o rt.jar and Java Modules
• Debugging a Java Program o Preparation of JAR file and How to run it.
Object Oriented Programming o Uses of JAR files
• Introduction • User-defined Packages
• Procedure Oriented Vs Object Oriented Approach o Package naming rules
• Class & Object o Importing packages
• Java Modifiers o Sub-Packages
o Access Modifiers o classpath Environment Variable
o Non Access Modifiers o Static Imports
• Encapsulation String Handling
• Getter & Setters • String
• Instance & Class Variables • StringBuffer
• Instance & Class Methods • StringBuilder
• Constructors • String Vs StringBuffer
• Blocks • StringBuffer Vs StringBuilder
• Overloading Constructors • StringJoiner
• this keyword • Immutablitiy
• Constructor Vs Method • Creating Immutable class
• Passing & Returning Object from Method • StringTokenizer
• Inheritance • String Pool with memory management
• Method Overriding Wrapper Classes
• super keyword • Need of Wrapper Classes
• Super Constructors • List of Wrapper Classes
• Polymorphism • Wrapper Class Methods
• Static Binding Vs Dynamic Binding • Boxing & UnBoxing
• Relationships • Auto Widening
• Object Cloning – Shallow & Deep • Widening beats Boxing
• Widening beats Varargs • synchronized method
• Boxing beats Varargs • synchronized block
Exception Handling • static synchronization
• What is Exception • Inter-thread Communication
o Exception Propagation • Interrupting Thread
o Hierarchy of Exception classes Garbage Collection
o Exception Types • How Automatic Garbage Collection Works
o Exception Vs Error • Old Generation , Eden Space
o Checked Vs Unchecked Exceptions • Mark,Sweep and Compact Operations
o Keywords used for Exception Handling – • Different Garbage Collectors
try, catch, finally, throw, throws • Which Garbage collector we need to use?
• try with catch • finalize() of java.lang.Object
o try with multiple catch blocks • Object class methods
o Nested try blocks • Usage of equals and hash code method
o finally block • System.gc()
• User-defined / Custom Exceptions • Runnable.gc()
o throw statement • How to increase java heap size ?
• throws keyword • Runtime class
• throw Vs throws Enum
• Method Overriding with Exception Handling • Enums
• “try” with multiple resources • enum in switch
• Adding logic for try block with parameter • values() and valueOf( ) method
• Chained Exceptions • Enum field , methods and constructors
o Multicatch in Java Generics
o try with resources • Generics
IO Streams • Advantage of Java Generics
• Streams in Java • Generic Class
• Working with jav.io.File • Type Parameters
• Byte Streams • Generic Methods
• Input Streams & Output Streams • Wildcard in Generics
• Character Streams Collections Framework
• Readers & Writers • Limitations of Array
• Serialization & De-serialization, SerialCersionUID • Introduction to Collections
variable • Collection Interfaces
• Externalization • List Interfaces
• transient Modifier • Set Interfaces
• nio package • Queue Interfaces
• Log files creation • List Implementation Classes – ArrayList, Vector,
Multithreading with Executor Framework Stack, LinkedList
• Multitasking • Cursors in Collection –
• What is Thread? Iterator<E>,listIterator<E>,enumeration<E>,split
• Multithreading erator<T>
• Main Thread • Set Implementations Classes – HashSet,
• Lifecycle of a Thread LinkedHashSet, TreeSet,EnumSet
• Creating Child Threads • Queue Implementaion Classes – ArrayDeque,
• implements Runnable Vs extends Thread PriorityQueue
• Thread Priorities • Comparable Interface
• Thread class method to pause thread execution • Comparator Interface
o yield() • Comparable Vs Comparator
o sleep() • Map Interface
o join() o Map Implementation Classes – HashMap,
o wait() & notify() LinkedHashMap, IdentityHashMap,
o interrupt() to interrupt thread pause WeakHashMap, Hashtable,
• Daemon Threads TreeMap,EnumMap
• Thread Synchronization • Internal Implementation of HashMap
• Deadlock & Prevention of Deadlock • Arrays Class
• Deadlock Vs Starvation • Concurrent Collection API
• Inter Thread Communication o Traditional Collections Vs Concurrent
• Thread Pooling Collections
• Thread Group • Collections Factory Methods
• Concurrent linked queue • Need to override hashCode() and equals()
• ShutdownHook • Preparation customized linkedlist/ implementation
• Executor Framework of LinkedList code?
• CountdownLatch/cyclic barrier • Differences between HashMap and
• Semaphore ConcurrentHashMap
• Exchanger Java Stream API
• Performing multiple task by multiple thread • Advantages of using Stream API
• ThreadDump (Only Overview) • Stream Interface methods – forEach, map, filter,
Synchronization : limit, sorted
• What and Why? • Parallel Processing – Collectors & Statistics
• Predefined Functional Interfaces – Consumer, • The Local Variable Type Inference
Function, Predicate • Time-Based Release Versioning
• Optional Class • Garbage-Collector Interface
Utility Classes • Parallel Full GC for G1
• StringTokenizer • Heap Allocation on Alternative Memory Devices
• Date, Calendar, Currency classes • JDK Forest into a Single Repository
• Formatting Date and Time • Unicode Language-Tag Extensions
• Locale, Formatter, Random classes • Root Certificates
• Timer & TimerTask Classes • Thread-Local Handshakes
• Date/Time API • Experimental Java-Based JIT Compiler
Regular Expressions • Application Class-Data Sharing
• Use of Regular Expression • API Changes(Additions and Removals etc)
• java.util.regex package Java 11 Features:
Networking • New String methods(isBlank, lines, repeatetc).
• Introduction • New File methods
• InetAddress (Writestring,readstring,isSameFile)
• Socket Programming • Pattern recognizing methods
• Datagrams • Epsilon Garbage Collector
• URL & URLConnection • Removed the Java EE / CORBA module and
Annotations Thread Functions
• Use of Annotations • Local-Variable Syntax for Lambda Parameters
• Type of Annotations • TimeUnit Conversion
• Built-in Java Annotations • Optional.isEmpty()
• Custom Annotations • Adapt JDK and Open JDK vs Oracle JDK
GUI Programming Changes Overview
• AWT Java 12 Features:
• Swings JVM Changes
• Java FX • JEP 189 – Shenandoah: A Low-Pause-Time
• APPLETS Garbage Collector (Experimental)
Java 8 Features: • JEP 346 – Promptly Return Unused Committed
• Lambda Expressions Memory from G1
• Marker and Functional Interfaces • JEP 344 - Abortable Mixed Collections for G1
• Pipelines and Streams Switch Expressions
• Date and Time API • The new Syntax removes the need for break
• Default Methods statement to prevent fallthroughs.
• Type Annotations • Switch Expressions don’t fall through anymore.
• Nashorn JavaScript Engine • Furthermore, we can define multiple constants in
• Concurrent Accumulators the same label.
• Parallel operations • default case is now compulsory in Switch
• Predicate Expressions.
• PermGen Space Removed • break is used in Switch Expressions to return
• TLS SNI values from a case itself.
Java9 Features: File mismatch() Method
• The Java Platform module system • If the bytes are not identical. In this case, the
• Dynamic Linking position of the first mismatching byte is returned.
• JShell: the interactive Java REP • File sizes are not identical. In this case, the size of
• Improved Javadoc the smaller file is returned.
• Collection factory methodsFactory Methods for Compact Number Formatting
Immutable List, Set, Map and Map.Entry Teeing Collectors in Stream API
• Stream API improvements • Teeing Collector is the new collector utility
• Private interface methods introduced in the Streams API.
• HTTP/2 • This collector has three arguments – Two
• Multi-release JARs collectors and a Bi-function.
• Multi-Resolution Image API Java Strings New Methods
• CompletableFuture API Improvements • indent(),transform()
• Diamond Operator for Anonymous Inner Class • Optional describeConstable()
• Miscallenous • String resolveConstantDesc()
o GC (Garbage Collector) Improvements JVM Constants API
o Stack-Walking API • A new package java.lang.constant is introduced
o Filter Incoming Serialization Data with this JEP.
o Deprecate the Applet API JEP 305: Pattern Matching for instanceof
o Indify String Concatenation Raw String Literals is removed from JDK 12.
o Enhanced Method Handles Java 13 Features:
o Java Platform Logging API and Service • Enhancements for Switch Expressions
o Compact Strings • Text Blocks instead of Raw String Literals
o Parser API for Nashorn • Dynamic CDS Archives
• ZGC returns unused storage
Java10 Features: • Renewed Socket API

You might also like