SlideShare a Scribd company logo
1 of 20
Java Technology
Jussi Pohjolainen
Tampere University of Applied Sciences
INTRODUCTION TO JAVA
TECHNOLOGY
Introduction to Java
• Java is a programming language developed by
James Gosling at Sun Microsystems
• Released in 1995
• Syntax derived from C and C++
History
• Java 1.0 in 1995
• Initial Success:
– Write Once Run Anywhere (WORA)
– Web Browsers incorporated the ability to run small
Java – programs called Applets
• Java 2 was introduced in 1998, divided into three
categories:
– Java2 Enterprise Edition (J2EE)
– Java2 Standard Edition (J2SE)
– Java2 Micro Edition (J2ME)
Today
• In 2006 Sun renamed Java 2 versions
– Java EE
– Java SE
– Java ME
• Java versioning: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 and
1.6 (which is the current)
• Most popular programming language!
– http://www.tiobe.com/index.php/content/paperin
fo/tpci/index.html
Java on Desktop: SwingSet demo
Java on Mobile: Opera Mini
Java on Server: Etuovi.com
Java's Future?
• Very few Java desktop apps
– Sluggish performance?
– Why use Java when you have Qt?
• Popular on the enterprise and mobile side
– Mobile programming is under heavy turbulence at the
moment:
• Nokia's Qt (C++)
• Apple's iPhone (Objective-C)
• Google's Android (Java)
• Sun Microsystem's financial trouble, Oracle
bought Sun in April 2009!
Compiling Java Apps
http://java.sun.com/docs/books/tutorial/getSt
arted/intro/definition.html
Compiling Qt Apps
http://www.symbianresources.com/tutorials/q
t/01-QtIntroduction.pdf
JAVA TOOLS
Java Tools
• Three platforms: Java SE, Java ME, Java EE
• Java SE is used for desktop apps:
– Java SE Runtime Environment (JRE)
• For running Java apps
– Java SE Development Kit (JDK)
• For developing and running Java Apps
• Includes JRE!
NetBeans Bundle
• The JDK comes with only the necessary tools
to compile and run apps
• The JDK with NetBeans bundle is a IDE
(Integrated Development Environment) that
has all the tools to create Java SE apps
NetBeans on Mac OS X
Using Text Editor and JDK
• NetBeans is very powerful tool for creating
Java Apps
• If you are about to start learning
programming, I do not recommend NetBeans,
use plain text editor and JDK instead!
– NetBeans does a lot work in the background
– NetBeans can be sluggish on older computers
– NetBeans can be confusing for junior
programmers
Basic JDK Commands
(Command Prompt)
• javac – Java Compiler
– javac MyProgram.java
• java – Running Java Apps
– java MyProgram
• That's it!
NotePad++
• Free text editor indented for programming
(Windows)
• Change settings / preferences
– New Document: Format: Unix / Windows
• Depending on your configuration
– New Document: Encoding: ISO-8859-1
– New Document: Default Language: Java
– Document: Tab Size 4, [x] Replace by Space
Exercise
• Download and configure Notepad++
• Download Java SE 6
• Read ...
– http://java.sun.com/docs/books/tutorial/getStart
ed/cupojava/win32.html
• ... and Compile and run "HelloWorld"-
application

More Related Content

What's hot

Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to JavaSoumya Suman
 
Introduction of java technology
Introduction of java technologyIntroduction of java technology
Introduction of java technologytechnologieslara
 
Presentation on java (8)
Presentation on java (8)Presentation on java (8)
Presentation on java (8)Shwetakant1
 
Pi j1.1 what-is-java
Pi j1.1 what-is-javaPi j1.1 what-is-java
Pi j1.1 what-is-javamcollison
 
Microsoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal AzharMicrosoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal AzharMd Kamal Azhar
 
JAVA ENVIRONMENT
JAVA  ENVIRONMENTJAVA  ENVIRONMENT
JAVA ENVIRONMENTjosemachoco
 
JRE , JDK and platform independent nature of JAVA
JRE , JDK and platform independent nature of JAVAJRE , JDK and platform independent nature of JAVA
JRE , JDK and platform independent nature of JAVAMehak Tawakley
 
Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014) Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014) Edem Kumodzi
 
Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)Luis Merino
 
Java Development Kit (jdk)
Java Development Kit (jdk)Java Development Kit (jdk)
Java Development Kit (jdk)Jadavsejal
 
02 java programming features of java i
02 java programming features of java  i02 java programming features of java  i
02 java programming features of java iRavi Patki
 

What's hot (20)

Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
JAVA Career
JAVA CareerJAVA Career
JAVA Career
 
Ten years later
Ten years laterTen years later
Ten years later
 
Introduction of java technology
Introduction of java technologyIntroduction of java technology
Introduction of java technology
 
Lara Technology
Lara TechnologyLara Technology
Lara Technology
 
Presentation on java (8)
Presentation on java (8)Presentation on java (8)
Presentation on java (8)
 
