Java – in context Main Features From Sun Microsystems ‘White Paper’

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

CSci 1130 Intro to Computer Programming in Java
In Review JAVA C++ GUIs - Windows Webopedia.com.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
Lab#1 (14/3/1431h) Introduction To java programming cs425
Object Orientated Programming
IC211 Object Oriented Programming Overview of Java.
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
Introduction to Java Kiyeol Ryu Java Programming Language.
For more Lectures and Notes Visit
1-1 Copyright (c) 1999 N. Afshartous Introduction to Java™
Session-02. Objective In this session you will learn : What is Class Loader ? What is Byte Code Verifier? JIT & JAVA API Features of Java Java Environment.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Page 1 Sandboxing & Signed Software Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Java Security Updated May Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security.
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
Java Introduction 劉登榮 Deng-Rung Liu 87/7/15. Outline 4 History 4 Why Java? 4 Java Concept 4 Java in Real World 4 Language Overview 4 Java Performance!?
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Introduction to Java Kumar Harshit. Objectives ( 목적지 ) At the end of the lesson, the student should be able to: ● Describe the features of Java technology.
Sadegh Aliakbary Sharif University of Technology Spring 2011.
Java Beserkers Group 4. Start of Java Development began on June of 1991 by a group of computer scientist at the Sun Mircrosystems Company Development.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Comp2513 Java and Applets Daniel L. Silver, Ph.D..
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
JAVA Java is a programming language and computing platform first released by Sun Microsystems in It was first developed by James Gosling at Sun Microsystems,
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
Session 1 Introduction to Java. Objectives Java Simplified / Session 1 / 2 of 32 Explain the history of Java Explain Java in brief List the types of Java.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Chapter 2: A Brief History Object- Oriented Programming Presentation slides for Object-Oriented Programming by Yahya Garout KFUPM Information & Computer.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
CT1513 Introduction To java © A.AlOsaimi.
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
1. An Introduction A Programming Language A Technology Java Development Kit Java API One Language: Three Editions Standard Edition Enterprise Edition.
Java: An Overview John R Durrett Texas Tech University.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Introduction to Programming 1 1 2Introduction to Java.
Introduction to JAVA Programming
Java Programming, 3e Concepts and Techniques Chapter 1 Section 56 – An Introduction to Java.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Chapter 1 Coding Introduction.
Applications Active Web Documents Active Web Documents.
Object Oriented Programming in
Java™ 2 Platform Getting Started.
Part II Software When developing software there are several particularities to be aware of: Java is widespread used because of the platform independence.
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Chapter 1 Introduction to Computers, Programs, and Java
Introduction Enosis Learning.
Introduction Enosis Learning.
Java History, Editions, Version Features
Chap 1. Getting Started Objectives
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Java – in context Main Features From Sun Microsystems ‘White Paper’

Features: simple object oriented network-savvy interpreted robust secure architecture neutral portable high-performance multithreaded dynamic

The language itself Java does not allow pointers Java is strongly typed Java completely object-oriented Java prevents programmer from accessing a non-initialized variable

The Verifier When Java byte code arrives for execution the Verifier checks it to ensure that it is safe No dangerous pointers Access to private variables and methods valid Methods invoked with correct type parameters No illegal data conversions are done

The class loader The class loader carefully distinguishes between different packages and particularly between local built and classes and any others (it’s not nice to try to fool Java)

The Java Virtual Machine (JVM) Once code is checked, byte code is not directly executed on the machine but is interpreted

Arrays Subscripts must be within bounds

Garbage Collection When an object in a Java program is no longer needed, the system automatically releases the memory that was allocated to it. That memory can then be reused if needed

The filing system Java applet can control that applet’s access to files by specifying an option to the browser. The user can decide (for example) to read but not write to a local file (default applets can not read/write to users files unless given permission)

Summary Java provides several mechanisms for protection The language and the compiler – e.g. absence of pointers Verification of byte code The class loader The filing system and network access

Thin clients PCs connected to others rather than all stand alone PC does not need its own hard disk and filing system software. Organizations have hundreds of PCs (cost a factor) to upgrade hardware and software. Time spent to install software, file back ups etc. Thin client eliminates all these costs. Java strongly supports networking – and Java compilers can be downloaded

Microsoft vs. the world Text gives a very concise history of Windows O.S. and the Intel Corp. The U.S. government lawsuit now seems to have been settled. (individual states have not yet signed off) C# Microsoft OO language based on C++

Versions of Java 1. Standard 2. Enterprise 3. Micro (Personal Java for PDAs etc.)

Java capabilities Enhancements to Java through the addition of new libraries Java Libraries: (small language powered by) Java Language and Utilities Java Electronic Commerce Framework Java Security Java Media Framework Java Collections Framework Java 3D

Internationalization Different languages have different character sets Dates and times (UK day/month/yr – US month/day/yr) Currency Different currency symbols Java classes which help – Unicode character standard 1. Classes ‘locale’ an area with its own language classes do the appropriate formatting of currency, date and time 2. Unicode 16-bit (used for file I/O)

Databases – JDBC Databases are big business Aside from word processing, spreadsheets and the database can be regarded as the most vital software component of a business Java Database Connectivity (JDBC) JDBC allows access to SQL-compatible databases

RMI – Remote Method Invocation With the tremendous increase in Internet use. The idea of interacting with programs on other machines is mainstream. In the corporate computing area as well, networks are the norm. A possible arrangement for the drawing example in the text each PC (or server) would have a local program to handle drawings and one on the server to broadcast new input. (known as RMI user invokes methods on the server)

Java Beans ‘a reusable software component that can be manipulated visually in a builder tool’ The software into which a bean is to be placed is written in such a way as to allow the bean to be incorporated. To incorporate the bean into an application, a special bean development environment (BDK Beans Development Kit) from Sun

Java servlets Web interaction is enabled by programs on a server computer interacting with software (browser typical) on a client computer. Benefits: Each use of the Web page results in data being sent to server, the servlet produces a thread Servlet run in sandbox (safe and secure) Platform independent (if allowed)

Javascript Scripting language No language features common with Java Concepts similar to Java

Conclusion – trends in computer industry Tremendous growth of Internet Importance of Web interaction Use of intranets (within a corporation – example) Reduction in cost of networking Fusion of computer and telecommunications Incorporation (embedding) of computers within consumer products Multimedia

Conclusions - continued Vital need for secure computing across the networks Fight against Microsoft dominance (Windows O.S.) and Intel (PCs).