SlideShare a Scribd company logo
Introduction to Java
Programming Language
By
Norazah Yusof
Software Engineering Department
F lt f C t S i d I f ti S tFaculty of Computer Science and Information Systems
1
OutlineOutline
The origin of Java.
The Java history.The Java history.
The capabilities of Java programming language.
The Java language specificationsThe Java language specifications
The Java API
The Java development toolsThe Java development tools
How does byte code makes Java a portable 
language?language?
2
Origin of Java
I 1991 J d l d b t l d b J
Origin of Java
In 1991, Java was developed by a team led by James 
Gosling and Patrick Naughton at Sun Microsystems.
Originally named Oak Gosling liked the look ofOriginally named Oak ‐ Gosling liked the look of 
an oak tree that was outside his window at Sun.
3
History of Java
Th h ll F i b dd d
History of Java
The challenge: For use in embedded consumer 
electronic appliances ‐ the cable TV switchboxes.
Different manufacturers may choose different centralDifferent manufacturers may choose different central 
processing units (CPUs).
The cable TV switchboxes devices do not have a lot of 
power or memory.
The language; 
Had to be small and generate very tight code.
Not be tied to any single architecture.
4
History of JavaHistory of Java
A two‐step Java translation process have been 
developed:
Programs written in Java were translated into an 
intermediate language, known the byte code.
Th th b t d ld b t l t d i t hiThen, the byte code would be translated into machine 
language.
5
History of Java
I 1994 J d t d l W b b
History of Java
In 1994, Java was used to develop a Web browser, 
named HotJava.
The browser able to download and run small JavaThe browser able to download and run small Java 
programs over the internet, known as the applets.
Capable to display animation and interact with the user.
In 1995, Netscape incorporated Java technology 
into its Netscape browser. 
Then, other Internet companies followed . . .
6
Java Capabilities
J i f ll f t d d l
Java Capabilities
Java is a full‐featured and general‐purpose 
programming language that is capable of 
developing a robust mission‐critical applications for:developing a robust mission critical applications for:
Desktops
Servers
Mobile devices
The Java programming language is a relatively high‐
level language, class‐based and object‐oriented.
7
Java CapabilitiesJava Capabilities
Java running on the desktop is called application.
Java running on the Internet is called appletsJava running on the Internet is called applets.
Java developed on the server‐side is called servlet.
8
Java Language SpecificationJava Language Specification
Defines the Java standard and the technical 
definition of the languagedefinition of the language.
includes the syntax and semantics of the language.
url:
java.sun.com/docs/books/jls
9
Application Program InterfaceApplication Program Interface
Java application program interface (API) contains 
the predefined classes and interfaces for developing 
Java programs.
In 1995, Java 1.0 was introduced.
With 211 classes and interfaces.
In December 1998, Java 2 platform was announced.
l h lApplies to current Java technology.
10
Java APIJava API
11
Java APIJava API
There are 3 editions of the Java API:
Java 2 standard edition (J2SE)Java 2 standard edition (J2SE) 
• Client‐side standalone applications or applets.
Java 2 Enterprise Edition (J2EE) p ( )
• Server‐side applications, such as Java servlets and 
JavaServer Pages.
Java 2 Micro Edition (J2ME)Java 2 Micro Edition (J2ME) 
• Mobile devices, such as cell phones or pda.
12
Demonstrate how to link to Java 
APIAPI
13
J2SE versions and JDKJ2SE versions and JDK
There are many versions of J2SE.
Sun releases each version of J2SE with a Java 
Development toolkit (JDK)Development toolkit (JDK).
JDK consists of a set of separate programs for 
developing and testing Java programsdeveloping and testing Java programs.
Each of which is invoked from a command line.
For J2SE 5 0 the Java development toolkit is calledFor J2SE 5.0, the Java development toolkit is called 
JDK 5 – formerly was known as JDK1.5.
The latest version is J2SE 6.
14
Java Development Tools
A software that provides an integrated development
Java Development Tools
A software that provides an integrated development 
environment (IDE) for rapidly developing Java programs.
Java development tools on the market:p
NetBeans by Sun (open source)
JBuilder by Borland
Eclipse by IBM (open source)
Other useful tools:
Code warrior by Metroworks
TextPad Editor
JCreator LE
Jedit
BlueJ
15
Byte‐Code and the 
i l hi ( )Java Virtual Machine (JVM)
The Java compiler translates Java programs into 
byte‐code.
Once compiled to byte‐code, a Java program can be used 
on any computer, making it very portable machine. 
The Java Virtual Machine (JVM) translates the byteThe Java Virtual Machine (JVM) translates the byte 
code into machine language.
16
PortabilityPortability
Portable means that a program may be writtenPortable means that a program may be written
on one type of computer and then run on a wide
variety of computers, with little or noy p
modification.
Java byte code runs on the JVM and not on any
ti l CPU th f il d Jparticular CPU; therefore, compiled Java
programs are highly portable.
JVMs exist on many platforms:JVMs exist on many platforms:
Windows
Macintosh
LinuxLinux
17
PortabilityPortability
Byte code
(.class)
Java Virtual
Java Virtual
Machine for Windows
Java Virtual
Machine for Unix
Java Virtual
M hi f Li
Java Virtual
M hi f M i t h
18
Machine for Linux Machine for Macintosh