Java
JavaJava
Java
 
Pi j1.1 what-is-java
Pi j1.1 what-is-javaPi j1.1 what-is-java
Pi j1.1 what-is-java
 
Java
JavaJava
Java
 
Microsoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal AzharMicrosoft Robotics Developer Studio presentation by Md Kamal Azhar
Microsoft Robotics Developer Studio presentation by Md Kamal Azhar
 
JAVA ENVIRONMENT
JAVA  ENVIRONMENTJAVA  ENVIRONMENT
JAVA ENVIRONMENT
 
JRE , JDK and platform independent nature of JAVA
JRE , JDK and platform independent nature of JAVAJRE , JDK and platform independent nature of JAVA
JRE , JDK and platform independent nature of JAVA
 
Java presentation
Java presentation Java presentation
Java presentation
 
Evolution Of Java
Evolution Of JavaEvolution Of Java
Evolution Of Java
 
Features of java 02
Features of java 02Features of java 02
Features of java 02
 
Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014) Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014)
 
Java
JavaJava
Java
 
Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)Building Pistachio with Sencha Touch 2 (introductory)
Building Pistachio with Sencha Touch 2 (introductory)
 
Java Development Kit (jdk)
Java Development Kit (jdk)Java Development Kit (jdk)
Java Development Kit (jdk)
 
02 java programming features of java i
02 java programming features of java  i02 java programming features of java  i
02 java programming features of java i
 

Viewers also liked

Intro to Java for C++ Developers
Intro to Java for C++ DevelopersIntro to Java for C++ Developers
Intro to Java for C++ DevelopersZachary Blair
 
Chapter 1 introduction to java technology
Chapter 1 introduction to java technologyChapter 1 introduction to java technology
Chapter 1 introduction to java technologysshhzap
 
Java 101 intro to programming with java
Java 101  intro to programming with javaJava 101  intro to programming with java
Java 101 intro to programming with javaHawkman Academy
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java ProgrammingPokequesthero
 

Viewers also liked (7)

Intro to Java
Intro to JavaIntro to Java
Intro to Java
 
Intro to Java for C++ Developers
Intro to Java for C++ DevelopersIntro to Java for C++ Developers
Intro to Java for C++ Developers
 
Java Intro
Java IntroJava Intro
Java Intro
 
Chapter 1 introduction to java technology
Chapter 1 introduction to java technologyChapter 1 introduction to java technology
Chapter 1 introduction to java technology
 
Introduction to java technology
Introduction to java technologyIntroduction to java technology
Introduction to java technology
 
Java 101 intro to programming with java
Java 101  intro to programming with javaJava 101  intro to programming with java
Java 101 intro to programming with java
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java Programming
 

Similar to Intro to Java Technology (20)

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
 
Java (1)
Java (1)Java (1)
Java (1)
 
Java Basics
Java BasicsJava Basics
Java Basics
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
OOP Lecture 1-Intro to Java.pptx
OOP Lecture 1-Intro to Java.pptxOOP Lecture 1-Intro to Java.pptx
OOP Lecture 1-Intro to Java.pptx
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
 
Java ppt1
Java ppt1Java ppt1
Java ppt1
 
Learn Java Part 1
Learn Java Part 1Learn Java Part 1
Learn Java Part 1
 
1.Intro--Why Java.pptx
1.Intro--Why Java.pptx1.Intro--Why Java.pptx
1.Intro--Why Java.pptx
 
The Java Story
The Java StoryThe Java Story
The Java Story
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Java
JavaJava
Java
 
Chapter 1 java
Chapter 1 java Chapter 1 java
Chapter 1 java
 
Basic javaprogramming(session1)
Basic javaprogramming(session1)Basic javaprogramming(session1)
Basic javaprogramming(session1)
 
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF SessionJavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 

More from Jussi Pohjolainen

libGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and PreferenceslibGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and PreferencesJussi Pohjolainen
 
libGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame AnimationlibGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame AnimationJussi Pohjolainen
 
Intro to Building Android Games using libGDX
Intro to Building Android Games using libGDXIntro to Building Android Games using libGDX
Intro to Building Android Games using libGDXJussi Pohjolainen
 
Advanced JavaScript Development
Advanced JavaScript DevelopmentAdvanced JavaScript Development
Advanced JavaScript DevelopmentJussi Pohjolainen
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame AnimationJussi Pohjolainen
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame AnimationJussi Pohjolainen
 
Implementing a Simple Game using libGDX
Implementing a Simple Game using libGDXImplementing a Simple Game using libGDX
Implementing a Simple Game using libGDXJussi Pohjolainen
 
Building Android games using LibGDX
Building Android games using LibGDXBuilding Android games using LibGDX
Building Android games using LibGDXJussi Pohjolainen
 
Creating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and GesturesCreating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and GesturesJussi Pohjolainen
 
