Movatterモバイル変換


[0]ホーム

URL:


Wayback Machine
528 captures
16 May 2007 - 29 Jun 2024
AprMAYJun
Previous capture21Next capture
202120222024
success
fail
COLLECTED BY
Collection:Save Page Now
TIMESTAMPS
loading
The Wayback Machine - https://web.archive.org/web/20220521154313/http://openjdk.java.net/groups/core-libs/

The Core Libraries Group

ThisGroup is comprised ofdevelopers who participate in the design, implementation, andmaintanence of the Java core libraries.

Introduction

The core libraries consist of classes which are used by manyportions of the JDK. The actual set of files has evolved over time,but mostly they include functionality which is close to the VM andis not explicitly included in other areas, such asSecurity orNetworking. Also included are commonlyused tools which are either built on top of the core libraries(such asjar) or are used by developersworking with them (such asrmic).

Feature Areas

The following table lists the feature areas of the corelibraries with their corresponding repository locations and linksto other developer documentation. (For documentation targeted forJDK users rather than contributors, see the sectionEnd-User Documentation.)

Currently there are some libraries which appear in the namepackages as core libraries but are maintained by other groups.These exceptions are mentioned within the corresponding tableentries.

Unless otherwise specified, all locations are in thejdk repository.

Feature AreaRepository LocationsMore Information
java.lang

Provides classes that are fundamental to the design of the Javaprogramming language such asString,Math,Enum, and the wrapper classes for primitive types (e.g.Boolean,Float,Character).


src/share/classes/java/lang
src/share/native/java/lang
src/solaris/classes/java/lang
src/solaris/native/java/lang
src/windows/classes/java/lang
src/windows/native/java/lang
test/java/lang

Threading
Includes basic runtime support for threads.


src/share/classes/java/lang/Thread*.java
src/share/native/java/lang/Thread.c
test/java/lang/Thread*

Process
Includes basic runtime support for creating processes andcontrolling process I/O.


