The Better Way Is Here Now: Programming Language Platform From Sun
The Better Way Is Here Now: Programming Language Platform From Sun
The Java programming language is a high-level language that can be characterized by all
of the following buzzwords:
Architecture
Simple
neutral
Object
Portable
oriented
Distributed High performance
Multithreaded Robust
Dynamic Secure
The Better Way is Here Now
Now there is a better way -- the Java programming language platform from Sun
TM
2. Your programming language is object oriented, yet it's still dead simple.
3. Your development cycle is much faster because Java technology is interpreted.
The compile-link-load-test-crash-debug cycle is obsolete--now you just compile
and run.
4. Your applications are portable across multiple platforms. Write your applications
once, and you never need to port them--they will run without modification on
multiple operating systems and hardware architectures.
5. Your applications are robust because the Java runtime environment manages
memory for you.
6. Your interactive graphical applications have high performance because multiple
concurrent threads of activity in your application are supported by the
multithreading built into the Java programming language and runtime platform.
7. Your applications are adaptable to changing environments because you can
dynamically download code modules from anywhere on the network.
8. Your end users can trust that your applications are secure, even though they're
downloading code from all over the Internet; the Java runtime environment has
built-in protection against viruses and tampering.
9a. Design Of Java: The massive growth of the Internet and the World-Wide Web leads
us to a completely new way of looking at development and distribution of software. To
live in the world of electronic commerce and distribution, Java technology must enable
the development of secure, high performance, and highly robust applications on multiple
platforms in heterogeneous, distributed networks.
.Primary characteristics of the Java programming language include a simple language that
can be programmed without extensive programmer training while being attuned to
current software practices. The fundamental concepts of Java technology are grasped
quickly; programmers can be productive from the very beginning.
The Java programming language is designed to be object oriented from the ground up.
Object technology has finally found its way into the programming mainstream after a
gestation period of thirty years. The needs of distributed, client-server based systems
coincide with the encapsulated, message-passing paradigms of object-based software. To
function within increasingly complex, network-based environments, programming
systems must adopt object-oriented concepts. Java technology provides a clean and
efficient object-based development platform.
Programmers using the Java programming language can access existing libraries of tested
objects that provide functionality ranging from basic data types through I/O and network
interfaces to graphical user interface toolkits. These libraries can be extended to provide
new behavior.
The Java programming language is designed for creating highly reliable software. It
provides extensive compile-time checking, followed by a second level of run-time
checking. Language features guide programmers towards reliable programming habits.
The memory management model is extremely simple: objects are created with a new
operator. There are no explicit programmer-defined pointer data types, no pointer
arithmetic, and automatic garbage collection.
Architecture neutrality is just one part of a truly portable system. Java technology takes
portability a stage further by being strict in its definition of the basic language. Java
technology puts a stake in the ground and specifies the sizes of its basic data types and
the behavior of its arithmetic operators. Your programs are the same on every platform--
there are no data type incompatibilities across hardware and software architectures.
11) In the Java programming language, all source code is first written in plain text files
ending with the .java extension.
12) Those source files are then compiled into .class files by the javac compiler. A
.class file does not contain code that is native to your processor; it instead contains
bytecodes — the machine language of the Java Virtual Machine (Java VM).
1
13) The java launcher tool then runs your application with an instance of the Java
Virtual Machine.
An overview of the software development process.
The Java virtual machine is an abstract computing machine. Like a real computing
machine, it has an instruction set and manipulates various memory areas at run time. It is
reasonably common to implement a programming language using a virtual machine; the
best-known virtual machine may be the P-Code machine of UCSD Pascal.
The first prototype implementation of the Java virtual machine, done at Sun
Microsystems, Inc., emulated the Java virtual machine instruction set in software hosted
by a handheld device that resembled a contemporary Personal Digital Assistant (PDA).
Sun's current Java virtual machine implementations, components of its Java 2 SDK and
TM
Java 2 Runtime Environment products, emulate the Java virtual machine on Win32 and
TM
Solaris hosts in much more sophisticated ways. However, the Java virtual machine does
not assume any particular implementation technology, host hardware, or host operating
system. It is not inherently interpreted, but can just as well be implemented by compiling
its instruction set to that of a silicon CPU. It may also be implemented in microcode or
directly in silicon.
The Java virtual machine knows nothing of the Java programming language, only of a
particular binary format, the class file format. A class file contains Java virtual
machine instructions (or bytecodes) and a symbol table, as well as other ancillary
information.
For the sake of security, the Java virtual machine imposes strong format and structural
constraints on the code in a class file. However, any language with functionality that can
be expressed in terms of a valid class file can be hosted by the Java virtual machine.
Attracted by a generally available, machine-independent platform, implementors of other
languages are turning to the Java virtual machine as a delivery vehicle for their
languages.
15b) The API is a large collection of ready-made software components that provide many
useful capabilities. It is grouped into libraries of related classes and interfaces; these
libraries are known as packages.
The Java programming language compiler (javac) takes your source file and translates
its text into instructions that the Java virtual machine can understand. The instructions
contained within this file are known as bytecodes.
The Java application launcher tool (java) uses the Java virtual machine to run your
application.
20)