Sei sulla pagina 1di 1

Java™ Technology Concept Map

What is Java Technology? 2


Java Community Process SM
Sun works with
supports the development of ... Java 0
companies become members of the JCP by signing
within the context of the Java Community Process,
JSPA Programming language Java object model

has a
The Java Specification Participation

are represented on the


This diagram is a model of Java™ technology. The diagram begins with members join the JCP by signing the provides ... documentation 42 may function as ... developers 23 Agreement is a one-year renewable

includes members from


is defined by the ... Java Language Specification 43

that is an

defines
logo owns the ... Java trademark 1 support the development of ... Java 0 agreement that allows signatories to is used to write ... programs 24 Class libraries are An application programming interface is the Particular to Java, Abstract classes permit child
explains Java technology by placing it in the context of related Java forums often discuss Java in Java developer make(s) ... SDKs 29 make ... SDKs 29 become members of the JCP.

which is
is used to write ... class libraries 10 organized collections written or understood specification of how a interfaces are source code classes to inherit a defined
4 communities
makes versions of a ... JVM 18 make versions of a ... JVM 18 Companies include
IBM, Motorola,
Alternatively, developers can sign the
more limited Individual Expert
syntax and of prebuilt classes piece of software interacts with the outside files that define a set of method or to create groups of
concepts and examples, and by defining its major components provides
is represented on
certify Java applications using
Nokia, Oracle, Participation Agreement (IEPA).
The Java language has roots in C, Objective C,
keywords
SmallTalk, and LISP.
and functions used to
create other classes.
world. It specifies what input the application
or application component accepts, how the
functions (methods) that
are required by a class.
related classes for polymorphic
behavior.
Novell, Netscape, Class libraries can be software will behave, and what output it will Interfaces name methods
and the connections between them. It shows how developers alternate object-oriented programming language is based on the

ho
Hewlett-Packard, 9 part of the Java provide. All computer software relies on a and set an expectation for

sts
Apple, and BEA.
specification leads 5 expert groups consist of members of Java Community overseen by the Executive 8 standard – meaning variety of APIs to achieve tasks such as each method's behavior,

is organized by
use Java technology to create programs that benefit people and do the work of the implementations As opposed to a purely procedural they have been writing a file or displaying text. APIs often but do not implement the superclass (parent class) may be an abstract class
(spec leads) Process (JCP) develops SM
Committee There are two programming language.

are led by
draft
comments on Alternate implementations are written ratified by the Java depend on other APIs. methods. Interfaces allow
executive
everywhere, and explains how computers and networks relate Community Process – a piece of code to be

ha
committees: to the same specification and pass the

champion
class libraries implement APIs

s
TCK, but can be licensed differently or created by 10 13 written in such a way that
J2EE/J2SE and J2ME. individual developers the code can work with
to Java technology.  and may have enhanced features
principles provide benefits and advantages subclass (child class) inherits methods and properties from a

contain multiple

are ratified by... the JCP

define
beyond the reference implementation. for their own or their any type of class that
company's use. supports the interface. may also be a

may rely on parent's


may define new
may override existing
Java Specification if accepted becomes a community may become a public may become a new Java specificationis instantiated in a Reference Implementation Such as the object

such as
3 6
object-oriented programming language 9 model, inheritance, 14 interfaces
Request (JSR) A proposal to develop draft draft Asome & Technology Compatibility Kit (TCK)

definition of ... Java


is added to the
explicit error handling 22 Java specification describes modularity,
The diagram is intended to help developers who are familiar garbage collection 21 a new specification aspect of Java technology,
is added to the
abstraction, hierarchy, reduced development time Runtime instances of classes.

is submitted to
including language, virtual A Reference Implementation is implementation
security model 20 or significant revision definition of ... Java 0
ability to write higher-quality code
11 packages objects may implement
with one part of the Java platform understand other parts. It architecturally independent applications 19 to an existing spec. machines, platform editions,
profiles, and APIs.
a working example of the JSR.
Other companies will produce may be implemented in
hiding, information
hiding, encapsulation,
15

contain multiple
may
multiple
may contain
implement
Java virtual machine 18 are runtime instances of ... classes 12