More Related Content

What's hot

Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The Phone
Marko Gargenta
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overview
QA Club Kiev
 
Multi-Configuration support in MTJ
Multi-Configuration support in MTJMulti-Configuration support in MTJ
Multi-Configuration support in MTJ
gustavoeliano
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
Kevin Sutter
 
Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidElvis Jon Freddy Sitinjak
 
Zeelogic android-training-2013
Zeelogic android-training-2013Zeelogic android-training-2013
Zeelogic android-training-2013Zeelogic Solu
 
Andriod
Andriod Andriod
Andriod
Chayan Upadhyay
 
Multi-OS Engine Technology Overview
Multi-OS Engine Technology OverviewMulti-OS Engine Technology Overview
Multi-OS Engine Technology Overview
Karthiyayini Chinnaswamy
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
PERKYTORIALS
 
Great Cup od Java
Great Cup od JavaGreat Cup od Java
Great Cup od Java
CIB Egypt
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
National Cheng Kung University
 
J2EE Struts with Hibernate Framework
J2EE Struts with Hibernate FrameworkJ2EE Struts with Hibernate Framework
J2EE Struts with Hibernate Framework
mparth
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
 

What's hot (18)

Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The Phone
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overview
 
Multi-Configuration support in MTJ
Multi-Configuration support in MTJMulti-Configuration support in MTJ
Multi-Configuration support in MTJ
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
 
Session 1 beccse
Session 1 beccseSession 1 beccse
Session 1 beccse
 
Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-android
 
Lec 3 01_aug13
Lec 3 01_aug13Lec 3 01_aug13
Lec 3 01_aug13
 
Android session-1-sajib
Android session-1-sajibAndroid session-1-sajib
Android session-1-sajib
 
Os Lattner
Os LattnerOs Lattner
Os Lattner
 
Zeelogic android-training-2013
Zeelogic android-training-2013Zeelogic android-training-2013
Zeelogic android-training-2013
 
Andriod
Andriod Andriod
Andriod
 
Multi-OS Engine Technology Overview
Multi-OS Engine Technology OverviewMulti-OS Engine Technology Overview
Multi-OS Engine Technology Overview
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
 
Great Cup od Java
Great Cup od JavaGreat Cup od Java
Great Cup od Java
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
J2EE Struts with Hibernate Framework
J2EE Struts with Hibernate FrameworkJ2EE Struts with Hibernate Framework
J2EE Struts with Hibernate Framework
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Santhosh BE
Santhosh BESanthosh BE
Santhosh BE
 

Viewers also liked

Hendrick Linked In Resume September 2016
Hendrick Linked In Resume September 2016Hendrick Linked In Resume September 2016
Hendrick Linked In Resume September 2016Geoff Hendrick
 
ACE - Flipper - Flyer and Syllabus
ACE - Flipper - Flyer and SyllabusACE - Flipper - Flyer and Syllabus
ACE - Flipper - Flyer and SyllabusJohn Wood
 
Entorno power point
Entorno power pointEntorno power point
Entorno power point
Pedro Ismael Pasos Leon
 
1.8bryanformoso
1.8bryanformoso1.8bryanformoso
1.8bryanformoso
bryan formoso
 
Dignity Health
Dignity HealthDignity Health
Dignity HealthDale Houts
 
Poster eridob 2016
Poster eridob 2016Poster eridob 2016
Poster eridob 2016
Christian Bokhove
 
Basic java tutorial
Basic java tutorialBasic java tutorial
Basic java tutorial
Pedro De Almeida
 
Java Basics
Java BasicsJava Basics
Java Basics
shivamgarg_nitj
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Veerabadra Badra
 

Viewers also liked (11)

Vijay Sharma
Vijay SharmaVijay Sharma
Vijay Sharma
 
Hendrick Linked In Resume September 2016
Hendrick Linked In Resume September 2016Hendrick Linked In Resume September 2016
Hendrick Linked In Resume September 2016
 
