SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Introduction to Java
Objectives At the end of the lesson, the student should be able to: ● Describe the features of Java technology such as the Java virtual machine (JVM), garbage collection (GC) and code security ● Describe the different phases of a Java program
Java Background: History ● Java – The original motivation for Java ● The need for platform independent language that could be embedded in various consumer electronic products like toasters and refrigerators. – One of the first projects developed using Java ● a personal hand-held remote control named Star 7. – At about the same time, the World Wide Web and the Internet were gaining popularity. Gosling et. al. realized that Java could be used for Internet programming.
Java Background: What is Java Technology? ● The Java technology is: – A programming language – A development environment – An application environment – A deployment environment
Java Technology: Programming Language ● As a programming language, Java can create all kinds of applications that you could create using any conventional programming language.
Java Technology: A Development Environment ●  As a development environment, Java technology provides you with a large suite of tools: –  A compiler (javac) –  An interpreter (java) –  A documentation generator (javadoc) –  A class file packaging tool and so on...
Java Technology: An Application and Runtime Environment ● Java technology applications are typically general-purpose programs that run on any machine where the Java runtime environment (JRE) is installed. ● There are two main deployment environments: 1. The JRE supplied by the Java 2 Software Development Kit (SDK) contains the complete set of class files for all the Java technology packages, which includes basic language classes, GUI component classes, and so on. 2. The other main deployment environment is on your web browser. Most commercial browsers supply a Java technology interpreter and runtime environment.
Java Features ● Some features of Java: – The Java Virtual Machine – Garbage Collection – Code Security
Java Features: The Java Virtual Machine ●  Java Virtual Machine (JVM) –  an imaginary machine that is implemented by emulating software on a real machine –  provides the hardware platform specifications to which you compile all Java technology code ●  Bytecode –  a special machine language that can be understood by the Java Virtual Machine (JVM) –  independent of any particular computer hardware, so any computer with a Java interpreter can execute the compiled Java program, no matter what type of computer the program was compiled on
Java Features: Garbage Collection ●  Garbage collection thread –  responsible for freeing any memory that can be freed. This happens automatically during the lifetime of the Java program. –  programmer is freed from the burden of having to deallocate that memory themselves
Java Features: Code Security ●  Code security is attained in Java through the implementation of its Java Runtime Environment (JRE). ●  JRE –  runs code compiled for a JVM and performs class loading (through the class loader), code verification (through the bytecode verifier) and finally code execution
Java Features: Code Security ● Class Loader – responsible for loading all classes needed for the Java program – adds security by separating the namespaces for the classes of the local file system from those that are imported from network sources – After loading all the classes, the memory layout of the executable is then determined. This adds protection against unauthorized access to restricted areas of the code since the memory layout is determined during runtime
Java Features: Code Security ●  Bytecode verifier –  tests the format of the code fragments and checks the code fragments for illegal code that can violate access rights to objects
Phases of a Java Program ● The following figure describes the process of compiling and executing a Java program
Phases of a Java Program
Summary ● Java Background – History – Java Technology ● A programming language, development environment, application environment and deployment environment – Java Features ● Java Virtual machine, garbage collection and code security ● Phases of a Java Program – Write, compile, run

Weitere ähnliche Inhalte

Andere mochten auch

Stribe The Geeks on a Plane Paris 2009
Stribe The Geeks on a Plane Paris 2009Stribe The Geeks on a Plane Paris 2009
Stribe The Geeks on a Plane Paris 2009Megan Dahlgren
 
Kwaga Presentation the Geeks on a Plane Paris September 2009
Kwaga Presentation the Geeks on a Plane Paris September 2009Kwaga Presentation the Geeks on a Plane Paris September 2009
Kwaga Presentation the Geeks on a Plane Paris September 2009Megan Dahlgren
 
2 Getting To Know Your Programing Environment
2 Getting To Know Your Programing Environment2 Getting To Know Your Programing Environment
2 Getting To Know Your Programing EnvironmentdM Technologies
 
Silentale the Geeks on a Plane Paris 2009
Silentale the Geeks on a Plane Paris 2009Silentale the Geeks on a Plane Paris 2009
Silentale the Geeks on a Plane Paris 2009Megan Dahlgren
 

Andere mochten auch (6)

The Sichuan Earthquake
The Sichuan EarthquakeThe Sichuan Earthquake
The Sichuan Earthquake
 
Stribe The Geeks on a Plane Paris 2009
Stribe The Geeks on a Plane Paris 2009Stribe The Geeks on a Plane Paris 2009
Stribe The Geeks on a Plane Paris 2009
 
Kwaga Presentation the Geeks on a Plane Paris September 2009
Kwaga Presentation the Geeks on a Plane Paris September 2009Kwaga Presentation the Geeks on a Plane Paris September 2009
Kwaga Presentation the Geeks on a Plane Paris September 2009
 
3(1)
3(1)3(1)
3(1)
 
2 Getting To Know Your Programing Environment
2 Getting To Know Your Programing Environment2 Getting To Know Your Programing Environment
2 Getting To Know Your Programing Environment
 
