The Java Language Specification - James Gosling, Bill Joy, Guy L. Steele  Jr.

The Java Language Specification

Buch | Hardcover
864 Seiten
1996
Addison Wesley (Verlag)
978-0-201-63451-8 (ISBN)
49,10 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Java is a programming language for the Internet. It is a derivative of C/C++. Written from a real-world programmer perspective with "insider" details from two Java programmers, this text explains the technical specification for Java.
Second Edition now available!Written by the inventors of the technology, The Java Language Specification is the definitive technical reference for the Java programming language. It provides complete, accurate, and detailed coverage of the entire language and its syntax. If you want to know the precise meaning of Java's constructs, this is the source for you. The book specifies all of Java's syntax and semantics. It contains both lexical and syntactic grammars for the language, including a LALR(1) grammar. It describes all aspects of the language as checked by a Java compiler, including the semantics of all types, statements, and expressions. It also covers all aspects of the Java execution model, including exceptions, threads, and binary compatibility. In addition, the book gives specifications for all the types defined in the core packages of Java's Application Programming Interface (API): java.lang, java.io, and java.util. 0201634511B04062001

The Java Series is the official source of complete, expert, and definitive information on Java, from the creators of the Java technology at Sun Microsystems. These books, written by members of the JavaSoft team at Sun, provide the inside information you need to understand Java thoroughly and to work with it effectively to build flexible, robust, portable, and secure Java applications and Internet applets. The series is an indispensable resource for anyone programming in Java. James Gosling is a Fellow and Chief Technology Officer of Sun's Developer Products group, the creator of the Java programming language, and one of the computer industry's most noted programmers. He is the 1996 recipient of Software Development's "Programming Excellence Award." He previously developed NeWS, Sun's network-extensible window system, and was a principal in the Andrew project at Carnegie Mellon University, where he earned a Ph.D. in computer science. Bill Joy is a cofounder of Sun Microsystems, where he led the company's technical strategy until September 2003, working on both hardware and software architecture. He is well known as the creator of the Berkeley version of the UNIX® operating system, for which he received a lifetime achievement award from the USENIX Association in 1993. He received the ACM Grace Murray Hopper Award in 1986. Joy has had a central role in shaping the Java programming language. He joined KPCB as Partner in January 2005. Guy L. Steele Jr. is a Sun Fellow at Sun Microsystems Laboratories, where he is responsible for research in language design and implementation strategies, parallel algorithms, and computer arithmetic. He is well known as the cocreator of the Scheme programming language and for his reference books for the C programming language (with Samuel Harbison) and for the Common Lisp programming language. Steele received the ACM Grace Murray Hopper Award in 1988 and was named an ACM Fellow in 1994, a member of the National Academy of Engineering in 2001, and a fellow of the American Academy of Arts and Science in 2002. He also received the 1996 ACM SIGPLAN Programming Languages Achievement Award and the 2005 Dr. Dobb's Journal Excellence in Programming Award.

1. Introduction.


Example Programs.



References.



Other Books in The Java Series.



2. Grammars.


Context-Free Grammars.



The Lexical Grammar.



The Syntactic Grammar.



Grammar Notation.



3. Lexical Structure.


Unicode.



Lexical Translations.



Unicode Escapes.



Line Terminators.



Input Elements and Tokens.



White Space.



Comments.



Keywords.



Identifiers.



Literals.



Separators.



Operators.



4. Types, Values, and Variables.


Primitive Types and Reference Types.



Primitive Types and Values.



Reference Types, Objects, and Reference Values.



When Types Are the Same.



Where Types Are Used.



Variables.



5. Conversions and Promotions.


Contexts for Conversions.



Conversions of Primitive Values.



Assignment Conversion.



Method Call Conversion.



Casting Conversions.



Numeric Promotions.



6. Names.


Declarations.



Names.



Scope and Hiding of a Simple Name.



Members and Inheritance.



Qualified Names and Access Control.



Determining the Meaning (Denotation) of a Name.



Fully Qualified Names.



Naming Conventions.



Type Evolution and Name Conflicts.



7. Packages.


Packages.



Host Support for Packages.



Compilation Units.



Package Declarations.



Import Declarations.



Type Declarations.



Avoiding Package Name Conflicts.



8. Class Declarations.


Class Declarations.



The Class Members.



Field Declarations.



Method Declarations.



Static Initializers.



Constructor Declarations.



9. Interface Declarations.


Interface Declarations.



The Interface Members.



Field (Constant) Declarations.



Method (Signature) Declarations.



Implementing Interfaces which Are Not Public.



An Example of Interfaces.



10. Array Declarations.


Array Basics.



Array Types.



Array Variables.



Array Creation.



Array Access.



A Simple Example.



Array Initializers.



Array Members.



