SlideShare a Scribd company logo
Java
Background
Features
Platform Independence
History
 "Java, whose original name was Oak, was developed as a part of
the Green project at Sun. It was started in December '90 by Patrick
Naughton, Mike Sheridan and James Gosling and was chartered to
spend time trying to figure out what would be the "next wave" of
computing and how we might catch it. They came to the conclusion
that at least one of the waves was going to be the convergence of
digitally controlled consumer devices and computers. "
 Applets and Applications
 "The team returned to work up a Java technology-based clone of
Mosaic they named "WebRunner" (after the movie Blade Runner),
later to become officially known as the HotJavaTM browser. It was
1994. WebRunner was just a demo, but an impressive one: It
brought to life, for the first time, animated, moving objects and
dynamic executable content inside a Web browser. That had never
been done. [At the TED conference.]"
What is Java
 Java - The new programming language from Sun Microsystems
 Java -Allows anyone to publish a web page with Java code in it
 Java - CPU Independent language
 Created for consumer electronics
 Java - James , Arthur Van , and others
What is Java
It is an object-oriented language developed by Sun in the mid 1990s.
Original language called Oak
Intended for embedded systems
• Unlike C++, it was developed from scratch.
The syntax is very similar to C.
Sun describes it as
"A simple, object-oriented, distributed, interpreted, robust, secure,
architecture neutral, portable, high-performance, multi-threaded
and dynamic language."
Object-Oriented
Designed to support Object-Oriented concepts
Distributed
Applications are constructed using objects. Objects can be
distributed in multiple locations within a network
environment.
Extensive integration with TCP/IP
Interpreted
Java compiles to byte-code (not machine code). Byte code
is interpreted.
Most Java versions after 1.2 include a JIT (Just-In-Time)
compiler which compiles byte code to machine code.
Robust
Memory management is done automatically
Use of pointers is limited
Secure
All Java code subject to security model.
Architecture-Neutral/Portable
Compiled Java (byte code) will run on any platform which
has a Java Virtual Machine
The Java Virtual Machine is available for almost all
platforms...
Even mainframes.
High-Performance
Originally, Java's performance was poor.
Now, Java's performance rivals C++.
Multi-Threaded
Processes contain multiple threads of execution.
Similar to multi-tasking but all threads share the same
memory space.
Dynamic
Makes heavy use of dynamic memory allocation.
Classes can be dynamically loaded at any time.
For World Java is :
 Snazzy Web pages
 The cross-platform language we want
 The C++ replacement we need
 The C++ replacement we dont need
 A bunch of hype
For SUN Java is:
 Simple and Powerful
 Object Oriented
 Portable
 Architecture Neutral
 Distributed
 Multi-threaded
 Robust, Secure/Safe
 Interpreted
 High Performance
 Dynamic pogramming language/platform.
For Us Java is :
 Simple
 Pure
 Portable
 Surprisingly effective
 Need of Today!!!!
Platform Independence
Platform ?
Independence????????
Java has been described as WORA (Write once, Run Anywhere)
In most cases, this is true.
Not always true with GUI.
Doesn't always come for free. Can require a lot of testing.
Platform Independence….
Traditional view :
Source.cpp
i386 binary
SPARC binary
PPC binary
Windows
Compiler
Solaris
Compiler
Mac
Compiler
JVM(Java Virtual Machine)
Java source files (.java) are compiled to Java bytecode (.class)
Bytecode is interpreted on the target platform within a Java Virtual
Machine
Source.java
i386 VM
SPARC VM
PPC VM
Java
Compiler
Java
Bytecode
Source.class
Why Virtual
JVM
 JVM is sometimes referred to as interpreter which takes the
byte code from Java Compiler (.Class) and generates the
object code for the target machine.
 The output of Java Compiler is not for a particular existing
machine, it is generated for JVM which is actually not a
machine therefore it is called Virtual Machine though it is a
translator/interpreter which converts one code (byte code) to
another code(machine code)
Independence
Because Java source code is compiled to byte code and the
byte code is interpreted, Java code can be executed anywhere
an interpreter is available.
The "Interpreter" is call the Java Virtual Machine
Java Class1
JVM
The Java VM does more than interpret bytecode:
The class loader loads appropriate java classes. Possibly
from the network.
All classes are verified to contain only legal bytecodes and
not permitted any illegal stack or register usage.
A SecurityManager can limit access to resources such as the
local file system or the network.
Any unreferenced memory (Objects) are returned to the
system by the Garbage Collector thread.
• Many database servers, application servers, web servers and
browsers contain a Java virtual machine
• eg: Oracle, Tomcat (web server), WebSphere (app server),
BEA Weblogic (app server), and Netscape and IE.
Java Integrates
Power of Compiled Languages
and
Flexibility of Interpreted
Languages