through
used
can be
relates unfamiliar technologies to ones with which developers
their own implementations. and polymorphism. more maintainable code have
methods and fields

s
which is

ha

2
The TCK is a suite of tests,
features and benefits

c
are created by

su
tools, and documentation that ability to call non-Java functions

Java
may already be familiar. The diagram also provides an overview Program maintenance serialization

0
7

y
provides a standard way of

b
administers the
logo

ed
testing an implementation for Java Native Interface (JNI) provides a method for calling native
Management Office lead may request major revisions via

ish
chairs the functions such as operating system or legacy library functions. In runtime, refers to the process of Scope limits access to methods and properties. Levels include:
scope

gu
compliance with a Java
for developers who are new to Java technology and an Classes are source 12 classes implement • public: can be called or manipulated freely

tin
has a
exists within may revise specification. turning an object into a data stream for

dis
code files that running in RAM are purposes of transmission or storage. • protected: can be called or manipulated by a class in the same package

Java virtual machine

is

define
describe a unit of • private: can be called or manipulated only by the same class.
introduction for non-programmers who want to improve their 0 is a 1 trademark 18
Architecturally dependent machines that are available
for nearly every contemporary operating system. programming. A class
may be categorized as
are constrained by
relates a set of data
ability to converse with developers. For more information, types field types can be primitives or object references
(JVM )
TM
(fields) and functions are distinguished by
Java virtual machine specification
is defined by the (methods) that use field or class types can be... classes 12

refer to ... objects


visit the web site at http://java.sun.com. the data. Primitives

have
generally enable
enables 19 architecturally independent applications Inner classes reside inside
inner classes methods constructors fields
basic math or
data
Development process another class, allowing
define a location to store comparison

en
operations.
Concept Maps portability One

manipulate
constrained by
are

constrained by
are
consist of
a
application can run in multiple environments

ma
ar defi
for better organization. Methods are

ble

e i ne
Fields are

y
without being rewritten or recompiled. Should not be confused

nv re
detailed

begins with
sometimes

ok qu

15
The diagram takes the form of a concept map – a web of linked development environments may include tools such as with subclasses. instructions that

ed ir
16 17 referred to as

by ed
cause a running or on ... objects 15
properties.
security model controls access to critical resources

may consist of
are used to write, test, and debug enforces a 20 object to take ... interfaces 14
terms showing both overall structure and details. By showing Including memory and hard drive. action or
manipulate data.
everything – the forest and the trees – in a single view, concept Java developers often use specific development environments
called Integrated Development Environments, or IDEs.
Application
maps help people visualize mental models and clarify thoughts. visual programming tools text editor compiler virtual machine debugger ed
by Just-In-Time compilation programming
rov Significantly improves virtual machine interface

are used to build the


outline

lay out

is used to create

compiles source code into

byte code into


translates

problems with
helps identify
allows adjustment of ... objects
A software utility p
that turns human-
nb
e im performance by translating groups of
instructions from byte code to machine
statements declarations comments Notes that developers include to
explain source code to
specification.
readable text files ca
class user interface performance themselves and others. API spec

can be
Class structures improves can code rather than one instruction at a In running In running
In concept maps, verbs connect nouns to form propositions. are basic source
into machine-
be im time. programs, programs,

he
to create and run
friendly byte

behavior of ... APIs


defines the
is a name for a ... programming language
structures frameworks

st
code that pro statements declarations define
code.
Javadoc Javadoc browsable

sa
Examples and details accompany the terms. More important
TM
is also a name for ... SDKs and JREs provides a ved prescribe actions a variable's

rve
the generation of
contribute to

of ... classes 12
are examples

the generation of
contribute to
by
defines a set of ... APIs 13 Basic source code that
dynamic compilation