ACE - Flipper - Flyer and Syllabus
ACE - Flipper - Flyer and SyllabusACE - Flipper - Flyer and Syllabus
ACE - Flipper - Flyer and Syllabus
 
Entorno power point
Entorno power pointEntorno power point
Entorno power point
 
1.8bryanformoso
1.8bryanformoso1.8bryanformoso
1.8bryanformoso
 
Betting on Vegas
Betting on VegasBetting on Vegas
Betting on Vegas
 
Dignity Health
Dignity HealthDignity Health
Dignity Health
 
Poster eridob 2016
Poster eridob 2016Poster eridob 2016
Poster eridob 2016
 
Basic java tutorial
Basic java tutorialBasic java tutorial
Basic java tutorial
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 

Similar to Java primers passos (English)

Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
jaimefrozr
 
Introduction to Java in cs engineering .pptx
Introduction to Java in cs engineering .pptxIntroduction to Java in cs engineering .pptx
Introduction to Java in cs engineering .pptx
rastogimehak3845
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programming
business Corporate
 
TechSearchWeb.pdf
TechSearchWeb.pdfTechSearchWeb.pdf
TechSearchWeb.pdf
TechSearchWeb
 
Technology Tutorial.pdf
Technology Tutorial.pdfTechnology Tutorial.pdf
Technology Tutorial.pdf
TechSearchWeb
 
Lecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastLecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 Fast
UzairSaeed18
 
TechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdf
TechSearchWeb
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Saba Ameer
 
Java Lecture 1
Java Lecture 1Java Lecture 1
Java Lecture 1
Qualys
 
Java programming(unit 1)
Java programming(unit 1)Java programming(unit 1)
Java programming(unit 1)
SURBHI SAROHA
 
Presentation on Java Basic
Presentation on Java BasicPresentation on Java Basic
Presentation on Java Basic
Rustamji Institute of Technology
 
Java application-development
Java application-developmentJava application-development
Java application-development
Deepika Chaudhary
 
Chapter 1 java
Chapter 1 java Chapter 1 java
Chapter 1 java
Ahmad sohail Kakar
 
Java
JavaJava
Dr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :Intoduction to javaDr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :Intoduction to java
DrRajeshreeKhande
 
Intoduction to java
Intoduction to javaIntoduction to java
Intoduction to java
jalinder123
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptx
DrPreethiD1
 
Learn Java Part 1
Learn Java Part 1Learn Java Part 1
Learn Java Part 1
Gurpreet singh
 
Java ppt1
Java ppt1Java ppt1
Java ppt1
nikhilsh66131
 

Similar to Java primers passos (English) (20)

Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
 
Introduction to Java in cs engineering .pptx
Introduction to Java in cs engineering .pptxIntroduction to Java in cs engineering .pptx
Introduction to Java in cs engineering .pptx
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programming
 
TechSearchWeb.pdf
TechSearchWeb.pdfTechSearchWeb.pdf
TechSearchWeb.pdf
 
Technology Tutorial.pdf
Technology Tutorial.pdfTechnology Tutorial.pdf
Technology Tutorial.pdf
 
Lecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastLecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 Fast
 
TechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdf
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Java Lecture 1
Java Lecture 1Java Lecture 1
Java Lecture 1
 
Java programming(unit 1)
Java programming(unit 1)Java programming(unit 1)
Java programming(unit 1)
 
Core java slides
Core java slidesCore java slides
Core java slides
 
Presentation on Java Basic
Presentation on Java BasicPresentation on Java Basic
Presentation on Java Basic
 
Java application-development
Java application-developmentJava application-development
Java application-development
 
Chapter 1 java
Chapter 1 java Chapter 1 java
Chapter 1 java
 
Java
JavaJava
Java
 
Dr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :Intoduction to javaDr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :Intoduction to java
 
Intoduction to java
Intoduction to javaIntoduction to java
Intoduction to java
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptx
 
Learn Java Part 1
Learn Java Part 1Learn Java Part 1
Learn Java Part 1
 
Java ppt1
Java ppt1Java ppt1
Java ppt1
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

