Introduction
to JAVA
DR. RAJASHRI JOSHI
Paper Name :Core JAVA
SYLLABUS
Paper code: CA-411T
Unit I: Introduction to JAVA
Textbooks:
Unit II: Package and Exception in JAVA
1. Programming with JAVA: A
Primer by E. Balguruswamy
Unit III: Constructor, Wrapper, String and StringBuffer class in
2. Core Java Volume 1-
Fundamentals by Cay S. JAVA
Horstmann and Gary Cornell
Unit IV: Interfaces and Threads in JAVA
Unit I: Introduction to JAVA
Introduction to JAVA Control statements
History of JAVA Loop
How JAVA is different from C++ Arrays
JDK Tools Inheritance in JAVA
Class File Multilevel Hierarchy
JAVA Bytecode Method overriding
JVM Abstract classes
Identifiers Final classes
Datatypes
Operators
Unit II: Package and Exception in JAVA
Defining Multiple catch
Implementing and Applying Packages JAVA’s Built-in Exception
Importing Packages
Types of Packages
User defined Package
Exception handling
Try, Catch, Throw and finally
Uncaught Exception
Unit III: Constructor, Wrapper, String and
StringBuffer class in JAVA
Constructors
Various types of constructors
Role of constructors in inheritance
Introduction to Wrapper classes
String Operations in JAVA
Immutability
Creating and Initializing Strings using methods of Strings and StringBuffer class
Unit IV: Interfaces and Threads in JAVA
Interface:
Thread:
Defining interface
Thread life cycle
Abstract Methods in Interface
Creating and Implementing thread
Implementing Interfaces
Multithreaded Programming
Extending Interfaces
Thread priorities
Interface References
Synchronization of thread
Default Methods in interfaces
Resuming and stopping threads
Static methods in Interfaces
Constants in Interfaces
Introduction to JAVA
JAVA is a Simple, Object Oriented Programming Language .
Developed by :
James Gosling at Sun Microsystems Incorporation in
May 1995.
Initially known as Oak and later renamed to JAVA
Java was designed for the development of software for consumer electronic
devices like TVs, VCRs (Video Cassette Recorder), toasters and such other
electronic machines.
JAVA installation
Download JDK
Click the below link to download jdk23 for you windows 64 bit system.
https://download.oracle.com/java/23/latest/jdk-23_windows-x64_bin.exe
OR
Visit
https://www.oracle.com/in/java/technologies/downloads
To set the Environment Variables, you need to search Environment Variables in the Task
Bar and click on “Edit the system environment variables”
Under System variables, select the “Path” variable and click on “Edit”. Click
on “New” then paste the Path Address ie
C:\Program Files (x86)\Java\jdk1.7.0_75\bin
Check the Java Version
Check the Java Version
Characteristics of Java
Java is Simple
Java is Object-oriented
Java is Distributed
Java is Interpreted
Java is Robust
Java is Secure
Java is Architecture-neutral
Java is Portable
Java’s Performance
Java is Multithreaded
Java is Dynamic
How JAVA is different from C++
History of JAVA
Version Release Major changes
Date
JDK Beta 1995
JDK 1.0 January 1996 The Very first version was released on January 23, 1996. The principal
stable variant, JDK 1.0.2, is called Java 1.
JDK 1.1 February Was released on February 19, 1997. There were many additions in JDK 1.1
1997 as compared to version 1.0 such as
A broad retooling of the AWT occasion show Inner classes added to the
language
JavaBeans
JDBC
RMI
J2SE 1.2 December Play area” was the codename which was given to this form and was
1998 released on 8th December 1998. Its real expansion included: strictfp
keyword
the Swing graphical API was coordinated into the centre classes Sun’s JVM
was outfitted with a JIT compiler out of the blue Java module, Java IDL, an
IDL usage for CORBA interoperability
Collections system
Version Release Major changes
Date
“J2SE 1.3 May 2000 Codename- “KESTREL” Release Date- 8th May 2000 Additions:
HotSpot JVM included
Java Naming and Directory Interface
JPDA
JavaSound
Synthetic proxy classes
J2SE 1.4 February Codename- “Merlin” Release Date- 6th February 2002 Additions: Library
2002 improvements
Regular expressions modelled after Perl regular expressions
The image I/O API for reading and writing images in formats like JPEG and
PNG
Integrated XML parser and XSLT processor (JAXP) (specified in JSR 5 and JSR
63)
Preferences API (java.util.prefs)
Public Support and security updates for this version ended in October 2008.
.
J2SE 5.0 September Codename- “Tiger” Release Date- “30th September 2004” Originally
2004 numbered as 1.5 which is still used as its internal version. Added several
new language features such as:
Version Release Major changes
Date
JAVA SE 7 July 2011 Codename- “Dolphin” Release Date- 7th July 2011 Added small language
changes including strings in the switch. The JVM was extended with support
for dynamic languages. Additions:
Compressed 64-bit pointers.
Binary Integer Literals.
Upstream updates to XML and Unicode.
JAVA SE 8 March 2014 Released Date- 18th March 2014 Language level support for lambda
expressions and default methods and a new date and time API inspired by
Joda Time..
JAVA SE 9 September Release Date: 21st September 2017 Project Jigsaw: designing and
2017 implementing a standard, a module system for the Java SE platform, and to
apply that system to the platform itself and the JDK.
JAVA SE 10 March 2018 Released Date- 20th March Addition:
Additional Unicode language-tag extensions
Root certificates
Thread-local handshakes
Heap allocation on alternative memory devices
Remove the native-header generation tool – javah.
Consolidate the JDK forest into a single repository.
Version Release Date Major changes
JAVA SE 11 September 2018 Released Date- 25th September, 2018 Additions-
Dynamic class-file constants, Epsilon: a no-op garbage collector
The local-variable syntax for lambda parameters,Low-overhead heap
profiling
HTTP client (standard),Transport Layer Security (TLS) 1.3, Flight
recorder
JAVA SE 12 March 2019 Released Date- 19th March 2019 Additions-
Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
Microbenchmark Suite
Switch Expressions (Preview)
JVM Constants API
One AArch64 Port, Not Two
Default CDS Archives
JAVA SE 13 September 2019 Released Date – 17th September 2019
Additions-Text Blocks (Multiline strings)., Switch Expressions,
Enhanced Thread-local handshakes.
JAVA SE 14 March 2020 Released Date – 17th March 2020
Additions-Records (new class type for data modeling).
Pattern Matching for instanceof. Helpful NullPointerExceptions.
Version Release Major changes
Date
JAVA SE 15 September Released Date – 15th September 2020
2020 Additions-Sealed Classes, Hidden Classes, Foreign Function and Memory
API (Incubator).
March 2021 Released Date – 16th March 2021
JAVA SE 16 Additions-Records (preview feature), Pattern Matching for switch
(preview feature).
Unix Domain Socket Channel (Incubator).
JAVA SE 17 September Released Date – 14th September 2021
2021 Additions-
Sealed Classes (finalized).
Pattern Matching for instanceof (finalized).
Strong encapsulation of JDK internals by default.
New macOS rendering pipeline
.
Java 23 or September, Markdown in JavaDoc Comments: JavaDoc now supports Markdown,
JDK 23 17th 2024 making documentation easier to write and read.
Generational Z Garbage Collector (ZGC): JDK 23 makes
generational mode the default for ZGC.
Features still In Preview: Structured Concurrency, Flexible
Constructor Bodies, Module Import Declarations, Primitive Types in
JDK Tools
The Java Development Kit (JDK) is a software development environment which is used to develop Java
applications and applets.
JDK is an implementation of any one of the below given Java Platforms released by Oracle
Corporation:
•Standard Edition Java Platform
•Enterprise Edition Java Platform
•Micro Edition Java Platform
Class File
A Java class file is a file containing Java bytecode and having .class extension that can be executed by
JVM.
The .class files describes the instructions to the Java Virtual Machine.
The .class file contains the bytecode that will translate by the JVM into platform-specific machine code.
The javac command is used to convert the Java source file into the class file.
JAVA Bytecode
Java bytecode is the instruction set for the Java
Virtual Machine.
As soon as a java program is compiled, java
bytecode is generated.
Java bytecode is the machine code in the form of
a .class file.
JRE
THANK YOU!!