se
framework or a sequence of existence and
is implemented as a set of ... platforms 27 describes the graphical comments are processed by the tool to create documentation
terms receive visual emphasis; less important terms and can be used to write ... programs 24
for the classes,
describes the user interface. Goes beyond Just-in-Time compilation by
actions. determine scope.
Comments specifically formatted to
se
examining the code as it runs and
class hierarchy, Does not include
source code byte code machine instructions
examples are in gray. Purple terms and purple lines indicate a Downloads and documentation are and provides the implementation details.
Is human Is platform Are processor
focusing optimization efforts on the most
critical pieces of code as it executes.
be processed by the Javadoc tool.

people

defines

is stored in

constitute a

as running ... objects


may be thought of
available at http://java.sun.com.

13
names of the

15
readable. independent. It dependent. They can Dynamic compilation is enacted by the
process. Terms followed by a number link to terms preceded
du

Selected Java products have been


class methods
and properties. source code framework
is edited in the almost never can be read by the implements 21 garbage collection Java HotSpotTM virtual machine.

by the same number. localized into many languages. This Does not include The combination of the class
is the foundation for
the completed classes 12 be read by the
processor
processor directly.
Watching for data in memory that is no longer needed and freeing the memory for reuse.
localization is one of the key factors implementation structures and the user interface
fragment or Other programming languages require programmers to free memory explicitly when a

stored in
are
details (method directly.
for adoption of Java technology framework into a skeleton of the piece of data is no longer needed, which can increase the development effort.
an

worldwide. definitions). application's overall source code. Does


not include implementation details.
application
Are human-readable. text files binary files implements 22 explicit error handling

contributes to
when debugged,

may find a
testing

15
Usually have the
The virtual machine may encounter a problem, or exception, while a program is running.

are read by a

run on a
suffixes .java or .jav. Are computer-
The software development process is iterative, with several The Java language requires that pieces of code which are likely to encounter a particular
rn

rounds of designing, writing, compiling, running, and testing readable.


Binary files error offer a mechanism for handling the exception at runtime. When an error is
before software is deployed.
usually have bug is trapped by a encountered, the virtual machine executes the code designed to respond to the error.
the suffixes
lea

Developers devices
.jar, .jcm,
.class, .ear, or
.war. 25
23

r
fo
are used by
support ... services 26
such as ... hardware 31

ul
may download and install ... JREs 30

en
g ag
often own ... hardware 31

ei
some of whom are ... developers 23 activities

n
programs

ef
and the

are facilitated by
Including getting information, communicating,

ke
such as ... applications 28 Java technology is especially collaborating, playing, working, creating, and buying

us
may submit or comment on a ... Java Specification Request 3 enable ... services 26 useful in devices that are and selling.
run on and connect ... devices 25

internet
who are members of the Java Community Process serve on ... expert groups 5 connected by a network.

ma
form ... Java developer communities 4
comment on a ... public draft 6
participate in the ... Java Community Process 2
24 26 services
may request revisions from the ... maintenance lead 7

are instantiated in
connects ... devices 25 Including news services, instant messaging services, e-
who are members of the JCP elect the ... executive committee 8 mail services, communication software, collaboration
supports

at
often use ... development environments 16 software, discussion forums, games, the world wide web,
supports ... web services 33
participate in the ... development process productivity software, image-creation software, and
marketplace services.

th
software is developed with ... platforms
Including servers, web-based solutions, stand-alone
applications, and clients.

Java 2 Platform: TM

end-to-end solutions for enterprise servers and applications for desktop servers and applications for consumer and embedded servers and applications 42 Documentation is available via http://java.sun.com.

such as
Java 2 Platform Micro Edition is intended to run on devices
27 platforms 32 J2EE TM
depends upon 35 J2SE TM
is based on subsets of 39 J2ME TM
with limited computing power, such as cell phones or PDAs. Java Card TM
Java TV TM
Java Embedded
Java 2 Platform Standard Edition is intended to J2ME has reduced processor and memory requirements. It is
Server (JES) TM
provide building blocks for

build and run


is used to

build and run


is used to

is used to build and run

is used to build and run


Java 2 Platform Enterprise Edition is
is used to build and run

used to build secure, scalable, run on desktops, laptops, and workstations. J2SE based on subsets of J2SE with additional components for

build and run


is used to
distributable server-based also includes the core language packages and market segments such as hand-held devices.
applications for large enterprises. classes used by J2EE and J2ME.

