12
Java: An Java: An Overview Overview John R Durrett Texas Tech University

Java: An Overview John R Durrett Texas Tech University

Embed Size (px)

Citation preview

Page 1: Java: An Overview John R Durrett Texas Tech University

Java: An OverviewJava: An Overview

John R Durrett

Texas Tech University

Page 2: Java: An Overview John R Durrett Texas Tech University
Page 3: Java: An Overview John R Durrett Texas Tech University

Object Oriented Programming

Vocabulary of OOPVocabulary of OOP

Class - “Cookie cutter” Object - “Cookie” 3 Pillars of OO Wisdom

#1 Encapsulation

Page 4: Java: An Overview John R Durrett Texas Tech University

Object Oriented Programming

# 2 Polymorphism

# 3 Inheritance

Page 5: Java: An Overview John R Durrett Texas Tech University

Java

The History of JavaThe History of Java

Oak– Green Project– small appliance user interface

To Java in early 1995 Distributed programming Well accepted by developers Acceptance by users is unclear

Page 6: Java: An Overview John R Durrett Texas Tech University

Java

StrengthsStrengths

Architecturally neutral– “comterpreted”– standardized APIs

Multiple execution paths Managed memory system Easy

– single inheritance– memory management– dynamic linking– no pointers

Page 7: Java: An Overview John R Durrett Texas Tech University

Java

SecuritySecurity

Program (bytecode) verification No Overflows Variables by name not memory Applets

– no file i/o– limited network connectivity– no external application calls– signed jar files

Applications

Page 8: Java: An Overview John R Durrett Texas Tech University

Java

Java vs. C++Java vs. C++

No structs or enums Easy to use exceptions No functions, all object oriented No multiple inheritance No operator overloading No direct memory pointers No automatic type conversions No preprocessor Dynamic linking

Page 9: Java: An Overview John R Durrett Texas Tech University

Java

WeaknessesWeaknesses

Java is slow– cost of interpreted language– cost of multi-threading– JIT compilers, Java chip– Native compilers

Lack of dynamic mobility– Mobility continuum– Object state– Tcl, Telescript

No uniform comm. model lack of standardized JVM

Page 10: Java: An Overview John R Durrett Texas Tech University

Java

Tools and APIsTools and APIs

First generation tools– JDK, Symantec Café

Second generation– J++, Visual J++– Visual Café 2.0– Visual Age for Java

Third party packages Third party java beans

Page 11: Java: An Overview John R Durrett Texas Tech University

Java: Fad or Fundamental?

Is it safe to bet your Is it safe to bet your job on java?job on java?

William Blundon

– “The Truth about Java,” Internet World, V7N12, Dec 1996

– Director OMG

Good platform for building Client Software

Easy to use and learn High Quality code

Page 12: Java: An Overview John R Durrett Texas Tech University

Java: Fad or Fundamental?

Promises for the Promises for the future?future?

Good for Server Applications– database access (jdbc)– I/O– execution speed– three tier distributed systems

Secure Write once & port anywhere Portable object components

– Java Beans