More Related Content

PPTX
Java Class 2
PPTX
Jdk,jre,jvm
DOCX
JDK,JRE,JVM
PDF
Java introduction with JVM architecture
PPTX
Java Virtual Machine (JVM), Difference JDK, JRE & JVM
PDF
Basic difference between jdk,jre,jvm in advance java course
PPTX
QSpiders - Jdk Jvm Jre and Jit
Java Class 2
Jdk,jre,jvm
JDK,JRE,JVM
Java introduction with JVM architecture
Java Virtual Machine (JVM), Difference JDK, JRE & JVM
Basic difference between jdk,jre,jvm in advance java course
QSpiders - Jdk Jvm Jre and Jit

What's hot (19)

PPTX
Jvm Architecture
PPT
Java-java virtual machine
PPTX
JAVA ENVIRONMENT
PPTX
Java architecture
PPTX
Java virtual machine
PPT
JVM- Java Virtual Machine
PPT
CS Lesson: Introduction to the Java virtual Machine
PPTX
Architecture diagram of jvm
PPTX
JRE , JDK and platform independent nature of JAVA
PPTX
PPTX
The Java Story
PPTX
History of java'
PPTX
Java introduction
PPT
Java Virtual Machine
PDF
What is-java
PDF
Java introduction
PPTX
Maven and versioning
PDF
Learn Java Part 1
Jvm Architecture
Java-java virtual machine
JAVA ENVIRONMENT
Java architecture
Java virtual machine
JVM- Java Virtual Machine
CS Lesson: Introduction to the Java virtual Machine
Architecture diagram of jvm
JRE , JDK and platform independent nature of JAVA
The Java Story
History of java'
Java introduction
Java Virtual Machine
What is-java
Java introduction
Maven and versioning
Learn Java Part 1
Ad

Similar to Java Class1 (20)

PDF
JAVA for Every one
PPT
PPS Java Overview Unit I.ppt
PPT
PPS Java Overview Unit I.ppt
PPT
J2ee strutswithhibernate-140121221332-phpapp01
PDF
Inside JVM
PPSX
Dr. Rajeshree Khande :Intoduction to java
PPSX
Intoduction to java
PPT
Java & J2EE Struts with Hibernate Framework
PPT
Object Oriented Programming-JAVA
PPTX
Java 2 computer science.pptx
PPTX
Lecture java variable , data type, token
PDF
JAVA AND ANDROID OS_PRESENTATION
PDF
Java programming Evolution-OverviewOfJava.pdf
PPTX
UNIT 1.pptx
PPTX
Java Lecture 1
PPTX
Java byte code presentation
PDF
Javanotes ww8
PPT
Introduction to Java Programming, Basic Structure, variables Data type, input...
PPTX
Java byte code & virtual machine
JAVA for Every one
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
J2ee strutswithhibernate-140121221332-phpapp01
Inside JVM
Dr. Rajeshree Khande :Intoduction to java
Intoduction to java
Java & J2EE Struts with Hibernate Framework
Object Oriented Programming-JAVA
Java 2 computer science.pptx
Lecture java variable , data type, token
JAVA AND ANDROID OS_PRESENTATION
Java programming Evolution-OverviewOfJava.pdf
UNIT 1.pptx
Java Lecture 1
Java byte code presentation
Javanotes ww8
Introduction to Java Programming, Basic Structure, variables Data type, input...
Java byte code & virtual machine
Ad

More from Mayank Aggarwal (6)

PPTX
Java Datatypes
PPTX
Java Classes
PPTX
Cloudsim modified
PPTX
Virtualization: Force driving cloud computing
PPTX
Cloud Computing : Revised Presentation
PPTX
Cloud Computing Made Easy
Java Datatypes
Java Classes
Cloudsim modified
Virtualization: Force driving cloud computing
Cloud Computing : Revised Presentation
Cloud Computing Made Easy

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
Teaching material agriculture food technology
PPTX
sap open course for s4hana steps from ECC to s4
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks
Unlocking AI with Model Context Protocol (MCP)
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
Teaching material agriculture food technology
sap open course for s4hana steps from ECC to s4