Creating Games for Asha - platform
Creating Games for Asha - platformCreating Games for Asha - platform
Creating Games for Asha - platformJussi Pohjolainen
 

More from Jussi Pohjolainen (20)

Moved to Speakerdeck
Moved to SpeakerdeckMoved to Speakerdeck
Moved to Speakerdeck
 
Java Web Services
Java Web ServicesJava Web Services
Java Web Services
 
Box2D and libGDX
Box2D and libGDXBox2D and libGDX
Box2D and libGDX
 
libGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and PreferenceslibGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and Preferences
 
libGDX: Tiled Maps
libGDX: Tiled MapslibGDX: Tiled Maps
libGDX: Tiled Maps
 
libGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame AnimationlibGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame Animation
 
Intro to Building Android Games using libGDX
Intro to Building Android Games using libGDXIntro to Building Android Games using libGDX
Intro to Building Android Games using libGDX
 
Advanced JavaScript Development
Advanced JavaScript DevelopmentAdvanced JavaScript Development
Advanced JavaScript Development
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
libGDX: Scene2D
libGDX: Scene2DlibGDX: Scene2D
libGDX: Scene2D
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame Animation
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame Animation
 
libGDX: User Input
libGDX: User InputlibGDX: User Input
libGDX: User Input
 
Implementing a Simple Game using libGDX
Implementing a Simple Game using libGDXImplementing a Simple Game using libGDX
Implementing a Simple Game using libGDX
 
Building Android games using LibGDX
Building Android games using LibGDXBuilding Android games using LibGDX
Building Android games using LibGDX
 
Android Threading
Android ThreadingAndroid Threading
Android Threading
 
Creating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and GesturesCreating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and Gestures
 
Creating Games for Asha - platform
Creating Games for Asha - platformCreating Games for Asha - platform
Creating Games for Asha - platform
 
Intro to Asha UI
Intro to Asha UIIntro to Asha UI
Intro to Asha UI
 

Recently uploaded

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
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 

Recently uploaded (20)

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!
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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?
 

Intro to Java Technology

  • 1. Java Technology Jussi Pohjolainen Tampere University of Applied Sciences
  • 3. Introduction to Java • Java is a programming language developed by James Gosling at Sun Microsystems • Released in 1995 • Syntax derived from C and C++
  • 4. History • Java 1.0 in 1995 • Initial Success: – Write Once Run Anywhere (WORA) – Web Browsers incorporated the ability to run small Java – programs called Applets • Java 2 was introduced in 1998, divided into three categories: – Java2 Enterprise Edition (J2EE) – Java2 Standard Edition (J2SE) – Java2 Micro Edition (J2ME)
  • 5. Today • In 2006 Sun renamed Java 2 versions – Java EE – Java SE – Java ME • Java versioning: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 and 1.6 (which is the current) • Most popular programming language! – http://www.tiobe.com/index.php/content/paperin fo/tpci/index.html
  • 6. Java on Desktop: SwingSet demo
  • 7. Java on Mobile: Opera Mini
  • 8. Java on Server: Etuovi.com
  • 9. Java's Future? • Very few Java desktop apps – Sluggish performance? – Why use Java when you have Qt? • Popular on the enterprise and mobile side – Mobile programming is under heavy turbulence at the moment: • Nokia's Qt (C++) • Apple's iPhone (Objective-C) • Google's Android (Java) • Sun Microsystem's financial trouble, Oracle bought Sun in April 2009!
  • 13. Java Tools • Three platforms: Java SE, Java ME, Java EE • Java SE is used for desktop apps: – Java SE Runtime Environment (JRE) • For running Java apps – Java SE Development Kit (JDK) • For developing and running Java Apps • Includes JRE!
  • 14. NetBeans Bundle • The JDK comes with only the necessary tools to compile and run apps • The JDK with NetBeans bundle is a IDE (Integrated Development Environment) that has all the tools to create Java SE apps
  • 16. Using Text Editor and JDK • NetBeans is very powerful tool for creating Java Apps • If you are about to start learning programming, I do not recommend NetBeans, use plain text editor and JDK instead! – NetBeans does a lot work in the background – NetBeans can be sluggish on older computers – NetBeans can be confusing for junior programmers
  • 17. Basic JDK Commands (Command Prompt) • javac – Java Compiler – javac MyProgram.java • java – Running Java Apps – java MyProgram • That's it!
  • 18.
  • 19. NotePad++ • Free text editor indented for programming (Windows) • Change settings / preferences – New Document: Format: Unix / Windows • Depending on your configuration – New Document: Encoding: ISO-8859-1 – New Document: Default Language: Java – Document: Tab Size 4, [x] Replace by Space
  • 20. Exercise • Download and configure Notepad++ • Download Java SE 6 • Read ... – http://java.sun.com/docs/books/tutorial/getStart ed/cupojava/win32.html • ... and Compile and run "HelloWorld"- application