0% found this document useful (0 votes)
2 views15 pages

Introduction to Java

Planning

Uploaded by

moorthattil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views15 pages

Introduction to Java

Planning

Uploaded by

moorthattil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

INTRODUCTION TO JAVA

AGENDA
Introduction to Java
What is Java?
History of Java
Features of Java d.
Why Java is called Statically Typed Programming Language?
Why Java is not purely Object-Oriented Programming
Language?
WHAT IS JAVA?
Java is a very popular programming language that can be
used to create a variety of software applications.

It's an object-oriented language that was made to be


simple to read, write, and learn. It was created in 1995

It has been a popular choice among developers for over


two decades, with millions of Java applications in use
today.

It is owned by Oracle, and more than 3 billion devices run


Java.

Java is a multi-platform, object-oriented, and network-


centric language that can be used as a platform.

It is a fast, secure, reliable programming language for


coding everything from mobile apps and enterprise
software to big data applications and server-side
technologies.

James Gosling, the Father of Java, described it as a Blue


collar programming language. The fundamental idea was
to provide a language that let developers get the job done
History of Java:

The journey begins in the early '90s when the Green


Team, a group of brilliant Sun engineers lead by Games
Gosling, set out to create a language for digital devices,
including set-top boxes and televisions. Their objective
was clear: to develop a language that was simple,
robust, portable, platform-independent, secure, high-
performance, multithreaded, architecture-neutral,
object-oriented, interpreted, and dynamic. These
principles would lay the foundation for Java as we know
it today.

•1995: Java designed for interactive television.


•1995: The Green Team initiates Java's development.
•1995: Java was initially named "Oak."
•1995: Renamed to "Java" due to trademark issues.
•1996: JDK 1.0, the first official release.
History of java 6
Version of Java Release Date Improvement Description
JDK Alpha and Beta (1995) 1991-1995 Early development stages of
Java .
JDK 1.0 (Java 1) 23rd Jan 1996 The first official release of Java .
JDK 1.1 19th Feb 1997 Enhanced event handling, AWT,
and JIT compiler.
J2SE 1.2 8th Dec 1998 Introduced Swing GUI toolkit
and Collections framework.
J2SE 1.3 8th May 2000 Enhanced performance, HotSpot
JVM, and Java Naming and
Directory Interface (JNDI).
J2SE 1.4 6th Feb 2002 Improved performance, assert
keyword, and XML processing.
J2SE 5.0 (Java 5) 30th Sep 2004 Generics, metadata
annotations, and enhanced "for"
loop.
Java SE 6 (Java 6) 11th Dec 2006 Scripting support (Scripting API),
JDBC 4.0, and improved
performance.
Java SE 7 (Java 7) 28th July 2011 Language enhancements (try-
with-resources, switch
statement), and the Fork/Join
framework.
Java SE 8 (Java 8) 18th Mar 2014 Lambda expressions, the
Stream API, and the Java .time
package (date and time).
Java SE 9 (Java 9) 21st Sep 2017 Module system, JShell (REPL),
and improvements to the
Garbage Collector.
Java SE 10 (Java 10) 20th Mar 2018 Local-variable type inference
(var keyword) and application
History of java 7
Java SE 11 (Java 11) September 2018 Long-term support (LTS)
release, HTTP client, and
improved performance.
Java SE 12 (Java 12) March 2019 Switch expressions,
improvements in Shenandoah
Garbage Collector.
Java SE 13 (Java 13) September 2019 Text blocks, dynamic CDS
archives, and ZGC
improvements.
Java SE 14 (Java 14) Mar 2020 Pattern matching (preview),
Record classes (preview), and
improved NIO.
Java SE 15 (Java 15) September 2020 Sealed classes (preview),
hidden classes, and macOS
rendering improvements.
Java SE 16 (Java 16) Mar 2021 Records (final), pattern
matching, and foreign function
and memory API (incubator).
Java SE 17 (Java 17) September 2021 Long-term support (LTS)
release, sealed classes (final),
and enhanced foreign function
and memory API (incubator).
Java SE 18( Java 18) March 22, 2022

