1. Overview of the Java Language

Similar documents
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

CSC 551: Web Programming. Spring 2004

2 Introduction to Java. Introduction to Programming 1 1

Evolution of the Major Programming Languages

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

An Overview of Java. overview-1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Online Recruitment System 1. INTRODUCTION

Efficiency of Web Based SAX XML Distributed Processing

How To Understand Programming Languages And Programming Languages

Developing Embedded Software in Java Part 1: Technology and Architecture

Hardware/Software Co-Design of a Java Virtual Machine

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

Java applets. SwIG Jing He

Java Programming. Binnur Kurt Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0.

C# and Other Languages

picojava TM : A Hardware Implementation of the Java Virtual Machine

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Jonathan Worthington Scarborough Linux User Group

Programming Languages

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

Contents. Java - An Introduction. Java Milestones. Java and its Evolution

WEB SITE DEVELOPMENT WORKSHEET

02 B The Java Virtual Machine

What is a programming language?

1/20/2016 INTRODUCTION

Chapter 1 Programming Languages for Web Applications

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Restraining Execution Environments

Advanced compiler construction. General course information. Teacher & assistant. Course goals. Evaluation. Grading scheme. Michel Schinz

CS 209 Programming in Java #1

System Structures. Services Interface Structure

Web Pages. Static Web Pages SHTML

General Introduction

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?

Chapter 12 Programming Concepts and Languages

Chapter 1 Fundamentals of Java Programming

JAVA WEB START OVERVIEW

Rapid application development for JEE using Adobe ColdFusion 9

Habanero Extreme Scale Software Research Project

Applets, RMI, JDBC Exam Review

Solar Power Systems Web Monitoring

Building Java Servlets with Oracle JDeveloper

Fig (1) (a) Server-side scripting with PHP. (b) Client-side scripting with JavaScript.

Java Garbage Collection Basics

Effective Java Programming. efficient software development

An Easier Way for Cross-Platform Data Acquisition Application Development

Java vs. Java Script

The Context of Software Development

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Chapter 3: Operating-System Structures. Common System Components

Lecture 1 Introduction to Android

Language Based Virtual Machines... or why speed matters. by Lars Bak, Google Inc

Computer Information Systems (CIS)

Guide to Wireless Communications. Digital Cellular Telephony. Learning Objectives. Digital Cellular Telephony. Chapter 8

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Chapter 27 Hypertext Transfer Protocol

Building Applications Using Micro Focus COBOL

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Chapter 13: Program Development and Programming Languages

Syllabus for CS 134 Java Programming

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

HOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS

Business & Computing Examinations (BCE) LONDON (UK)

How Java Software Solutions Outperform Hardware Accelerators

Java and Real Time Storage Applications

The Web Web page Links 16-3

McGraw-Hill The McGraw-Hill Companies, Inc.,

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

CSE 130 Programming Language Principles & Paradigms

C Compiler Targeting the Java Virtual Machine

How To Be A Successful It Manager

Java Application Developer Certificate Program Competencies

Introduction to Java Applets (Deitel chapter 3)

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

APPLETS AND NETWORK SECURITY: A MANAGEMENT OVERVIEW

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development.

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

A Java-based system support for distributed applications on the Internet

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

Rich Internet Applications

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

Chapter 7D The Java Virtual Machine

Extending Desktop Applications to the Web

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Technical White Paper The Excel Reporting Solution for Java

JAVA 2 Network Security

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Garbage Collection in the Java HotSpot Virtual Machine

Java Card. Smartcards. Demos. . p.1/30

Transcription:

1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax to C++. It is used for developing both applets and applications. Java is an object-oriented programming language developed by Sun Microsystems. Originally the developers of Java intended to use C++ for their software development. But they needed a language that could execute on different sets of computer chips to accommodate the ever-changing consumer electronics market. So they decided to design their own language which would be independent of the underlying hardware. It allows a user to receive software from a remote system and execute it on a local system, regardless of the underlying hardware or operating system. An interpreter and runtime are called the Java Virtual Machine which insulates the software from the underlying hardware. Unlike more traditional languages, Java source code does not get translated into the machine instructions for a particular computer platform. Instead, Java source code (.java) is compiled into an intermediate form called bytecodes which are stored in a.class file. These bytecodes can be executed on any computer system that implements a Java Virtual Machine (JVM). This portability is perhaps one of the most compelling features of the Java language, from a commercial perspective. In the current era of cross-platform application development, any tool that allows programmers to write code once and execute it on many platforms is going to get attention. 2. Java Language Characteristics The portable, interpreted nature of Java impacts its performance. While the performance of interpreted Java code is better than scripting languages and fast enough for interactive applications, it is slower than traditional languages whose source code is compiled directly into the machine code for a particular machine. To improve performance, Just-In-Time compilers (JITs) have been developed. A JIT compiler runs concurrently with the Java Virtual Machine and determines what pieces of Java code are called most often. The bytecode portability is what enables Java to be transported across a network and executed on any target computer system. Java applets are small Java programs designed to be included in an HTML (HyperText Markup Language) Web document. HTML tags specify the name of the Java applet +and its Uniform Resource Locator (URL). The URL is the location on the Internet at which the applet bytecodes reside. When a Java-enabled Web Page 1

browser displays an HTML document containing an applet tag, the Java bytecodes are downloaded from the specified location and the Java Virtual Machine interprets or executes the bytecodes. Java applets are what enable Web pages to contain animated graphics and interactive content. Because Java applets can be downloaded from any system, security mechanisms exist within the Java Virtual Machine to protect against malicious or errant applets. Java is an object-oriented programming language, borrowing heavily from Smalltalk, Objective C, and C++. It is characterized by many as a better, safer C++. Java uses C++ syntax and is readily accessible to the large existing C++ development community. Java, however, does not drag along the legacy of C. It does not allow global variables, functions, or procedures. With the exception of a few primitive data types like integers or floating-point numbers, everything in Java is an object. Object references are not pointers, and pointer manipulation is not allowed. This contributes to the general robustness of Java programs since pointer operations tend to be particularly nasty and bug-prone. Java also manages memory itself, thereby avoiding problems with allocation and deallocation of objects. It does not allow multiple inheritance like C++ does, but supports another type of reuse through the use of formal interface definitions. Java is similar enough to C and C++ that it already feels familiar to most of the existing programming community. But it is different enough in important ways (memory management and cross-platform portability) that it is worth it for programmers to switch to a new language. Page 2

3. The Java Programming Language Basics Fig 1: Java programming Basics Page 3

4. The Java Runtime Environment The Java application environment performs as follows: Fig 2: Java Runtime Environment (JRE) In some Java technology runtime environments, apportion of the verified bytecode is compiled to native machine code and executed directly on the hardware platform. What is the difference to use that? Page 4

Fig 2: Java Runtime Environment (JRE) with Just in Time (JIT) Fig 3: Simple Class (Greeting Class) Page 5