J2EE J2SE J2ME other


documentation documentation documentation documentation

such as

documents ... J2EE


specifies and

such as

documents ... J2SE


specifies and

such as

documents ... J2ME


specifies and

such as
28 applications enterprise applications such as web-based and client/server such as 33 web services may be enabled by
are enabled by
applications embedded desktop applications specialized PDA cell phone applications for use interactive television embedded Includes Web
Services, Getting
applications applications A standardized way in a web page run inside a ... web browser embedded applications applications applications with Smart Cards applications applications

are
34 Started, Java XML,
are composed of

have
run on

of integrating and Internationalization,


are

built with
are

may be

built with
may be
built with
may be
Such as ATMs and Such as user-controlled camera

built with
are

are built with

are built with

are built with the


shaping business logic, Such as home services and Sound, and Java 2D.
data, and processes point-of-sale services. views and video on demand. network-aware automobiles.
across a network.

32

35

39
runnable components are configured by business logic is described by server components have interfaces provided by client components always have user interfaces provides a 34 web browser 36 J2SE applets Extend the applet class, which
provides developers with a basic
38 J2SE applications Implement a main method. A class that
defines an application must declare a
40 J2ME J2ME 41 MIDlets run in a Java Card applets Java TV Xlets
can call other can be ... J2SE applets 36
applets applications
may be interpreted by a

J2EE Platform J2SE Platform J2ME Platform tutorials

are built using


are built using
may run inside a

are built using


are composed of

Components that can


is housed in

are configured by a
are run in
may utilize the
are

run inside an
can be ... J2SE applications 38 framework for rapid development of main method, which the Java virtual

are built using a

are built using


run on their own. a limited application. This includes a machine uses as the starting point for Specification Specification Specification
can be ... J2ME applets 40

run in a
are built using

are built using


basic user interface framework and the application. The main method gets
can be ... MIDlets 41 event model. executed when the application starts. Specifies that the entire Includes the JLS and Specifies which parts 43 Java Language
J2SE JLS is applicable to documentation of the JLS are Specification (JLS)
J2EE, includes additional describing what the applicable to J2ME,
specifications for J2EE, platform packages are what features the JVM Provides a complete
components Enterprise never directly build servlets may directly build JavaServer always directly build Java Card API Java TV APIs Java Embedded specifies what features and what features the must support, and specification for the
syntax and semantics of
JavaBeans (EJB) TM
Pages (JSP ) embed programming code in a TM TM
markup language Server the JVM must support, JVM must support. what the platform
are built using
run inside a
are composed of

Cannot function on their Servlets respond to

defines a
is contained in the

run on
Includes specific Depend on the Java and what the platform packages are. the Java programming
own, but are used by other deployment an URL request. JavaBeans TM
packages: Media Framework
framework language.
is one type of

packages are.
run inside an
are built using

run inside a
are built using

components or runnable Enterprise JavaBeans Servlets commonly JSPs define a page Can be HTML, java.lang (JMF), which is
descriptor define independent pieces element, which can be WML, XHTML, Discrete units of software
are built with

components. generate HTML, XML, javacard.framework optional to J2SE but Mobile Information

runs on a
of business logic or or dynamic images. HTML, XML, or another or voice XML. functionality that conform to the Specifies packages: Java BluePrints
javacard.security required for Java TV.
read configurations from a

application behavior that They can call other markup language. JSPs JavaBeans API and are designed to javacardx.crypto
http Device Profile (MIDP)
can call either servlets, servlets, JSPs, or EJBs. execute as servlets. be reusable components. The log Specification Guidelines, patterns,
JSPs, or other EJBs. They can call other Extensible Markup JavaBeans API makes it particularly device access
timers
and code for end-to-end
applications.
JSPs, servlets, or EJBs. easy for Beans to be utilized by
Language (XML) visual programming tools. (In an framework Foundation Profile
Provides a structured and architecture analogy, these would Specification
extensible mechanism for be prebuilt walls, windows, or Profiles are packages required
organizing and presenting data. doors.) for a particular vertical J2EE Connector Connected Limited
Many Java packages and classes Device Configuration
containers connector EJB utilize XML to store and exchange Also referred to as required or core market segment or set of Specification
packages, platform packages are the related devices. Other profiles (CLDC) Specification
data.
architecture container web container include Foundation, Game,
run inside a
can be a