Silentale the Geeks on a Plane Paris 2009
Silentale the Geeks on a Plane Paris 2009Silentale the Geeks on a Plane Paris 2009
Silentale the Geeks on a Plane Paris 2009
 

Ähnlich wie 1 Introduction To Java Technology

Ähnlich wie 1 Introduction To Java Technology (20)

Introduction to java
Introduction to java Introduction to java
Introduction to java
 
JAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptxJAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptx
 
JAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptxJAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptx
 
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptxJAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
 
Notes of java first unit
Notes of java first unitNotes of java first unit
Notes of java first unit
 
java intro.pptx
java intro.pptxjava intro.pptx
java intro.pptx
 
FEATURES OF JAVA
FEATURES OF JAVAFEATURES OF JAVA
FEATURES OF JAVA
 
Presentation on java
Presentation on javaPresentation on java
Presentation on java
 
Java programming(unit 1)
Java programming(unit 1)Java programming(unit 1)
Java programming(unit 1)
 
Java ms harsha
Java ms harshaJava ms harsha
Java ms harsha
 
Java ppt1
Java ppt1Java ppt1
Java ppt1
 
Introduction to JAVA
Introduction to JAVAIntroduction to JAVA
Introduction to JAVA
 
unit1.pptx
unit1.pptxunit1.pptx
unit1.pptx
 
j-chap1-Basics.ppt
j-chap1-Basics.pptj-chap1-Basics.ppt
j-chap1-Basics.ppt
 
CORE JAVA
CORE JAVACORE JAVA
CORE JAVA
 
Getting Started with JAVA
Getting Started with JAVAGetting Started with JAVA
Getting Started with JAVA
 
Java unit 1
Java unit 1Java unit 1
Java unit 1
 
JAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptxJAVA ALL 5 MODULE NOTES.pptx
JAVA ALL 5 MODULE NOTES.pptx
 

Kürzlich hochgeladen

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Kürzlich hochgeladen (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

1 Introduction To Java Technology

  • 2. Objectives At the end of the lesson, the student should be able to: ● Describe the features of Java technology such as the Java virtual machine (JVM), garbage collection (GC) and code security ● Describe the different phases of a Java program
  • 3. Java Background: History ● Java – The original motivation for Java ● The need for platform independent language that could be embedded in various consumer electronic products like toasters and refrigerators. – One of the first projects developed using Java ● a personal hand-held remote control named Star 7. – At about the same time, the World Wide Web and the Internet were gaining popularity. Gosling et. al. realized that Java could be used for Internet programming.
  • 4. Java Background: What is Java Technology? ● The Java technology is: – A programming language – A development environment – An application environment – A deployment environment
  • 5. Java Technology: Programming Language ● As a programming language, Java can create all kinds of applications that you could create using any conventional programming language.
  • 6. Java Technology: A Development Environment ● As a development environment, Java technology provides you with a large suite of tools: – A compiler (javac) – An interpreter (java) – A documentation generator (javadoc) – A class file packaging tool and so on...
  • 7. Java Technology: An Application and Runtime Environment ● Java technology applications are typically general-purpose programs that run on any machine where the Java runtime environment (JRE) is installed. ● There are two main deployment environments: 1. The JRE supplied by the Java 2 Software Development Kit (SDK) contains the complete set of class files for all the Java technology packages, which includes basic language classes, GUI component classes, and so on. 2. The other main deployment environment is on your web browser. Most commercial browsers supply a Java technology interpreter and runtime environment.
  • 8. Java Features ● Some features of Java: – The Java Virtual Machine – Garbage Collection – Code Security
  • 9. Java Features: The Java Virtual Machine ● Java Virtual Machine (JVM) – an imaginary machine that is implemented by emulating software on a real machine – provides the hardware platform specifications to which you compile all Java technology code ● Bytecode – a special machine language that can be understood by the Java Virtual Machine (JVM) – independent of any particular computer hardware, so any computer with a Java interpreter can execute the compiled Java program, no matter what type of computer the program was compiled on
  • 10. Java Features: Garbage Collection ● Garbage collection thread – responsible for freeing any memory that can be freed. This happens automatically during the lifetime of the Java program. – programmer is freed from the burden of having to deallocate that memory themselves
  • 11. Java Features: Code Security ● Code security is attained in Java through the implementation of its Java Runtime Environment (JRE). ● JRE – runs code compiled for a JVM and performs class loading (through the class loader), code verification (through the bytecode verifier) and finally code execution
  • 12. Java Features: Code Security ● Class Loader – responsible for loading all classes needed for the Java program – adds security by separating the namespaces for the classes of the local file system from those that are imported from network sources – After loading all the classes, the memory layout of the executable is then determined. This adds protection against unauthorized access to restricted areas of the code since the memory layout is determined during runtime
  • 13. Java Features: Code Security ● Bytecode verifier – tests the format of the code fragments and checks the code fragments for illegal code that can violate access rights to objects
  • 14. Phases of a Java Program ● The following figure describes the process of compiling and executing a Java program
  • 15. Phases of a Java Program
  • 16. Summary ● Java Background – History – Java Technology ● A programming language, development environment, application environment and deployment environment – Java Features ● Java Virtual machine, garbage collection and code security ● Phases of a Java Program – Write, compile, run