上一篇:Java集合-ConcurrentHashMap工作原理和實現(xiàn)JDK8 本文學習知識點 1、二叉查找樹,以及二叉樹查找?guī)淼膯栴}。2、平衡二叉樹及好處。3、紅黑樹的定...
在Java虛擬機規(guī)范中制定了虛擬機字節(jié)碼執(zhí)行引擎的概念模型,這個概念模型成為各種虛擬機的統(tǒng)一外觀。從外觀來看,所有的Java虛擬機的執(zhí)行引擎都是一致的:輸入的是字節(jié)碼文件,處...
Jetty目前是一個比較被看好的Servlet引擎,它的架構比較簡單,也是一個可擴展性強且非常靈活的應用服務器。他有一個基本的數(shù)據(jù)模型,這個數(shù)據(jù)模型就是Handler,所有可...
三范式: ◆ 第一范式(1NF):強調的是列的原子性,即列不能夠再分成其他幾列。 考慮這樣一個表:【聯(lián)系人】(姓名,性別,電話) 如果在實際場景中,一個聯(lián)系人有家庭電話和公司...
Tomcat系統(tǒng)架構如下圖: Tomcat有兩個核心組件:Connector和Container,Connector組件可以被替換掉,它不僅跟服務器本身的設計有關,而且和不同...
選擇數(shù)據(jù)類型的原則 1.更小的通常更好:一般情況下,應該盡量使用可以正確存儲數(shù)據(jù)的最小數(shù)據(jù)類型。更小的數(shù)據(jù)類型通常更快,因為它們占用更少的磁盤、內存和CPU緩存,并且處理時需...
題目:在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和一個整數(shù),判斷數(shù)組中是否含有該整數(shù)。 ...
1.理解Cookie 一般當一個用戶第一次訪問一個服務器時,這個服務器會將一些Key/Value鍵值對返回給客戶端瀏覽器,并給這些數(shù)據(jù)加上一些限制條件,在條件符合時這個用戶下...
1.第一次破壞 由于雙親委派模型是在JDK1.2之后才被引入的,而類加載器和抽象類java.lang.ClassLoader則在JDK1.0時代就已經(jīng)存在,面對已經(jīng)存在的用戶...
虛擬機設計團隊把類加載階段中的“通過一個類的全限定名來獲取描述此類的二進制字節(jié)流”這個動作放到Java虛擬機外部去實現(xiàn),以便讓應用程序自己決定如何去獲取所需要的類。實現(xiàn)這個...
類加載的時機: 1.遇到new、getstatic、putstatic或invokestatic這4條字節(jié)碼指令時,如果類沒有進行過初始化,則需要先觸發(fā)其初始化。生成這4條指...
BIO帶來的挑戰(zhàn): BIO即阻塞I/O,不管是磁盤I/O還是網(wǎng)絡I/O,數(shù)據(jù)在寫入OutputStream或者從InputStream讀取時都有可能會阻塞,一旦有阻塞,線程將...
1.final域的重排序規(guī)則: 1.在構造函數(shù)內對一個final域的寫入,與隨后把這個被構造對象的引用賦值給一個引用變量,這兩個操作之間不能重排序。 2.初次讀一個包含fin...
數(shù)組中重復數(shù)字的問題,這道題考慮的是數(shù)組中的數(shù)字在一定的范圍中,大致有兩種情況: 1.數(shù)組長度大于等于數(shù)字的范圍如:在一個長度為n的數(shù)組里的所有數(shù)字都在0~n-1的范圍內。 ...
先講清楚程序的概念:程序是一個沒有生命的實體。CPU賦予了程序有時限的生命,這樣它就成為了一個“活”的實體-進程,進程是一個執(zhí)行中的程序。 1.進程就像一個大容器。在程...
1.READ UNCOMMITTED(未提交讀): 在READ UNCOMMITTED級別,事務中的修改,即使沒有提交,對其他事務也都是可見的。事務可以讀取未提交的數(shù)據(jù),...
1.原子性(atomicity): 一個事務必須被視為一個不可分割的最小工作單元,整個事務中的所有操作要么全部提交成功,要么全部失敗回滾,對于一個事務來說,不可能只執(zhí)行其...
插入排序: 插入排序基本思想:如下數(shù)組a[] 1.先將a[0]和a[1]比較,a[1]小于a[0],那么將a[1]與a[0]交換變?yōu)椋?2.再用a[2]和第一次交換后的a[1...
1.鎖的釋放和獲取的內存語義: 當線程獲取鎖時,JMM會把該線程對應的本地內存置為無效。從而使得被監(jiān)視器保護的臨界區(qū)代碼必須從主內存中讀取共享變量。 對比鎖釋放-獲取...