java常見題目總結


  1. 編寫多線程程序的幾種方法:java5以前可以通過繼承Thread類或者實現Runnable接口,重寫run方法來定義線程行為;java5以后出現了另一種方式,實現Callable接口,該接口的call方法能在線程結束時產生一個返回值。
  2. synchronized關鍵字的作用:可以將對象和方法標記為同步,實現對象和方法的互斥訪問。
  3. 線程啟動的過程:啟動一個線程是調用start方法,使線程所代表的虛擬處理機處於可運行狀態,這意味着它可以被JVM調度執行,但是並不意味着會立即執行;run方法是線程啟動后要進行回調的方法。
  4. 線程池:在面向對象編程中創建和銷毀資源很浪費資源,所以提高程序效率的一個方法就是減少創建和銷毀對象的次數。線程池顧名思義就是事先創建好若干線程,放入一個容器中,需要的時候從線程池中取一個線程,使用完后也不進行銷毀,而是放回線程池。
  5. java實現序列化:序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化后的對象進行讀寫操作,也可將流化后的對象傳輸於網絡之間。序列化是為了解決對象流讀寫操作時可能引發的問題(如果不進行序列化可能會存在數據亂序的問題)。
    要實現序列化,需要讓一個類實現Serializable接口,該接口是一個標識性接口,標注該類對象是可被序列化的,然后使用一個輸出流來構造一個對象輸出流並通過writeObject(Object)方法就可以將實現對象寫出(即保存其狀態);如果需要反序列化則可以用一個輸入流建立對象輸入流,然后通過readObject方法從流中讀取對象。序列化除了能夠實現對象的持久化之外,還能夠用於對象的深度克隆。
  6. DAO模式:DAO(Data Access Object)顧名思義是一個為數據庫或其他持久化機制提供了抽象接口的對象,在不暴露底層持久化方案實現細節的前提下提供了各種數據訪問操作。在實際的開發中,應該將所有對數據源的訪問操作進行抽象化后封裝在一個公共API中。用程序設計語言來說,就是建立一個接口,接口中定義了此應用程序中將會用到的所有事務方法。在這個應用程序中,當需要和數據源進行交互的時候則使用這個接口,並且編寫一個單獨的類來實現這個接口,在邏輯上該類對應一個特定的數據存儲。DAO模式實際上包含了兩個模式,一是Data Accessor(數據訪問器),二是Data Object(數據對象),前者要解決如何訪問數據的問題,而后者要解決的是如何用對象封裝數據。
  7. 事務的ACID:- 原子性(Atomic):事務中各項操作,要么全做要么全不做,任何一項操作的失敗都會導致整個事務的失敗;
    - 一致性(Consistent):事務結束后系統狀態是一致的;
    - 隔離性(Isolated):並發執行的事務彼此無法看到對方的中間狀態;
    - 持久性(Durable):事務完成后所做的改動都會被持久化,即使發生災難性的失敗。通過日志和同步備份可以在故障發生后重建數
  8. 獲得類的類對象方式:- 方法1:類型.class,例如:String.class
    - 方法2:對象.getClass(),例如:”hello”.getClass()
    - 方法3:Class.forName(),例如:Class.forName(“java.lang.String”)

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



Java 筆試:常見題目總結 java常見算法題目 java常見算法題目 java 框架 面試常見題目 java基礎題目總結 java基礎題目總結 常見面試題目總結 Java常見的異常總結 Java常見異常總結 常見java面試總結
 
粤ICP备14056181号  © 2014-2021 ITdaan.com