Java Class1

  • 2. History  "Java, whose original name was Oak, was developed as a part of the Green project at Sun. It was started in December '90 by Patrick Naughton, Mike Sheridan and James Gosling and was chartered to spend time trying to figure out what would be the "next wave" of computing and how we might catch it. They came to the conclusion that at least one of the waves was going to be the convergence of digitally controlled consumer devices and computers. "  Applets and Applications  "The team returned to work up a Java technology-based clone of Mosaic they named "WebRunner" (after the movie Blade Runner), later to become officially known as the HotJavaTM browser. It was 1994. WebRunner was just a demo, but an impressive one: It brought to life, for the first time, animated, moving objects and dynamic executable content inside a Web browser. That had never been done. [At the TED conference.]"
  • 3. What is Java  Java - The new programming language from Sun Microsystems  Java -Allows anyone to publish a web page with Java code in it  Java - CPU Independent language  Created for consumer electronics  Java - James , Arthur Van , and others
  • 4. What is Java It is an object-oriented language developed by Sun in the mid 1990s. Original language called Oak Intended for embedded systems • Unlike C++, it was developed from scratch. The syntax is very similar to C. Sun describes it as "A simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multi-threaded and dynamic language."
  • 5. Object-Oriented Designed to support Object-Oriented concepts Distributed Applications are constructed using objects. Objects can be distributed in multiple locations within a network environment. Extensive integration with TCP/IP Interpreted Java compiles to byte-code (not machine code). Byte code is interpreted. Most Java versions after 1.2 include a JIT (Just-In-Time) compiler which compiles byte code to machine code.
  • 6. Robust Memory management is done automatically Use of pointers is limited Secure All Java code subject to security model. Architecture-Neutral/Portable Compiled Java (byte code) will run on any platform which has a Java Virtual Machine The Java Virtual Machine is available for almost all platforms... Even mainframes.
  • 7. High-Performance Originally, Java's performance was poor. Now, Java's performance rivals C++. Multi-Threaded Processes contain multiple threads of execution. Similar to multi-tasking but all threads share the same memory space. Dynamic Makes heavy use of dynamic memory allocation. Classes can be dynamically loaded at any time.
  • 8. For World Java is :  Snazzy Web pages  The cross-platform language we want  The C++ replacement we need  The C++ replacement we dont need  A bunch of hype
  • 9. For SUN Java is:  Simple and Powerful  Object Oriented  Portable  Architecture Neutral  Distributed  Multi-threaded  Robust, Secure/Safe  Interpreted  High Performance  Dynamic pogramming language/platform.
  • 10. For Us Java is :  Simple  Pure  Portable  Surprisingly effective  Need of Today!!!!
  • 11. Platform Independence Platform ? Independence???????? Java has been described as WORA (Write once, Run Anywhere) In most cases, this is true. Not always true with GUI. Doesn't always come for free. Can require a lot of testing.
  • 12. Platform Independence…. Traditional view : Source.cpp i386 binary SPARC binary PPC binary Windows Compiler Solaris Compiler Mac Compiler
  • 13. JVM(Java Virtual Machine) Java source files (.java) are compiled to Java bytecode (.class) Bytecode is interpreted on the target platform within a Java Virtual Machine Source.java i386 VM SPARC VM PPC VM Java Compiler Java Bytecode Source.class
  • 15. JVM  JVM is sometimes referred to as interpreter which takes the byte code from Java Compiler (.Class) and generates the object code for the target machine.  The output of Java Compiler is not for a particular existing machine, it is generated for JVM which is actually not a machine therefore it is called Virtual Machine though it is a translator/interpreter which converts one code (byte code) to another code(machine code)
  • 16. Independence Because Java source code is compiled to byte code and the byte code is interpreted, Java code can be executed anywhere an interpreter is available. The "Interpreter" is call the Java Virtual Machine
  • 18. JVM The Java VM does more than interpret bytecode: The class loader loads appropriate java classes. Possibly from the network. All classes are verified to contain only legal bytecodes and not permitted any illegal stack or register usage. A SecurityManager can limit access to resources such as the local file system or the network. Any unreferenced memory (Objects) are returned to the system by the Garbage Collector thread. • Many database servers, application servers, web servers and browsers contain a Java virtual machine • eg: Oracle, Tomcat (web server), WebSphere (app server), BEA Weblogic (app server), and Netscape and IE.
  • 19. Java Integrates Power of Compiled Languages and Flexibility of Interpreted Languages