Java Language
Programming
1. Introduction
1. Origins and evolution
3. Extensions
2. Extensions
3. Characteristics
Tiberiu Leia: Software Engineering Java Programming Language Introduction
1. Origins and evolution
Java is a high level language:
with general goal
concurrent
based on classes and
object oriented
Some technologies have been developed.
Java language helped the introduction of new ideas in the WWW field.
In Java the machines details are not available directly.
Java has many similarities with other object oriented languages, but new
improvements have also been added.
Tiberiu Leia: Software Engineering Java Programming Language Introduction
Java is:
a programming language,
a runtime system,
a set of development tools and
an application programming interface (API).
The Origins of Java
initial name Oak
conception during 1990
team leader James Gosling
company Sun Microsystems
initial application embedded systems (home control)
Tiberiu Leia: Software Engineering Java Programming Language Introduction
During 1993 Java was used for World Wide Web applications.
Sun Microsystems launched Java officially in 1995.
The Java Language Specifications in 1996 were published.
Java has similarities with C and C++, Visual Basic, Pascal and Delphi.
The drawbacks of C and C++ have been removed.
JAVA API interface is friendlier than similar components built using C++
language.
Tiberiu Leia: Software Engineering Java Programming Language Introduction
2. Java Language Versions
Java commercial version appeared in 1995.
Java can be used on the following operating systems: Windows 95,
Windows 98, Windows 2000, Windows NT, Windows XP, Sun Solaris,
Macintosh and many other Unix Systems.
For program development there is Java Developer's (sau Development)
Kit (JDK) or SDK for Software Developers Kit:
JDK 1.0.2 - in 1996
JDK 1.1 in 1997
JDK 1.2 in 1998
JDK 1.3 in 2000
JDK 1.5 in 2006
JDK 1.6 in 2007
Tiberiu Leia: Software Engineering Java Programming Language Introduction
JDK 1.7 2013
JDK 1.8 2014
The kit is free:
ORACLE:
http://www.oracle.com/technetwork/java/index.html.
Java Developer's Kit contains:
javac Java compiler
java Java interpreter
jdb Java debugger
javadoc - tool for Java programs documentation
appletviewer Java applet execution
Tiberiu Leia: Software Engineering Java Programming Language Introduction
Java development environments:
Symantec Visual Cafe sau un compilator Just-In-Time
Borland JBuilder, (3.0, 3.5, 4.0 i BC++5.0/Java)
SuperCede
Rog Wave JFactory
Natural Intelligence Roaster
SunSoft Java WorkShop
Kalimantan - Kalimantan
WebGain Visual Cafe (3.0, 4.0 i 4.1)
Metrowerks Code Warrior Pro 4 i 5
IBM Visual Agew for Java 3.0 i 3.5
Sun Forte 2.0 Community Edition
Eclipse 3.0, 3.1. 3.2. etc.
NetBeans IDE 6.9.1
Tiberiu Leia: Software Engineering Java Programming Language Introduction
3. Java Standard Extensions
Libraries: Application Programming Interface
Java 2 platform - Company Sun Microsystems developed three technologies:
J2ME (Java 2 Micro Edition)
J2SE (Java 2 Standard Edition)
J2EE (Java 2 Enterprise Edition).
Tiberiu Leia: Software Engineering Java Programming Language Introduction
J2ME Technology uses CDC technology (Connected Device
Configuration) standardize portable JVM for embedded electronic devices:
32 bits processors
2 Megabits Memory or more (RAM + ROM)
connection to a specified net
different complexity user interface.
Known extension: Enterprise API, Commerce API, Management API,
Server API, Media API, Security API, Java Beans API, Embedded API.
Tiberiu Leia: Software Engineering Java Programming Language Introduction
Enterprise API
JDBC (Database Connectivity)
IDL (Interface Definition Language)
RMI (Remote Method Invocation)
JDBC achieves links to DB using SQL (Structured Query Language).
Tiberiu Leia: Software Engineering Java Programming Language Introduction
10
Commerce API
solutions for commercial transactions implemented on Web. There are
components for:
infrastructure
information databases
payment cassettes electronic payments
Tiberiu Leia: Software Engineering Java Programming Language Introduction
11
Management API
Admin View Module (AVM) extension of Java Abstract Window Toolkit
(AWT)
Base object interfaces
Management container interfaces
Management notification interfaces
Manages date interfaces
Management protocol interfaces for Java Security API and Java RMI
Simple Network Management Protocol (SNMP) interfaces
Applet integration intefaces
Tiberiu Leia: Software Engineering Java Programming Language Introduction
12
Server API
Media API
Media Framework API
2D Graphics
Animation API
3D Graphics API
Video API
Audio API
MIDI API (Musical Instrument Digital Interface)
Share API for multiparty communication.
Telephony API
Tiberiu Leia: Software Engineering Java Programming Language Introduction
13
Security API
Cryptography
Digital signature electronic identification technique with the same
purpose as hand made signature
Java Beans API
Embedded API
Tiberiu Leia: Software Engineering Java Programming Language Introduction
14
4. Java Language Characteristics
Simple
Unlike C Java has no:
pointers
structures
operator overwriting
templates
heading files
explicit addressing
multiple inheritance.
Tiberiu Leia: Software Engineering Java Programming Language Introduction
15
Object Oriented
JAVA is a language completely oriented on objects.
It has an automated memory management.
Tiberiu Leia: Software Engineering Java Programming Language Introduction
16
Source cod
obtained using a regular word processor text file
Compiled and interpreted
Compiler bytecode (cod de octei ). platform independent
Java interpreter = java program execution
Tiberiu Leia: Software Engineering Java Programming Language Introduction
17
Interpreter
It is a program that take sequentially the byte cod file and execute the
program It transforms the byte code in machine code.
Maina Virtual Java = Java Virtual Machine (JVM) it is only in the
computer memory.
Compilers Just-In-Time provide (when that is requested) instructions for
machine code
Operation
Edit
Compilation
Interpretation
(and execution)
Tool
Text editor
Java Compiler
Java Interpreter
Result
Source file Executable code Java program execution
(byte code)
Tiberiu Leia: Software Engineering Java Programming Language Introduction
18
JAVA interaction levels are:
User Application
Java API Classes and Objects
Java Virtual Machine
Operating Systems: Unix, Windows, etc.
Multithreading
Java programs can have multiple threads of execution = JVM can execute
concurrently multiple sequences of instructions.
Tiberiu Leia: Software Engineering Java Programming Language Introduction
19
Automatic memory management
garbage collector remove the objects from the memory.
Dynamic
Robust
The pointers cannot be controlled directly.
Tiberiu Leia: Software Engineering Java Programming Language Introduction
20
Distributed
Java programs can be interconnected using the Internet.
stand alone applications and miniaplications (or applets)
TCP/IP protocol
HTTP protocol and
FTP protocol.
Extendable
Java accepts native methods
Tiberiu Leia: Software Engineering Java Programming Language Introduction
21
*
****
***END***
****
*
Tiberiu Leia: Software Engineering Java Programming Language Introduction
22