Java primers passos (English)

  • 1. Introduction to Java Programming Language By Norazah Yusof Software Engineering Department F lt f C t S i d I f ti S tFaculty of Computer Science and Information Systems 1
  • 2. OutlineOutline The origin of Java. The Java history.The Java history. The capabilities of Java programming language. The Java language specificationsThe Java language specifications The Java API The Java development toolsThe Java development tools How does byte code makes Java a portable  language?language? 2
  • 3. Origin of Java I 1991 J d l d b t l d b J Origin of Java In 1991, Java was developed by a team led by James  Gosling and Patrick Naughton at Sun Microsystems. Originally named Oak Gosling liked the look ofOriginally named Oak ‐ Gosling liked the look of  an oak tree that was outside his window at Sun. 3
  • 4. History of Java Th h ll F i b dd d History of Java The challenge: For use in embedded consumer  electronic appliances ‐ the cable TV switchboxes. Different manufacturers may choose different centralDifferent manufacturers may choose different central  processing units (CPUs). The cable TV switchboxes devices do not have a lot of  power or memory. The language;  Had to be small and generate very tight code. Not be tied to any single architecture. 4
  • 5. History of JavaHistory of Java A two‐step Java translation process have been  developed: Programs written in Java were translated into an  intermediate language, known the byte code. Th th b t d ld b t l t d i t hiThen, the byte code would be translated into machine  language. 5
  • 6. History of Java I 1994 J d t d l W b b History of Java In 1994, Java was used to develop a Web browser,  named HotJava. The browser able to download and run small JavaThe browser able to download and run small Java  programs over the internet, known as the applets. Capable to display animation and interact with the user. In 1995, Netscape incorporated Java technology  into its Netscape browser.  Then, other Internet companies followed . . . 6
  • 7. Java Capabilities J i f ll f t d d l Java Capabilities Java is a full‐featured and general‐purpose  programming language that is capable of  developing a robust mission‐critical applications for:developing a robust mission critical applications for: Desktops Servers Mobile devices The Java programming language is a relatively high‐ level language, class‐based and object‐oriented. 7
  • 8. Java CapabilitiesJava Capabilities Java running on the desktop is called application. Java running on the Internet is called appletsJava running on the Internet is called applets. Java developed on the server‐side is called servlet. 8
  • 9. Java Language SpecificationJava Language Specification Defines the Java standard and the technical  definition of the languagedefinition of the language. includes the syntax and semantics of the language. url: java.sun.com/docs/books/jls 9
  • 10. Application Program InterfaceApplication Program Interface Java application program interface (API) contains  the predefined classes and interfaces for developing  Java programs. In 1995, Java 1.0 was introduced. With 211 classes and interfaces. In December 1998, Java 2 platform was announced. l h lApplies to current Java technology. 10
  • 12. Java APIJava API There are 3 editions of the Java API: Java 2 standard edition (J2SE)Java 2 standard edition (J2SE)  • Client‐side standalone applications or applets. Java 2 Enterprise Edition (J2EE) p ( ) • Server‐side applications, such as Java servlets and  JavaServer Pages. Java 2 Micro Edition (J2ME)Java 2 Micro Edition (J2ME)  • Mobile devices, such as cell phones or pda. 12
  • 14. J2SE versions and JDKJ2SE versions and JDK There are many versions of J2SE. Sun releases each version of J2SE with a Java  Development toolkit (JDK)Development toolkit (JDK). JDK consists of a set of separate programs for  developing and testing Java programsdeveloping and testing Java programs. Each of which is invoked from a command line. For J2SE 5 0 the Java development toolkit is calledFor J2SE 5.0, the Java development toolkit is called  JDK 5 – formerly was known as JDK1.5. The latest version is J2SE 6. 14
  • 15. Java Development Tools A software that provides an integrated development Java Development Tools A software that provides an integrated development  environment (IDE) for rapidly developing Java programs. Java development tools on the market:p NetBeans by Sun (open source) JBuilder by Borland Eclipse by IBM (open source) Other useful tools: Code warrior by Metroworks TextPad Editor JCreator LE Jedit BlueJ 15
  • 16. Byte‐Code and the  i l hi ( )Java Virtual Machine (JVM) The Java compiler translates Java programs into  byte‐code. Once compiled to byte‐code, a Java program can be used  on any computer, making it very portable machine.  The Java Virtual Machine (JVM) translates the byteThe Java Virtual Machine (JVM) translates the byte  code into machine language. 16
  • 17. PortabilityPortability Portable means that a program may be writtenPortable means that a program may be written on one type of computer and then run on a wide variety of computers, with little or noy p modification. Java byte code runs on the JVM and not on any ti l CPU th f il d Jparticular CPU; therefore, compiled Java programs are highly portable. JVMs exist on many platforms:JVMs exist on many platforms: Windows Macintosh LinuxLinux 17
  • 18. PortabilityPortability Byte code (.class) Java Virtual Java Virtual Machine for Windows Java Virtual Machine for Unix Java Virtual M hi f Li Java Virtual M hi f M i t h 18 Machine for Linux Machine for Macintosh