Java面試問題總結——介紹下java.lang包下的常用類和方法

java.lang包是java語言的核心,它提供了java中的基礎類。java.lang包下面最爲基礎和常用的幾個部分包括:常用的對象類型包,常用的異常類型包,常用的接口包,系統包,註解包,反射包,其它包。

1.Object類

Object是類層次結構的根類,每個類都使用Object作爲超類。所有對象(包括數組)都實現這個類的方法。

2.包裝類

包裝類是幾種基本數據類型的包裝類型。

基本數據類型 boolean byte char short int long float double
包裝類型 Boolean Byte Character Short Integer Long Float Double

3.字符串類

字符串類是處理字符串的類,主要是指 String,StringBuilder, StringBuffer。String是字符串常量,StringBuilder是線程不安全的,而StringBuffer是線程安全的。

4.系統包

  • System類包含一些有用的類字段和方法,是final類型,所以不能被實例化。在System類提供的設施中,有標準輸入、標準輸出和錯誤輸出流;對外部定義的屬性和環境變量的訪問;加載文件和庫的方法;還有快速複製數組的一部分實用方法。
  • Runtime類裏面可以獲得應用運行時的一些狀態(主要包括使用的內存和cpu個數)和在應用運行時執行一些操作(程序退出、執行gc、設置退出時的鉤子函數)。
  • Thread類裏面包括了線程相關的操作,主要有線程屬性的設置(優先級、名稱、類別)和改變線程運行狀態(啓動、睡眠、中斷等)。
  • ThreadLocal類提供了線程局部 (thread-local) 變量。這些變量不同於它們的普通對應物,因爲訪問某個變量(通過其 get 或 set 方法)的每個線程都有自己的局部變量,它獨立於變量的初始化副本。

5.異常類型包

  • Throwable類是java中所有錯誤或者異常的超類,只有當對象是此類(或者其子類之一)的實例時,才能通過JVM或者Java的throw語句拋出。
  • Error類是Throwable類的子類,這種異常一般表示與JVM有關的問題,如系統崩潰,虛擬機錯誤,內存空間不足,方法調用棧溢出等。
  • Exception類也是Throwable類的子類,這種異常是程序可以處理、可以恢復的異常,對於這種異常應該在代碼中進行處理,不應該被程序最終拋出。Exception類又被分爲兩類,一類是需要檢查的異常,是被強制要在代碼中進行處理,一類是運行時異常,是在代碼運行時出現的。

6.常用接口類

  • Comparable接口用於可以比較大小的類。此接口強行對實現它的每個類的對象進行整體排序,這種排序被稱爲類的自然排序,類的comparaTo方法被稱爲它的自然比較方法。
  • Runnable 接口應該由那些打算通過某一線程執行其實例的類來實現。類必須定義一個稱爲 run 的無參數方法。設計該接口的目的是爲希望在活動時執行代碼的對象提供一個公共協議。
  • 實現了Cloneable接口的類可以合法的使用Object.clone()方法對其實例進行按字段複製。
  • Iterable接口表示這個類可以執行foreach循環操作。

7.註解包

annotation包提供了可以用於自定義註解方法和一些常用的註解,其中最爲重要的就是FunctionalInterface註解,一個接口如果使用了這個註解,則表示了具有lambda特性的接口。
在這裏插入圖片描述

8.反射包

reflect包使得我們可以通過反射的方式得到對象的屬性或者通過反射的方式執行對象的方法。主要常用的有Field、Method、Construct、Paramter、Array、Proxy幾個類。如java.lang.reflect.Proxy類提供用於創建動態代理類和實例的靜態方法,它也是由這些方法創建的所有動態代理類的超類。

9.其他包

  • Ref包提供了與Java垃圾回收器密切相關的引用類。這些引用類對象可以指向其它對象,但它們不同於一般的引用,因爲它們的存在並不防礙Java垃圾回收器對它們所指向的對象進行回收。其好處就在於使者可以保持對使用對象的引用,同時JVM依然可以在內存不夠用的時候對使用對象進行回收。
  • Management包提供提供管理接口,用於監視和管理Java虛擬機以及Java虛擬機在其上運行的操作系統。最常用的有MemoryMXBean、MemoryPoolMXBean、RuntimeMXBean、ThreadMXBean四個獲得不同類型數據的MXBean。
  • Instrument包提供了提供允許Java編程語言代理檢測運行在JVM上的程序的服務,利用它提供的Instrumentation類和ClassFileTrasformation類,利用這兩個類加上-javaagent命令,可以在程序運行之前,完成對字節碼的修改,利用這個方法可以有效的對程序進行監控。

10.其他類

  • Math類提供了一些基本數字運算和幾何運算的方法。
  • class類集合了所有類的屬性、行爲的抽象,描述類的修飾、類的構造器、類的字段以及類的方法等抽象。
  • ClassLoader類定義了類加載器的基本方法
  • Process類是一個抽象類(所有的方法均是抽象的),封裝了一個進程(即一個執行程序),提供了執行從進程輸入、執行輸出到進程、等待進程完成、檢查進程的退出狀態以及銷燬(殺掉)進程的方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章