天天看點

階段總結

一: 騰訊:

1.給定一霍夫曼樹(9,7,5,2),求最小權值

2:裝置使用率,程序為優先級剝奪機制

3:穩定排序

4:hashmap的平均查找長度

5:pv信号量

二:EMC

1:一個排序好的整數數組,長度為N,将前面K個元素和後面K個元素對調,程式設計求K的大小。

2:虛拟記憶體

<b>虛拟記憶體</b>是計算機系統記憶體管理的一種技術。它使得應用程式認為它擁有連續的可用的記憶體(一個連續完整的位址空間),而實際上,它通常是被分隔成多個實體記憶體碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行資料交換。與沒有使用虛拟記憶體技術的系統相比,使用這種技術的系統使得大型程式的編寫變得更容易,對真正的實體記憶體(例如RAM)的使用也更有效率。

3:程式設計實作M個數組中N個連續數值相加最大值

4:list和vector對快速排序哪個效率更高

5:多态的原理和使用

6:fib的棧不夠用怎麼辦

三:

1:boolean flag= i&lt;10,先計算i&lt;10再指派給flag

2:機器人處理硬币,遇到正面向上抛,反面翻過來,最後的機率,反面1/3

3:hibernate的映射方式有哪些

    一對一單向關聯

    一對一雙向關聯

    一對多單向關聯

    多對一單向關聯

    一對多/多對一雙向關聯

    多對多單向關聯

    多對多雙向關聯

4:帶表頭的雙向連結清單的insert操作

5:single模式

6:線程start和run的差別

在啟動線程時候,有兩種方法可以使用

start()為一半通用的啟動線程的方法,通過調用線程類Thread的start()方法來啟動線程,(此時線程并沒有立刻執行,隻是為就緒狀态)然後線程Thread類通過調用run()方法來實作線程的操作,而其中的run()方法中的内容實為線程體,即為該線程所要執行的内容。run()方法執行結束,該線程也就終止了,cpu在執行其他的線程

如果将線程看做一般的Java類的話,則run()方法相當于普通的方法調用,通過普通的java類執行個體.run()來啟動線程,即執行該方法體的内容。最終程式執行的隻有主線程這一個。

7:jvm記憶體管理

java 把記憶體分四種: 

1、棧區(stack segment)— 由編譯器自動配置設定釋放,存放函數的參數值,局部變量的值等,具體方法執行結束之後,系統自動釋放記憶體資源 

2、堆區(heap segment) — 一般由程式員配置設定釋放,存放由new建立的對象和數組,jvm不定時檢視這個對象,如果沒有引用指向這個對象就回收 

3、靜态區(data segment)— 存放全局變量,靜态變量 和字元串常量,不釋放 

4、代碼區(code segment)— 存放程式中方法的二進制代碼,而且是多個對象 共享一個代碼空間區域 

在方法(代碼塊)中定義一個變量時,java 就在棧中為這個變量配置設定記憶體空間,當超過變量的作用域後,java 會自動釋放掉為該變量所配置設定的記憶體空間;在堆中配置設定的記憶體由java 虛拟機的自動垃圾回收器來管理,堆的優勢是可以動态配置設定記憶體大小,生存期也不必事先告訴編譯器,因為它是在運作時動态配置設定記憶體的。缺點就是要在運作時動态配置設定記憶體,存取速度較慢;棧的優勢是存取速度比堆要快,缺點是存在棧中的資料大小與生存期必須是确定的無靈活性。 

http://developer.51cto.com/art/201003/188753.htm

8:嵌套類和内部類

可以在另一個類内部定義一個類,這樣的類是(嵌套類)nested cIass ,也稱為(嵌套類型)nested type 。嵌套類最常用于定義執行類。

嵌套類是獨立的類,基本上與它們的外圍類不相關,是以 外圍類和嵌套類的對象是互相獨立的。嵌套類型的對象不具備外圍類所定義的成員,同樣外圍類的成員也不具備嵌套類所定義的成員。嵌套類的名字在其外圍類的作用域中可見,但在其它類作用域或定義外圍類的作用域中不可見。嵌套類的名字将不會與另一作用域中聲明的名字沖突。

嵌套類可以具有與非嵌套類相同種類的成員。像任何其他類一樣,嵌套類使用通路标号控制對自已成員的通路。成員可以聲明為pubIic 、 private或 protected。外圍類對嵌套類的面員沒有特殊通路權,并且嵌套類對其外圍類的面員也沒有特殊通路權。

嵌套類定義了其外圍類中的一個類型成員,像任何其他面員一樣,外圍類決定對這個類型的通路。在外圍類的pubIic部分定義的嵌套類定義了可在任何地方使用的類型,在外圍類的protected部分定義的嵌套類定義了隻能由外圍類、友元或派生類通路 的類型,在外圍為的private部分定義的嵌套類定義了隻能被外圍類或其友元通路的類型。

内部類,計算機面向對象程式設計概念。向對象程式設計中,可以在一個類的内部定義另一個類,這種類稱為嵌套類(nested classes),它有兩種類型,即靜态嵌套類和非靜态嵌套類。靜态嵌套類使用很少,最重要的是非靜态嵌套類,也即是被稱作為内部類(inner)。内部類是JAVA語言的主要附加部分。内部類幾乎可以處于一個類内部任何位置,可以與執行個體變量處于同一級,或處于方法之内,甚至是一個表達式的一部分。

http://blog.cfan.com.cn/html/89/178889-282023.html

但是,内部類和嵌套類的差別在于:

1.         嵌套類是靜态的,而内部類不是,也就是說嵌套類的執行個體化不需要外部類的執行個體。但是内部類是需要這個執行個體的。

2.         嵌套類可以任意聲明靜态成員,内部類不允許聲明除了編譯時常量以外的任何靜态成員。這一限制也适用于靜态初始化函數。

3.         嵌套類都是命名的,匿名的類聲明不能聲明運作時靜态成員(不管聲明是不是靜态的)

9:面向對象的三大特征:

封裝、繼承、多态 。

http://kidiaoer.iteye.com/blog/1010523

10:java記憶體洩露情況