Arrays and Clones.



Array Store Exception.



Additional Array Examples.



Arrays of Characters and Strings.



11. Exceptions.


The Causes of Exceptions.



Compile-Time Checking of Exceptions.



Handling of an Exception.



An Example of an Exception.



The Exception Hierarchy.



12. Execution.


Virtual Machine Startup.



Class and Interface Loading and Linking.



Class Initialization.



Creation of New Class Instances.



Calling Methods of Objects.



Cloning Objects.



Finalization of Class Instances.



Class Finalization.



Class Unloading.



Virtual Machine Exit.



13. Blocks and Statements.


Normal and Abrupt Completion of Statements.



Blocks.



Local Variable Declaration Statements.



Statements.



The Empty Statement.



Labeled Statements.



Expression Statements.



The if Statement.



The switch Statement.



The while Statement.



The do Statement.



The for Statement.



The break Statement.



The continue Statement.



The return Statement.



The throw Statement.



The synchronized Statement.



The try statement.



Unreachable Statements.



14. Expressions.


Evaluation, Denotation, and Result.



Variables as Values.



Compile-Time Type of an Expression.



Run-Time Type of an Expression.



Normal and Abrupt Completion of Evaluation.



Evaluation Order.



Primary Expressions.



Class Instance Creation Expressions.



Array Creation Expressions.



Field Access Expressions.



Method Call Expressions.



Array Access Expressions.



Postfix Expressions.



Unary Operators.



Cast Expressions.



Multiplicative Operators.



Additive Operators.



Shift Operators.



Relational Operators.



Equality Operators.



Bitwise and Logical Operators.



Conditional-And Operator &&.



Conditional-Or Operator ||.



Conditional Operator ? :.



Assignment Operators.



Expression.



Constant Expression.



15. Definite Assignment.


Definite Assignment and Expressions.



Definite Assignment and Statements.



16. Threads and Locks.


Terminology and Framework.



Rules about Variables.



Rules about Locks.



Rules about the Interaction of Locks and Variables.



Rules for Volatile Variables.



Discussion.



Threads.



Locks.



17. Documentation Comments.


The Text of a Documentation Comment.



HTML in a Documentation Comment.



Summary Sentence.



Taglines.



Example.



18. LALR(1) Java Grammar.


Problem #1: Field vs. Method Declaration.



Problem #2: Cast vs. Parenthesized Expression.



Problem #3: Modifiers Too Specific.



Productions From §2.3: Syntactic Grammar.



Productions From §3: Lexical Structure.



Productions From §4: Types, Values, and Variables.



Productions From §6: Names.



Productions From §7: Packages.



Only in the LALR(1) Grammar.



Productions From §8: Class Declarations.



Productions From §9: Interface Declarations.



Productions From §10: Array Declarations.



Productions From §13: Blocks and Statements.



Productions From §14: Expressions.



19. The java.lang Package.


The class Object.



The class Class.



The class Boolean.



The class Character.



The class Number.



The class Integer.



The class Long.



The class Float.



The class Double.



The class Math.



The class String.



The class StringBuffer.



The class ClassLoader.



The class Process.



The class Runtime.



The class SecurityManager.



The class System.



The interface Runnable.



The class Thread.



The class ThreadGroup.



Classes for Exceptions and Errors.



20. The java.util Package.


The class BitSet.



The class Date.



The class Dictionary.



The class EmptyStackException.



The interface Enumeration.



he class Hashtable.



The class NoSuchElementException.



The class Observable.



The interface Observer.



The class Properties.



The class Random.



The class Stack.



The class StringTokenizer.



The class Vector.



21. The java.io Package.


The class BufferedInputStream.



The class BufferedOutputStream.



The class ByteArrayInputStream.



The class ByteArrayOutputStream.



The interface DataInput.



The class DataInputStream.



The interface DataOutput.



The class DataOutputStream.



The class EOFException.



The class File.



The class FileDescriptor.



The class FileInputStream.



The class FileNotFoundException.



The class FileOutputStream.



The interface FilenameFilter.



The class FilterInputStream.



The class FilterOutputStream.



The class IOException.



The class InputStream.



The class InterruptedIOException.



The class LineNumberInputStream.



The class OutputStream.



The class PipedInputStream.



The class PipedOutputStream.



The class PrintStream.



The class PushbackInputStream.



The class RandomAccessFile.



The class SequenceInputStream.



The class StreamTokenizer.



The class StringBufferInputStream.



The class UTFDataFormatException.



References.


Index. 0201634511T04062001

Erscheint lt. Verlag 23.9.1996
Verlagsort Boston
Sprache englisch
Maße 187 x 234 mm
Gewicht 1255 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-201-63451-1 / 0201634511
ISBN-13 978-0-201-63451-8 / 9780201634518
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90