190 likes | 391 Views
Java Introduction. 劉登榮 Deng-Rung Liu 87/7/15. Outline. History Why Java? Java Concept Java in Real World Language Overview Java Performance!? Conclusion. History (1/2). Consumer electronics technology Hardware & Software Difference Programming language bottleneck
E N D
Java Introduction 劉登榮 Deng-Rung Liu 87/7/15
Outline • History • Why Java? • Java Concept • Java in Real World • Language Overview • Java Performance!? • Conclusion
History (1/2) • Consumer electronics technology • Hardware & Software Difference • Programming language bottleneck • New Language Solution
History (2/2) • Proposed by Sun Microsystem • For Consumer Electronics • Not Only For Consumer Electronics • New Language ? (Updating)
Why Java ? (1/3) • Language trend (High-Level) • Object-Oriented world • Security requirement (Machine & To Yourself) • Internet hot! (Interactive Document)
Why Java ? (2/3) • Applications in the OS(Seldom Using Applications) • Real World?! Different Platform?! (How to cross different platform) • Write-Once-Run-Anywhere ! (Quickly Development) • Integrated with new technology
Why Java ? (3/3) • Distributed computing trend (RMI) • Backward compatibility (Only Related to Java Virtual Machine) • Fit wireless communication (low bandwidth required) • Some news!
Java Source Code Java Compiler JVM (Intel) Intel/ Windows PC JVM (Sun) SPARC/ Solaris Workstation Byte Code Other Architectures Supporting JVM Java Concept (1/6) • Java Virtual Machine (JVM)
Class loader & bytecode verifier Java class libraries awt io net ... JVM Interpreter JIT ... Garbage Collector Threads and Synchronization Java Concept (2/6) • Java Runtime Environment (JRE)
Java Concept (3/6) • 100% Object-Oriented Programming Language • C-Like grammar • Different Packages & Interfaces
Java Concept (4/6) • Relation between JVM & Application • Interpreter & JIT (Just-In-Time Compiler) • JDK (Java Development Kit) & JVM • Java Version
Java Concept (5/6) • Development Environment JDK Visual J++ Symantec Café • No pointer in Java (Object Reference) • No memory management mechanism (Garbage Collector)
C Language Function Array of pointers to JNI functions JNI Interface Pointer Per-thread JNI data structure Pointer Pointer Native method Pointer Native method Pointer Native method ... Java Concept (6/6) • Java Native Interface (JNI)
Java in Real World • IC Card Machine • Consumer Electronics • Very small Hand Computer (Java Chip) • Will be HOT in Consumer Electronics
Language Overview • Sample Code
Java Defect?! (1/2) • Hardware interface • Interpreter language performance • Java bug!? • Lack OS support
Java Defect?! (2/2) • OS attention • Not popular language for programmer • Sun Microsystem
Conclusion • A New Programming Language • Cross-Platform Implementation • Java Chip • Java OS • Other OS Support • Project Experience Sharing