SlideShare a Scribd company logo
1 of 18
Download to read offline
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 PhoneMarko Gargenta
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overviewQA Club Kiev
 
Multi-Configuration support in MTJ
Multi-Configuration support in MTJMulti-Configuration support in MTJ
Multi-Configuration support in MTJgustavoeliano
 
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-1Kevin 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
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programmingPERKYTORIALS
 
Great Cup od Java
Great Cup od JavaGreat Cup od Java
Great Cup od JavaCIB Egypt
 
J2EE Struts with Hibernate Framework
J2EE Struts with Hibernate FrameworkJ2EE Struts with Hibernate Framework
J2EE Struts with Hibernate Frameworkmparth
 
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_osArnav 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

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 Languagejaimefrozr
 
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 .pptxrastogimehak3845
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programmingbusiness Corporate
 
Technology Tutorial.pdf
Technology Tutorial.pdfTechnology Tutorial.pdf
Technology Tutorial.pdfTechSearchWeb
 
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 FastUzairSaeed18
 
TechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to javaSaba Ameer
 
Java Lecture 1
Java Lecture 1Java Lecture 1
Java Lecture 1Qualys
 
Java programming(unit 1)
Java programming(unit 1)Java programming(unit 1)
Java programming(unit 1)SURBHI SAROHA
 
Java application-development
Java application-developmentJava application-development
Java application-developmentDeepika Chaudhary
 
Intoduction to java
Intoduction to javaIntoduction to java
Intoduction to javajalinder123
 
Dr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :Intoduction to javaDr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :Intoduction to javaDrRajeshreeKhande
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxDrPreethiD1
 

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
 
Intoduction to java
Intoduction to javaIntoduction to java
Intoduction to java
 
Dr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :Intoduction to javaDr. Rajeshree Khande :Intoduction to java
Dr. Rajeshree Khande :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
 
Java ppt1
Java ppt1Java ppt1
Java ppt1
 
Learn Java Part 1
Learn Java Part 1Learn Java Part 1
Learn Java Part 1
 

Recently uploaded

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

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