1 /* 2 * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /** 27 * Provides classes that are fundamental to the design of the Java 28 * programming language. The most important classes are {@code 29 * Object}, which is the root of the class hierarchy, and {@code 30 * Class}, instances of which represent classes at run time. 31 * 32 * <p>Frequently it is necessary to represent a value of primitive 33 * type as if it were an object. The wrapper classes {@code Boolean}, 34 * {@code Character}, {@code Integer}, {@code Long}, {@code Float}, 35 * and {@code Double} serve this purpose. An object of type {@code 36 * Double}, for example, contains a field whose type is double, 37 * representing that value in such a way that a reference to it can be 38 * stored in a variable of reference type. These classes also provide 39 * a number of methods for converting among primitive values, as well 40 * as supporting such standard methods as equals and hashCode. The 41 * {@code Void} class is a non-instantiable class that holds a 42 * reference to a {@code Class} object representing the type void. 43 * 44 * <p>The class {@code Math} provides commonly used mathematical 45 * functions such as sine, cosine, and square root. The classes {@code 46 * String}, {@code StringBuffer}, and {@code StringBuilder} similarly 47 * provide commonly used operations on character strings. 48 * 49 * <p>Classes {@code ClassLoader}, {@code Process}, {@code 50 * ProcessBuilder}, {@code Runtime}, {@code SecurityManager}, and 51 * {@code System} provide "system operations" that manage the dynamic 52 * loading of classes, creation of external processes, host 53 * environment inquiries such as the time of day, and enforcement of 54 * security policies. 55 * 56 * <p>Class {@code Throwable} encompasses objects that may be thrown 57 * by the {@code throw} statement. Subclasses of {@code Throwable} 58 * represent errors and exceptions. 59 * 60 * <a name="charenc"></a> 61 * <h3>Character Encodings</h3> 62 * 63 * The specification of the {@link java.nio.charset.Charset 64 * java.nio.charset.Charset} class describes the naming conventions 65 * for character encodings as well as the set of standard encodings 66 * that must be supported by every implementation of the Java 67 * platform. 68 * 69 * @since 1.0 70 */ 71 package java.lang;