Manage heart of the Java programming


transactions, language. The packages include Optional packages define Personal Basis Profile, and PDA.
Connected Device
is created by a

Provides a mechanism
Simple Object
can be created by
is contained in

life-cycles, myriad classes that define user a set of methods to


and data for connecting to legacy interface components, a address specific
Configuration (CDC)
persistence. information systems. Access Protocol programming event model, text and functionality required for Specification
math processing tools, code-level certain specialized
(SOAP) security, objects for memory storage applications. Applications
There are several PersonalJava
Provides a way for applications of complex data, and methods for that require optional
to communicate. SOAP is invoking remote applications, to packages must be shipped implementations of Specification
name just a few. with the package code. Mobile Information
typically transmitted via HTTP. Device Profile,
including MIDP for
Personal Profile
Sometimes referred to as Specification
packages or required or core packages. J2EE platform include ... platform packages 37 UDDI 37 platform packages are contained in the J2SE optional packages are optional are J2ME Personal such as Profiles such as MIDP Palm 1.0.3, MIDP
1.04 for Monty, and
libraries are ... class libraries packages packages optional Profile (PP)

depend on
are contained in

depends on
Universal Description, MIDP 2.0. Personal Basis Profile
for example

10
for example

Discovery, and Integration


packages Specification

depends on
may become platform packages via the ... JCP
are contained in

include

provides a way for businesses


to discover each other. Can
J2EE API Specification J2SE API Specification J2ME API Specification
is used to build applications

also be used programmatically Connected Limited


J2EE specific by applications to locate an Beans Swing Java regular Java 3D TM
JavaHelp TM
Device Configuration On handheld and
and services based on

application or service.
packages A component kit that
provides a set of graphical
expressions A set of classes A system that
includes specific
packages that are
embedded devices, the
initial implementation
Mobile Information
Device Profile (MIDP)
Examples include: user interface elements. A powerful set of text matching and used to write
three-dimensional
enables
developers to
Connected Device
Configuration
CDC such as configurations such as CLDC subsets of the J2SE
Includes the necessary
of Java technology
addresses the software API Documents
¡avax.activation Swing can be used to manipulation routines supported by equivalent:

includes a

include a

are contained in

subset of a
contains a
many programming languages. graphics applets incorporate includes specific A set of tools, emulators, and needs of networked
javax.ejb rapidly build applications packages that are java.io
or applications. online help in packages that runtime environment applications running
javax.servlet without writing original Java technology implements Perl-
applications or subsets of the J2SE define basic
java.lang Connected Limited
code to support common compatible regular expressions.  java.util to develop and test on consumer devices
javax.transaction web sites. equivalent: services for a applets for the Java such as set-top boxes Device Configuration
javax.xml interface elements. javax.microedition.io
29 Software Development J2EE Software Development Kit contains Java Web Services Developer Pack Supports a native look and
java.lang range of Card platform. and smart phones. (CLDC) API Documents
Kits (SDKs) Includes the binary version of the J2EE Reference is used to build ... web services 33 feel on many common J2SE Software java.util
java.net
devices.
Implementation, plus the development tools and Provides a framework for developing and hosting J2EE applications
operating systems.
Development Kit java.io Java Card PersonalJava TM
Connected Device
may include ... tools 17 documentation needed to build a J2EE application. java.text Configuration (CDC)
Development
include

runs on a
that run inside web containers. The pack includes the Java APIs for The J2SE SDK includes the source code, A JVM can be
API Documents
2

are used in ... development environments 16 java.security