src/share/classes/java/lang/Process.java
src/share/classes/java/lang/ProcessBuilder.java
src/share/classes/java/lang/Runtime.java
src/share/native/java/lang/Runtime.c
src/solaris/classes/java/lang/*Process*
src/windows/classes/java/lang/*Process*
src/solaris/native/java/lang/*Process*
src/windows/native/java/lang/*Process*
test/java/lang/ProcessBuidler
test/java/lang/Runtime
java.lang.annotationjavax.annotation

Provides library support for the Java programming languageannotation facility. (These are closely related to the Compiler APIandjavax.lang.model, which are all owned by theCompiler Group.


jdk repository:
src/share/classes/java/lang/annotation
src/share/classes/sun/reflect/annotation
langtools repository:
src/share/classes/javax/annotationsrc/share/classes/javax/lang/model
  • JSR 269:java.lang.annotation package
  • java.lang.annotationBugs
  • javax.annotationBugs
java.lang.instrument

Provides services that allow Java programming language agents toinstrument programs running on the JVM. These APIs are owned by theServiceabilityGroup


src/share/classes/java/lang/instrument
src/share/classes/sun/instrument
src/share/instrument
src/solaris/instrument
src/windows/instrument
test/java/lang/instrument
java.lang.management

Provides the management interface for monitoring and managementof the JVM as well as the operating system on which the JVM isrunning. These APIs are owned by theServiceability Group


src/share/classes/java/lang/management
test/java/lang/management
java.lang.ref

Provides reference-object classes, which support a limiteddegree of interaction with the garbage collector.


src/share/classes/java/lang/ref
src/share/native/java/lang/ref
test/java/lang/ref
java.lang.reflect

Provides classes and interfaces for obtaining reflectiveinformation about classes and objects.


src/share/classes/java/lang/reflect
src/share/classes/sun/reflect
src/share/native/java/lang/reflect
src/share/native/sun/reflect
test/java/lang/reflect
test/java/lang/Class
java.io

Provides for system input and output and the file system.


src/share/classes/java/io
src/share/native/java/io
src/solaris/classes/java/io
src/solaris/native/java/io
src/windows/classes/java/io
src/windows/native/java/io
test/java/io

Serialization
Supports encoding of objects to and from byte streams.


src/share/classes/java/io/Externalizable.java
src/share/classes/java/io/ObjectInputStream.java
src/share/classes/java/io/ObjectOutputStream.java
src/share/classes/java/io/NotSerializableException.java
src/share/classes/java/io/Serializable.java
src/share/classes/java/io/SerializablePermission.java
src/share/native/java/io/ObjectInputStream.c
src/share/native/java/io/ObjectOutputStream.c
test/java/io/Externalizable
test/java/io/ObjectInputStream
test/java/io/Serializable

serialver
Tool retrieves theserialVersionID for a class.


src/share/classes/sun/tools/serialver
test/java/io/Serializable/serialver
java.nio

Provides buffers to contain data of primitive type.


src/share/classes/java/nio
src/share/classes/sun/nio/ByteBuffered.java
src/share/native/java/nio
src/solaris/native/java/nio
src/windows/native/java/nio
test/java/nio/Buffer
test/java/nio/ByteOrder
test/java/nio/MappedByteBuffer
make/gensrc/GensrcBuffer.gmk
  • JSR 51:java.nio packages for channels and charsets
  • buffer, channels, and file systemBugs
java.nio.channels
java.nio.channels.spi

Defines channels, an abstraction for devices capable ofperforming I/O operations; defines selectors for multiplexed,non-blocking I/O.


src/share/classes/java/nio/channels
src/share/classes/sun/nio/ch
src/share/native/sun/nio/ch
src/share/sample/nio
src/solaris/classes/sun/nio/ch
src/solaris/native/sun/nio/ch
src/windows/classes/sun/nio/ch
src/windows/native/sun/nio/ch
test/java/nio/channels
test/sun/nio/ch
src/share/sample/nio
 
java.nio.charset
java.nio.charset.spi

Defines charsets, decoders, and encoders, for translatingbetween bytes and Unicode characters


src/share/classes/java/nio/charset
src/share/classes/sun/nio/cs
src/solaris/classes/sun/nio/cs
make/gensrc/GensrcCharsetCoder.gmk

native2ascii
Tool converts files to and from native encodings.


src/share/classes/sun/tools/native2ascii
test/sun/tools/native2ascii
java.nio.file
java.nio.file.attribute
java.nio.file.spi

Defines interfaces and classes to access files, file attributes,and file systems.


src/share/classes/java/nio/file
src/share/classes/com/sun/nio/file
java.util

Provides the collections framework, formatted printing andscanning, array manipulation utilities, event model, date and timefacilities, internationalization, and miscellaneous utilityclasses.


src/share/classes/java/util
test/java/util

Collections
Includes all classes which implement theCollectioninterface such as data structures implementing lists, queues, maps,and sets.


src/share/classes/java/util/ArrayDeque.java
src/share/classes/java/util/ArrayList.java
src/share/classes/java/util/Collection.java
src/share/classes/java/util/Collections.java
src/share/classes/java/util/*Map.java
src/share/classes/java/util/*Set.java
src/share/classes/java/util/Linked*.java
src/share/classes/java/util/Stack.java
src/share/classes/java/util/Vector.java
test/java/util/ArrayDeque.java
test/java/util/ArrayList.java
test/java/util/Collection.java
test/java/util/Collections.java
test/java/util/*Map.java
test/java/util/*Set.java
test/java/util/Linked*.java
test/java/util/Stack.java
test/java/util/Vector.java

Internationalization Classes
Includes support for internationalization and locale-specificoutput of dates, times, and currencies. These APIs are owned by theInternationalizationGroup


src/share/classes/java/util/*Calendar.java
src/share/classes/java/util/Currency.java
src/share/classes/java/util/Date.java
src/share/classes/java/util/Locale*.java
src/share/classes/java/util/ResourceBundle.java
src/share/classes/java/util/*TimeZone*.java
src/share/classes/sun/util/*.java (exceptPreHashedMap.java)
src/share/classes/sun/util/resources
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks

Provides utility classes used in concurrent programming,including support for atomic updates of single variables and alocking framework which supplements language-levelsynchronization.


src/share/classes/java/util/concurrent
src/share/native/java/util/concurrent
test/java/util/concurrent
java.util.jar

Provides classes for reading and writing the JAR (Java ARchive)file format.


src/share/classes/com/sun/java/util/jar
src/share/classes/java/util/jar
src/share/native/com/sun/java/util/jar
test/java/util/jar
Not strictly part of JAR, but useful:
src/share/classes/sun/net/www/protocol/jar
src/solaris/classes/sun/net/www/protocol/jar
src/windows/classes/sun/net/www/protocol/jar
test/sun/net/www/protocol/jar

jar
Tool creates and accesses the contents of a.jar file.


src/share/classes/sun/tools/jar
test/tools/jar

extcheck
Tool detects conflicts between a target.jar file and thecurrently installed extension.jar files.


src/share/classes/com/sun/tools/extcheck
java.util.logging

Provides support to maintain and service software at customersites.


src/share/classes/java/util/logging
src/share/classes/sun/util/logging
test/java/util/logging
java.util.regex

Provides classes for matching character sequences againstpatterns specified by regular expressions.


src/share/classes/java/util/regex
java.util.prefs

Provides classes to store and retrieve user and systempreference and configuration data.


src/share/classes/java/util/prefs
src/solaris/classes/java/util/prefs
src/windows/classes/java/util/prefs
java.util.spi

Service provider classes for the java.util package. These APIsare owned by theInternationalization Group


src/share/classes/java/util/spi
java.util.stream

Classes to support function-style operations on streams ofelements, such as map-reduce transformations on collections.


src/share/classes/java/util/stream
test/java/util/stream
java.util.zip

Provides classes for reading and writing the standard ZIP andGZIP file formats.


src/share/classes/java/util/zip
src/share/native/java/util/zip
test/java/util/zip
java.math

Provides classes for performing arbitrary-precision integerarithmetic (BigInteger) and arbitrary-precision decimalarithmetic (BigDecimal).


src/share/classes/java/math
src/share/classes/java/lang/Math.java
src/share/classes/java/lang/StrictMath.java
src/share/classes/sun/misc/FloatConsts.java
src/share/classes/sun/misc/FloatingDecimal.java
java.rmi
java.rmi.activation
java.rmi.dgc
java.rmi.registry
java.rmi.server

Provides support for remote communication between programswritten in Java.


src/share/classes/java/rmi
src/share/classes/sun/rmi
test/java/rmi
test/sun/rmi

rmic
Toolgenerates stub, skeleton, and tie classes for remote objects usingeither the JRMP or IIOP protocols, and generates OMG IDL.


src/share/classes/java/rmi/rmic
test/sun/rmi/rmic

rmid
Tool starts the activation system daemon that allows objects to beregistered and activated in a VM.


src/share/classes/com/sun/rmi/rmid

rmiregistry
Tool starts a remote object registry on the specified port on thecurrent host.


src/share/classes/sun/rmi/registry
java.sql
javax.sql

Provides the API for accessing and processing data stored indata source.


src/share/classes/java/sql
src/share/classes/javax/sql
src/share/classes/com/sun/rowset
 
javax.naming
javax.naming.directory
javax.naming.event
javax.naming.ldap
javax.naming.spi

Provides access to Naming and Directory Service such as DNS andLDAP.


src/share/classes/javax/naming
src/share/classes/com/sun/naming
test/javax/naming
src/share/classes/com/sun/jndi
test/com/sun/jndi
javax.script

Provides interfaces and classes that define Java ScriptingEngines and a framework for their use in Java applications.

JDK 8 includes source code for the Nashorn script engine whichis based on JSR 292'sinvokedynamic.


jdk repository:
src/share/classes/javax/script
src/share/classes/com/sun/script
src/share/demo/scripting/jconsole.plugin
src/share/sample/scripting
test/javax/script
nashorn repository:
src/*

jrunscript
Tool provides a command line script shell both both interactive andbatch modes of script execution.

This tool is experimental and unsupported.


src/share/classes/com/sun/tools/script
test/sun/tools/jrunscript
javax.xml javax.xml.datatypejavax.xml.namespacejavax.xml.parsersjavax.xml.streamjavax.xml.stream.eventsjavax.xml.stream.utiljavax.xml.transformjavax.xml.transform.comjavax.xml.transform.saxjavax.xml.transform.staxjavax.xml.transform.streamjavax.xml.validationjavax.xml.xpathorg.w3c.domorg.w3c.dom.bootstraporg.w3c.dom.lsorg.w3c.dom.viewsorg/xml/sax
org/xml/sax.ext
org/xml/sax.helpers

The Java API for XML Processing (JAXP) enables applications toparse, transform, validate, and query XML documents using an APIthat is independent of a particular XML processorimplementation.


jaxp repository:
src/*

Building

Developers arestrongly encouraged to perform fullbuilds prior to check-in of any changes. (Afull build isa build performed when there is no pre-existingbuilddirectory; the respository should contain only the desired changesand no auto-generated data. Simply performingmake at thetop of the build tree isnot a full build.) Depending onthe area, incremental builds are not a reliable indicator ofwhether or not changes will compile successfully in a full build.In particular, some files are used early in the bootstrap phase tobuild components likejava.lang.Object, the launcher, andjavac that are used to build the rest of the JDK. Theseare later re-built once sufficient infrastructure has beengenerated by the bootstrap build. Incremental builds will onlycatch errors that occur in the compile after bootstrap.

Even when it appears that onlyjava code is beingmodified, it is prudent to build on multiple platform families. Arecommended minimum is one Windows and one Unix target, butdepending on the code being modified, it may be necessary toinclude a wider spectrum or a specific set of platforms. This isnecessary because there is no guarantee that thejava codewhich depends on a change in core is identical on all platforms.For instance,rt.jar is not portable—the classeswithin it vary from platform to platform.

Testing

Tests or modifications of existing tests are required and mustaccompany all changes (both new functionality and any bug fixes).There are some exceptions. For example, it is not always possibleto provide test for fixes for performance problems or otherconditions that are difficult to simulate or require unusualenvironmental conditions (such as exceptionally low memory, systemreboot, third-party software, etc.).

In addition to running the new tests, tests in the modified areaand any dependent areas should be run. Dependent areas may not beimmediately obvious. As with builds, it is necessary to run testson multiple platforms.

Not all areas have tests in the repository. There are twopossible reasons for this. It may be that there are no tests ortests may exist, but have not been audited for open-sourcing. Inthe latter case, the goal is to add them soon. Please ask aboutappropriate testing when considering a modification.

End-UserDocumentation

The following links reference the canonical end-userdocumentation for the JDK. The features areas listed above willhave documentation in the corresponding sections of thesereferences.

Community

OpenJDK logo
Installing
Contributing
Sponsoring
Developers' Guide
Vulnerabilities
JDK GA/EA Builds
Mailing lists
Wiki ·IRC
Bylaws ·Census
Legal
JEP Process
Source code
Mercurial
GitHub
Tools
Mercurial
Git
jtreg harness
Groups
(overview)
Adoption
Build
Client Libraries
Compatibility & Specification Review
Compiler
Conformance
Core Libraries
Governing Board
HotSpot
IDE Tooling & Support
Internationalization
JMX
Members
Networking
Porters
Quality
Security
Serviceability
Vulnerability
Web
Projects
(overview)
Amber
Annotations Pipeline 2.0
Audio Engine
Build Infrastructure
CRaC
Caciocavallo
Closures
Code Tools
Coin
Common VM Interface
Compiler Grammar
Detroit
Developers' Guide
Device I/O
Duke
Font Scaler
Framebuffer Toolkit
Graal
Graphics Rasterizer
HarfBuzz Integration
IcedTea
JDK 6
JDK 7
JDK 7 Updates
JDK 8
JDK 8 Updates
JDK 9
JDK (…17,18,19)
JDK Updates
JavaDoc.Next
Jigsaw
Kona
Kulla
Lambda
Lanai
Leyden
Lilliput
Locale Enhancement
Loom
Memory Model Update
Metropolis
Mission Control
Modules
Multi-Language VM
Nashorn
New I/O
OpenJFX
Panama
Penrose
Port: AArch32
Port: AArch64
Port: BSD
Port: Haiku
Port: Mac OS X
Port: MIPS
Port: Mobile
Port: PowerPC/AIX
Port: RISC-V
Port: s390x
Portola
SCTP
Shenandoah
Skara
Sumatra
ThreeTen
Tiered Attribution
Tsan
Type Annotations
XRender Pipeline
Valhalla
Verona
VisualVM
Wakefield
Zero
ZGC
Oracle logo
© 2022 Oracle Corporation and/or its affiliates
Terms of Use · License:GPLv2 ·Privacy ·Trademarks

[8]ページ先頭

©2009-2025 Movatter.jp