Sun Microsystems 2 Mutual Source Compatibility Check, Class and Class Member Attributes Checked

Page 17

Mutual Source Compatibility Check

While binary compatibility is important, it cannot guarantee that an application in binary form as a set of class files can be recompiled without error.

The signature test source compatibility check mode verifies that any application that compiles without error with a compatible API, compiles without error with all other source compatible APIs.

Mutual source compatibility is a stricter check than the mutual binary compatibility and SigTest tool performs it by default.

Class and Class Member Attributes Checked

A Java platform API consists of classes, and interfaces, and their member fields, methods, and constructors, and documented annotations. In turn, all of these API items can have various attributes such as names, modifiers, a list of parameters, a list of interfaces, exceptions, nested classes, and so forth. A signature test checks that certain members and attributes belonging to the API under test are the same as those defined by the API to which it is being compared. The signature test checks public and protected API items only and ignores private and package-access items.

The tool checks the following attributes when comparing items in the API implementation under test:

Classes and interfaces, including nested classes and interfaces:

Set of modifiers except strictfp

Name of the superclass

Names of all superinterfaces, direct plus indirect, where order is insignificant

Constructors:

Set of modifiers

List of argument types

In source compatibility mode only, the normalized list of thrown exceptions where order is insignificant

Normalizing the throw lists involves removing all superfluous exception classes. An exception class is superfluous if it is a subclass of either the java.lang.RuntimeException class, the java.lang.Error class, or another class from the same list.

Methods:

The set of modifiers, except strictfp, synchronized, and native

The return type

The list of argument types

Chapter 1 Introduction

3

Image 17
Contents SigTest Tool 2.0 User’s Guide Please Recycle Contents SetupAndTest Command SignatureTest CommandIndex Vi Signature Test Tool 2.0 User’s Guide April Table A-1 TablesViii Signature Test Tool 2.0 User’s Guide April Code Examples Signature Test Tool 2.0 User’s Guide April Http//jtharness.dev.java.net Who Should Use This GuideBefore You Read This Guide Related Documentation How This Guide Is OrganizedSun Welcomes Your Comments Typographic ConventionsXiv Signature Test Tool 2.0 User’s Guide April Signature Test Basics IntroductionMutual Binary Compatibility Check What is TestedClass and Class Member Attributes Checked Mutual Source Compatibility CheckSource and Binary Compatibility Modes Using Custom Signature Loaders Signature Test Tool 2.0 User’s Guide April Signature Test Tool Basics Using the Signature Test ToolReflection and Static Run Modes Constant Checking in Differing Run Modes Generics Checking in Binary ModePackage PackageWithoutSubpackages Exclude Bootstrap and Extension Classes1Settings for the Setup and SignatureTest Commands JSR 68-Based Merge Merge Command Operative PrinciplesSignature File Merge Rules Element Handling by Merge Using the Signature Test Tool Command Description Setup CommandJava com.sun.tdk.signaturetest.Setup arguments Help Debug Static Classpath pathNonClosedFile FileName filename ClosedFile File//pathPackage VerboseSignature File Formats Case Sensitivity of Command ArgumentsJava.lang.RuntimeException class, or 3Signature File Format CompatibilitySignature File Contents Signature File Body 4Signature File Content SummaryStrictfp Transient Volatile Synchroniz Native Java com.sun.tdk.signaturetest.SignatureTest arguments Help Debug Static Mode bin src5SignatureTest Command Arguments NoCheckValue CheckValueClassCacheSize sizeofcache Classpath see ClasspathFormatPlain ErrorAllNoMerge Testsuite-path/tests/api/signaturetest Running a Signature Test With the JavaTest HarnessSigTest-Directory/examples/sampleTCK/tck/tests/api/sigtest FileName ./name.sig Report FormatsSorted Report Code Example 2-1Unsorted Report Example Unsorted ReportHelp Reference path Java com.sun.tdk.signaturetest.SetupAndTest arguments6SetupAndTest Command Argument Java com.sun.tdk.signaturetest.Merge arguments Merge CommandHelp Files Write -Binary 7Merge Command ArgumentsQuick Start Examples Example Setup CommandV1.0/example/test.class Running the Setup CommandJavac -d V1.0 V1.0/test.java This completes the Setup command example Running SignatureTest Without the JavaTest Harness Example SignatureTest CommandV2.0/example/test.class STATUSFailed.3 errorsJavac -d V2.0 V2.0/test.java Running the SetupAndTest Command Example SetupAndTest CommandV2.0/example/test.class The API under test Setenv JRE Java-Home/jre/lib/rt.jarCode Example A-5SetupAndTest Command Output Example Running Merge Examples Merge ExamplesA.class Run command #2 Example Result Files Code Example A-7 Contents of ./x2.sig Code Example A-9 Contents of x1+x2.sig Signature Test Tool 2.0 User’s Guide April Index Sorted report, 24 static modeUnsorted report
Related manuals
Manual 50 pages 18.14 Kb

2 specifications

Sun Microsystems, founded in 1982, was a significant player in the computing industry, best known for its innovative technology solutions and workstations, particularly the Sun-4, which represented a key milestone in the company's history. The Sun-4 architecture, launched in 1987, utilized the SPARC (Scalable Processor Architecture) RISC processor, notable for its high performance and scalability.

One of the primary features of Sun Microsystems' platforms was their ability to efficiently handle multitasking and resource management, making them ideal for enterprise-level applications and development environments. Sun-4 workstations boasted impressive graphics capabilities with the addition of advanced graphical user interfaces, support for color displays, and the SUNVIEW windowing system, which enhanced user experience and productivity.

The Sun-4 systems also supported the SunOS operating system, which was based on UNIX. This operating system was engineered for stability and robustness, offering features like multiuser support, networked environments, and advanced security options. Moreover, SunOS provided seamless integration with various programming languages, including C and C++, facilitating software development that aligned with industry standards.

Another standout characteristic of Sun Microsystems was its commitment to open systems and standards. By providing developers with comprehensive tools and environments, such as the Standardized Application Programming Interface (API) and support for networking protocols, Sun facilitated interoperability among different computing platforms. The emphasis on open architecture also meant that customers could easily upgrade their systems without being locked into proprietary solutions.

Sun Microsystems was also ahead of its time with innovations in network computing. Their workstations were among the first to support network file systems and distributed computing concepts, enabling seamless data sharing across multiple systems. With the introduction of the Network File System (NFS), Sun revolutionized how data was accessed and managed across networks, which played a significant role in the evolving landscape of client-server computing.

In summary, the Sun Microsystems 2 and its successive innovations in workstation technology highlighted the company's forward-thinking approach. By integrating powerful performance with open systems, robust operating systems, and advanced networking capabilities, Sun laid the groundwork for modern computing, influencing various sectors from academia to enterprise solutions. Even after its acquisition by Oracle in 2010, the legacy of Sun Microsystems continues to be felt across the computing industry.