include ... class libraries 10
XML included in the Java XML Pack, the JavaServer Pages Standard
Tag Library (JSTL), the Ant build tool, the Java WSDP Registry Server,
class libraries, development tools, and J2ME Kit
optimized
for residential
runtime environment required to build
are used to create ... programs 24 and the Tomcat Java Servlet and JavaServer Pages container. Java applications and applets. Wireless gateway servers. Java Series Java Series Java Series
Toolkit J2EE Tutorials J2SE Tutorials J2ME Tutorials
30 Java runtime environments Java virtual is instantiated by J2EE Java-enabled Java Plug-In may be enabled by a Java-enabled may be enabled by an operating system-based Java virtual machine Java Card Java virtual Java virtual
(JREs) include a machine runs on application web server browser or viewer Java virtual machine A JVM can be optimized for cell phones, The J2ME Wireless virtual machine machine machine
runs on

runs on

Some browsers may be Java-enabled


include ... packages 11 Jini TM
because they include the Java Plug-In. PDAs, and other similarly resourced devices. Toolkit includes the
server Can host EJBs, A JVM can be optimized
runs on

runs on

runs on

runs on

runs on
Some JVMs are optimized for various types
runs inside a ... web browser

runs on

Some JVMs are necessary tools,


run on

are used to run ... programs 24 servlets and Jini network technology provides Some users may need to download for set-top boxes.
optimized for servers. the Java Plug-In for their browsers. of laptops, workstations, and desktops. emulators,
runs on

Hosts EJBs, JSPs. one infrastructure for delivering


A JRE is the software environment in servlets and JSPs. Installing the Java Plug-In will also documentation, and
which programs compiled for the Java services in a network and for Acknowledgements Trademarks
creating spontaneous interaction install the J2SE runtime environment. examples to develop
virtual machine can run. The runtime and simulate Java Prepared for the Sun Developer Web Services Group © 2002 Sun Microsystems, Inc. All rights reserved.
between programs that use Windows SunOSTM HP-UX Palm OS, Windows CE,
operating system comprises everything necessary to
run programs written in the Java Solaris, Linux, Windows, those services.
Mac OS AIX Compaq Tru64 RTOS, Linux, Symbian OS,
applications targeted
at cell phones,
Windows real-time operating proprietary by Dubberly Design Office/Devine/Faris/Saddler. Sun, Sun Microsystems, the Sun logo, Java, the Java
coffee cup logo, J2EE, J2SE, J2ME, Enterprise JavaBeans,
systems programming language, including the HP-UX, AIX, FreeBSD pagers, PDAs, and SolarisTM systems (RTOS) systems
Java virtual machine, which may be a Java
Unix Alpha beOS proprietary systems proprietary systems Significant contributions from the following people EJB, JavaBeans, Java Card, Java Community Process,
other small devices.
run on

Linux RS6000 VMS


run on

made this map possible: Josh Bloch, Lisa Friendly, JCP, Javadoc, Java Embedded Server, JavaHelp, JavaServer
run on

interpreter, and the platform packages.

run on

run on
run on
Telematic networks
JREs may be developed by Sun or by other Irix FreeBSD connect computers with Doug Kramer, Paul Pangaro, Robert Patten, Monica Pages, JSP, Java TV, Java 3D, Jini, JVM, PersonalJava,
companies. SolarisTM NeXT
34

telecommunications Pawlan, Carla Schroer, Leigh Shevchik, Alan Solaris, and SunOS are registered trademarks of Sun
systems. Sommerer, Ken Tallman, and James Urquhart. Microsystems, Inc.
run on

run on

31 specific devices (hardware) servers personal workstations point-of-sale (POS)


systems, pagers, cell
Java Card, subscriber
identity module (SIM)
televisions network-aware
appliances,
Thanks also to Cindy Bloch, Adam Cohn, Andrey
Dikanskiy, Larry Freeman, Dale Green, Joann Gray,
Any errors or omissions are the responsibility of the
authors. Comments are welcome; contact Audrey Crane
computers phones, and personal phones, and multi- automobiles, and Cori Kaylor, Onno Kluyt, Stuart Marks, Shawn Moore, at audrey@dubberly.com.
digital assistants (PDAs) application smart cards Telematic networks Chuck Mosher, Shaler Ney, Eduardo Pelegri-Llopart,
Lori Uzzo, Brad Wetmore, and Hinkmond Wong. February 14, 2003

Potrebbero piacerti anche