1、接口html
(1) java.lang.Appendablejava
實現該接口的類,其實例化的對象具備添加字符、添加指定的字符序列或者添加指定字符序列的子序列的功能。例如:某個類的實例打算接收取自 Formatter 的格式化輸出,那麼該類必須實現 Appendable 接口。正則表達式
下面是實現該接口的類以及對其方法的介紹:api
import java.io.IOException; public class AppendableTest implements Appendable { /** * 向此 Appendable 添加指定的字符序列 * @param csq (要添加的字符串序列。若是 csq 爲 null,則向該 Appendable 添加四個字符 "null") * @return (此 Appendable 的引用 ) */ @Override public Appendable append(CharSequence csq) throws IOException { return null; } /** * 向此 Appendable 添加指定字符序列的子序列。 * @param csq - 子序列將被添加的字符序列。若是 csq 爲 null,則添加四個字符 "null",就好像 csq 包含這些字符同樣。 * @param start - 子序列中第一個字符的索引 * @param end - 緊隨子序列中最後一個字符的字符的索引 * @return (此 Appendable 的引用 ) */ @Override public Appendable append(CharSequence csq, int start, int end) throws IOException { return null; } /** * 向此 Appendable 添加指定字符 * @param c - 要添加的字符 * @return (此 Appendable 的引用 ) */ @Override public Appendable append(char c) throws IOException { // TODO Auto-generated method stub return null; } }
(2) java.lang.CharSequence
數組
CharSequence是一個可讀的字符序列,此接口對許多不一樣種類的char序列提供統一的只讀訪問。該接口的四個方法都是很是重要並且常用的,分別是:安全
charAt(int index) : 返回指定索引的char值。注意:索引範圍是從零到length( )-1。對於數組索引,序列的第一個char值是索引零,下一個是索引一,依此類推。多線程
length( ) : 返回此字符序列的長度併發
subSequence(int start,int end) : 返回一個新的序列,該新的序列是原來序列的一個子序列。注意:子序列從指定序列的 char值開始,並在索引 end-1 的 char值結束。返回序列的長度(char中)是 end-start,所以,若是start==end,則返回一個空序列。app
toString( ) : 返回一個包含此序列中字符的字符串,該字符串與此序列的順序相同。字符串的長度就是此序列的長度。ide
(3) java.lang.Cloneable
若是一個類實現了Cloneable接口,就能夠經過Object.clone()方法合法的對該類實例進行按字段複製,因此該接口能夠稱做克隆接口。注意:若是在沒有實現Cloneable接口的實例上調用Object的clone方法,則會拋出CloneNotSupportedException異常。
(4)java.lang.Comparable
能夠對實現該接口的類的對象進行總體排序,同時兩個實例化的對象能夠進行比較。
下面是比較的一個示例:
public class ComparableTest { public static void main(String[] args) { Short a=1; //Short是實現了Comparable接口的其中一個類 Short b=2; System.out.println(a.compareTo(b));//結果是:-1 System.out.println(b.compareTo(b));//結果是:0 System.out.println(b.compareTo(a));//結果是:1 } }
(5) java.lang.Iterable
迭代接口: 實現這個接口容許對象成爲 "foreach" 語句的目標。
(6)java.lang.Readable
可讀取接口:能夠從實現該接口的類的實例對象中讀取字符。
(7) java.lang.Runable
使用實現接口 Runable 的對象建立一個線程時,啓動該線程將致使在獨立執行的線程中調用對象的 run
方法。沒有擴展Thread的類能夠經過實現該接口,開發出多線程服務的能力。
(8) java.lang.Thread.UncaughtExceptionHandler
線程未捕獲異常控制器接口。在線程執行過程當中引起了異常而沒有捕獲時, 實現了該接口的類能夠做爲控制器處理該情況。當給定線程因給定的未捕獲異常而終止時,調用該方法。Java 虛擬機將忽略該方法拋出的任何異常。
2、類
(1)java.lang.Boolean
將原始數據類型boolean對象化的類。Boolean 類將基本類型爲 boolean
的值包裝在一個對象中。一個 Boolean
類型的對象只包含一個類型爲 boolean
的字段。此外,此類還爲 boolean
和 String
的相互轉換提供了許多方法,並提供了處理 boolean
時很是有用的其餘一些常量和方法。
(2)java.lang.Byte
將原始數據類型byte對象化的類。Byte
類將基本類型 byte
的值包裝在一個對象中。一個 Byte
類型的對象只包含一個類型爲 byte
的字段。此外,該類還爲 byte
和 String
的相互轉換提供了幾種方法,並提供了處理 byte
時很是有用的其餘一些常量和方法。
(3)java.lang.Character
將原始數據類型char對象化的類。Character
類在對象中包裝一個基本類型 char
的值。Character
類型的對象包含類型爲 char
的單個字段。該類提供了幾種方法,以肯定字符的類別(小寫字母,數字,等等),並將字符從大寫轉換成小寫。
(4)java.lang.Character.Subset
該類的實例對錶達某個Unicode字符集的特定子集。
(5) java.lang.Character.UnicodeBlock
表示 Unicode 規範中字符塊的一系列字符子集。字符塊一般定義用於特定腳本或目的的字符。一個字符至多能夠包含在一個 Unicode 塊中。
(6) java.lang.Class
該類的實例對象表達Java應用中正在運行的類或者接口。該類沒有公共的構造方法,因此不能由Java虛擬機自動實例化,而是由ClassLoader實例化。
Java程序在運行時,Java運行時系統一直對全部的對象進行所謂的運行時類型標識。這項信息紀錄了每一個對象所屬的類。虛擬機一般使用運行時類型信息選準正確方法去執行,用來保存這些類型信息的類是Class類。Class類封裝一個對象和接口運行時的狀態,當裝載類時,Class類型的對象自動建立。
Class 沒有公共構造方法。Class 對象是在加載類時由 Java 虛擬機以及經過調用類加載器中的 defineClass 方法自動構造的,所以不能顯式地聲明一個Class對象。
虛擬機爲每種類型管理一個獨一無二的Class對象。也就是說,每一個類(型)都有一個Class對象。運行程序時,Java虛擬機(JVM)首先檢查是否 所要加載的類對應的Class對象是否已經加載。若是沒有加載,JVM就會根據類名查找.class文件,並將其Class對象載入。
基本的 Java 類型(boolean、byte、char、short、int、long、float 和 double)和關鍵字 void 也都對應一個 Class 對象。
每一個數組屬於被映射爲 Class 對象的一個類,全部具備相同元素類型和維數的數組都共享該 Class 對象。
通常某個類的Class對象被載入內存,它就用來建立這個類的全部對象。
(7) java.lang.ClassLoader
ClassLoader 類是一個抽象類, 該類是Java類加載器,負責根據制定的二進制名稱加載相應的類。在Java語言規範中規定,類、接口或原始數據類型有三種命名,他們分別是許可名 (fully qualified name)、規範名(canonical name)、二進制名(binary name)。不一樣的類加載器根據類的 二進制名從不一樣的源中讀取二進制的類「*.class」信息,並生成Class對象。每一個類中都有對其加載器的引用。
(8) java.lang.Compiler
該類提供Java到本機代碼的支持,及相關服務。該類只是JIT編譯器的一個佔位符而已。當第一次啓動 Java 虛擬機時,它將肯定系統屬性 java.compiler
是否存在。(系統屬性可經過 System
類定義的 getProperty
方法來訪問。)若是存在,它將被假定爲一個庫名(帶有特定於平臺的確切位置和類型);能夠調用 System
類中的 loadLibrary
方法來加載此庫。若是加載成功,則調用該庫中名爲 java_lang_Compiler_start()
的函數。若是JVM第一次啓動時未成功加載JIT編譯器,則本類不作任何工做。
(9)java.lang.Double
將原始數據類型double對象化的類。該類的實例對象除了包含一個double值以外,還提供double與其餘類型之間轉化等處理double的方法,例如:能夠將 double
轉換爲 String
,將 String
轉換爲 double
。
(10)java.lang.Enum
Java語言中全部枚舉類型的公共基類。
(11)java.lang.Float
將原始數據類型float對象化的類。該類的實例對象除了包含一個float值以外,還提供float與其餘類型之間轉化等處理float的方法。
(12)java.lang.InheritableThreadLocal
該類擴展了java.lang.ThreadLocal類。爲子線程(Thread)提供建立時從其父線程得到可繼承線程局部變量 (inheritable thread-local variables )的能力。子線程能夠任意處理從父線程繼承來的局部變量,而不影響父線程。使 用可繼承線程局部變量能夠提升線程局部變量的維護效率。
(13)java.lang.Integer
將原始數據類型int對象化的類。該類的實例對象除了包含一個int值以外,還提供int與其餘類型之間轉化等處理int的方法。
(14)java.lang.Long
將原始數據類型long對象化的類。該類的實例對象除了包含一個long值以外,還提供long與其餘類型之間轉化等處理long的方法。
(15)java.lang.Math
該類提供了基本的數學運算方法。譬如:乘方、開方、指數、角度運算等。爲了提升性能,該類的方法大多損失了精確度。更精確的結果能夠經過java.lang.StrictMath的相應方法獲得。
(16)java.lang.Number
該類是java.math.BigDecimal、java.math.BigInteger、java.lang.Byte、 java.lang.Double、java.lang.Float、java.lang.Integer、java.lang.Long、 java.lang.Short等類的父類。擴展該類的子類必須實現將本身所表明的數字轉換爲byte、double、float、int、long、 short等原始類型數值的方法。這些轉換方法可能會對數值採起四捨五入或截斷的策略,從而損失數值的正確性。
(17)java.lang.Object
該類的對象是Java平臺中全部其餘類對象擴展層次樹的根。全部其餘類都直接或者間接地擴展了該類。
(18)java.lang.Package
該類的對象包含了已封裝的Java包所遵循的規範和實現的版本信息,這些信息主要來源於跟類文件一塊兒部署的MANIFEST文件。類的ClassLoader負責得到這些信息。規範的版本號符合「\d+(\.\d+)*」的模式。
(19)java.lang.Process
執行ProcessBuilder.start()和Runtime.exec()方法能夠獲得該類的子類的實例。這些實例對象能夠被用於獲取進程信息乃至控制進程。該類提供了從進程中得到輸入,向進程中輸出,等待進程完成,檢查進程結束狀態,以及殺死進程等方法。與進程的交互經過該進程的標準IO方法 (stdin, stdout, stderr)來完成。
(20)java.lang.ProcessBuilder
建立一個操做系統進程,用以執行外部命令。並容許爲命令的執行提供參數,以及設置系統環境變量。
(21)java.lang.Runtime
每一個Java應用都有且僅有一個該類的實例與之對應。經過該類的實例,java應用能夠與虛擬機運行環境交互。
/**java.lang.Process和java.lang.Runtime結合的一個demo*/ public class JavaVScmd { public static void main(String[] args) { Runtime runtime=Runtime.getRuntime(); try { @SuppressWarnings("unused") Process process=runtime.exec("cmd.exe /c start http://www.hao123.net/"); //方法exec的參數就是你要調用的具體系統命令。由於start自己不是一個可執行的exe文件, //所以須要在前面添加cmd /c來啓動一個控制檯應用程序。 } catch (IOException e) { e.printStackTrace(); } } }
(22)java.lang.RuntimePermission
運行時權限。用做限定運行時是否被容許執行某些動做。
(23)java.lang.SecurityManager
安全管理器,一個容許應用程序實現安全策略的類。爲應用提供驗證在特定安全上下文中是否具備某種權限的服務。它容許應用程序在執行一個可能不安全或敏感的操做前肯定該操做是什麼,以及是不是在容許執行該操做的安全上下文中執行它。應用程序能夠容許或不容許該操做。
(24)java.lang.Short
將原始數據類型short對象化的類。該類的實例對象除了包含一個short值以外,還提供short與其餘類型之間轉化等處理short的方法。
(25)java.lang.StackTraceElement
堆棧跟蹤元素。一系列該類的實例描述了方法調用堆棧的信息。該類的出現使對方法調用堆棧提供個性化處理成爲可能。每一個元素表示單獨的一個堆棧幀。全部的堆棧幀(堆棧頂部的那個堆棧幀除外)都表示一個方法調用。堆棧頂部的幀表示生成堆棧跟蹤的執行點。一般,這是建立對應於堆棧跟蹤的 throwable 的點。
(26)java.lang.StrictMath
精確數學運算類。StrictMath
類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數,提供了基本數學運算方法的精確實現。
(27)java.lang.String
字符串類。惟一的對象基本數據類型。String
類包括的方法可用於檢查序列的單個字符、比較字符串、搜索字符串、提取子字符串、建立字符串副本並將全部字符所有轉換爲大寫或小寫。同時該類的format方法提供了基於正則表達式的強大格式轉換強大功能。注意:字符串一旦被建立將不能再被改變。Java 語言提供對字符串串聯符號("+")以及將其餘對象轉換爲字符串的特殊支持。字符串串聯是經過 StringBuilder
(或 StringBuffer
)類及其 append
方法實現的。字符串轉換是經過 toString
方法實現的,該方法由 Object
類定義,並可被 Java 中的全部類繼承。
(28)java.lang.StringBuffer
線程安全的可變字符序列。一個相似於 String 的字符串緩衝區,但不能修改。維護可變字符序列的字符串緩衝器。該類的處理方法線程安全。該類被用於處理比較不穩定的字符序列(常常須要變化的字符序列。對字符序列常見的變化包括在某個特定索引位置插入新的字符序列)。StringBuffer
上的主要操做是 append
和 insert
方法,可重載這些方法,以接受任意類型的數據。append
方法始終將這些字符添加到緩衝區的末端;而 insert
方法則在指定的點添加字符。
(29)java.lang.StringBuilder
一個可變的字符序列, 提供兼容於java.lang.StringBuffer的功能。不一樣點在於該類不保證線程安全。
(30)java.lang.System
提供訪問系統元素的系統類。該類提供了對標準輸入/輸出/錯誤、系統環境變量、系統屬性的訪問方法,以及其餘有用的工具方法。
(31)java.lang.Thread
線程。一個程序能夠有多個併發的執行線程。線程分爲用戶線程和後臺線程。Java虛擬機在只有後臺線程在運行時退出。
(32)java.lang.ThreadGroup
一組線程的集合。線程組能夠嵌套。線程組構成一棵樹,在樹中,除了初始線程組外,每一個線程組都有一個父線程組。
(33)java.lang.ThreadLocal
線程局部變量。這些變量能夠在不一樣的線程中獨立初始化及賦值。線程局部變量一般是類中與線程狀態相關聯的私有靜態屬性。例如:事務Id等。
(34)java.lang.Throwable
Throwable 類是 Java 語言中全部錯誤或異常的超類, 可拋出對象接口。Java語言中全部的異常和錯誤都實現了該接口。只有實現了該接口的類才能夠被Java虛擬機拋出,或者說才能夠用於throw語句,或者作爲catch語句的參數。
(35)java.lang.Void
該類是一個不能實例化的佔位符。該類表達了Java語言void關鍵字的類對象。