Java SE 19( Java 19) September 20, 2022

Java SE 20( Java 20) March 21, 2023

Java SE 21( Java 21)


September 19, 2023
Object-Oriented Programming (OOP):
Java follows the principles of Object-Oriented
Programming, organizing programs into objects
and classes. The four main concepts of OOP —
abstraction, encapsulation, inheritance, and
polymorphism — are integral to Java’s design,
fostering modularity, reusability, and
Simplicity:
maintainability in code.
Java is renowned for its simplicity, making it an
ideal language for both beginners and experienced
developers. Its syntax, inspired by C/C++, is easy
to learn and comprehend. Java avoids the
complexities of features like pointers, go-to
statements, and multiple inheritance, promoting
clean and understandable code.
Security:
Security is a top priority in Java, making it a
preferred choice for developing secure
applications, such as those in the banking sector.
Java’s design eliminates the use of pointers,
preventing unauthorized access to variables.
Additionally, Java includes features like garbage
collection, exception handling, and memory
Platform Independence:
One of Java’s groundbreaking features is its
platform independence. The Java compiler converts
source code into bytecode, which can be executed
on any platform with a Java Virtual Machine (JVM).
This cross-platform compatibility allows developers
to write code on one machine and run it
seamlessly on various operating systems, including
Windows, Linux, and macOS.
Robustness:
Java’s robust nature stems from its emphasis on
early error detection. The compiler in Java can
identify errors that might be challenging to detect
in other languages. Features such as garbage
collection, exception handling, and careful memory
allocation contribute to the overall reliability and
robustness of Java applications.
Portability:
The platform-independent bytecode generated by
the Java compiler contributes to the portability of
Java code. This means that code written on one
machine can be carried to another platform for
execution, promoting flexibility and adaptability in
various computing environments.
Architectural Neutrality:
Java adheres to the principle of “Write once, run
anywhere.” The compilation process produces
machine-independent bytecode, allowing Java
Virtual Machine (JVM) to translate it into machine-
specific code. This architectural neutrality enables
seamless execution across different operating
Dynamic Nature:
Java is dynamic in its approach, allowing
developers to add new classes and methods to
existing packages without altering the original
code. This dynamic behavior, coupled with support
for loading classes on demand, contributes to the
adaptability and extensibility of Java applications.
Interpreted:
Java is both a compiled and interpreted
programming language. Because it employs both
compilation and interpretation to run code, it is
known as a “compiler-interpreter language.”. Java
code can be ported between various operating
systems and architectural styles thanks to this two-
step approach
Performance:
While Java is an interpreted language, it offers
impressive performance. The use of bytecode,
similar to machine code, and the Just-In-Time (JIT)
compiler contribute to faster execution.
Additionally, Java’s support for multithreading
enhances overall performance by enabling
Multithreading:
Java supports multithreading, allowing concurrent
execution of different parts of a program. This
feature maximizes CPU utilization and enhances
performance, making Java suitable for applications
that require parallel processing.
Distributed Computing:
Java facilitates the creation of distributed
applications. A bunch of popular distributed
systems are implemented in Java, such as Apache
Hadoop, ZooKeeper, Elasticsearch, Apache Storm,
Flink, Cassandra, HBase, Apache Ignite, etc.
13

STATICALLY TYPED
In statically typed programming languages, type checking
occurs at compile time. This means that before source
code is compiled, the type associated with each and
every single variable must be known.
WHY IS JAVA NOT A PURE 14

OBJECT-ORIENTED
PROGRAMMING LANGUAGE?
Java fulfills all the criteria for pure OOPS language
except-

•The predefined type should be represented as objects

•All the operations that are performed on objects should


be through the methods defined for those objects.

Since Java has primitive data types and static , it does not
fulfill the criteria.
THANK
YOU
Arun Kumar Moorthattil

You might also like