Java面試題整理

反射

Java中反射是一種強大的工具,它能夠創(chuàng)建靈活的代碼,這些代碼可以再運行時裝配,無須在組件之間進行銜接溃卡。
它允許運行中的Java程序對自身進行檢查,并能直接操作程序的內(nèi)部屬性蜒简。

傳值與傳引用

①對于基本類型變量瘸羡,Java是傳值的副本
②對于一切對象型變量,Java都是傳引用的副本搓茬。
犹赖!String類型也是對象型變量。
垮兑!數(shù)組傳值的本質是傳地址值的副本冷尉。

序列化

實現(xiàn)Serializable接口。
先創(chuàng)建一個OutputStream系枪,然后把它嵌進ObjectOutputStream雀哨,用writeObject()方法吧對象寫入OutputStream。讀的時候把InputStream嵌到ObjectInputStream中私爷,然后再調(diào)用readObject()方法雾棺。

遞歸問題

面試題:把一個數(shù)組里的數(shù)組合全部列出,比如和列出來為1,2,12,21衬浑。
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class test {
    public static void main(String[] args) {
        String arr[] = new String[] {
                "1", "2", "3", "4"
        };
        
        listAll(Arrays.asList(arr), "");
    }

    private static void listAll(List<String> candidate, String prefix) {
        if(!prefix.equalsIgnoreCase("")) {
            System.out.println(prefix);
        }
        
        for(int i = 0; i < candidate.size(); i++) {
            List temp = new LinkedList(candidate);
            listAll(temp, prefix + temp.remove(i));
        }
    }
}
面試題:試用遞歸的方法編程計算斐波那契數(shù)列的通項f(n)捌浩,已知f1=1,f2=1,以后每項都是前面兩項的和。
import java.util.Scanner;

public class fibonacci {
    public static int k = 0;
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        long a = input.nextLong();
        System.out.println(fibonacci(a));
        System.out.println("一共調(diào)用了" + k + "次遞歸");
    }
    
    public static long fibonacci(long m) {
        if(m == 0 || m == 1) {
            k++;
            return m;
        }else{
            return fibonacci(m - 1) + fibonacci(m - 2);
        }   
    }
}

時間復雜度

1.時間頻度

一個算法中的語句執(zhí)行次數(shù)被稱為語句頻度或時間頻度工秩,記T(n)尸饺。

2.時間復雜度

常數(shù)階O(1)
對數(shù)階O(log(2)n)
線性階O(n)
線性對數(shù)階O(nlog(2)n)
平方階O(n^2)
立方階O(n^3)
……
k次方階O(n^k)
指數(shù)階O(2^n)

3.算法的時間復雜度

O(1) < O(log(2)n) < O(n) < O(nlog(2)n) < O(n^2) < O(n^3) < O(2^n)

Java內(nèi)存管理

垃圾回收機制:

gc,是指JVM用于釋放那些不再使用的對象所占用的內(nèi)存助币。
Java垃圾回收機制是為所有Java應用進程服務的浪听,任何一個進程都不能命令垃圾回收機制做什么、怎么做或者做多少眉菱。
在JVM垃圾收集器收集一個對象之前迹栓,一般要求程序調(diào)用適當?shù)姆椒ㄡ尫刨Y源,Java提供了默認機制終止化該對象來釋放資源俭缓,這個方法是finalize()克伊。

內(nèi)存管理

對象的分配和釋放問題酥郭。Java中,程序員需要通過關鍵字new為每個對象申請內(nèi)存空間(基本類型除外)愿吹,所有的對象都在堆(Heap)中分配空間不从。對象的釋放是由GC決定和執(zhí)行的。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洗搂,一起剝皮案震驚了整個濱河市消返,隨后出現(xiàn)的幾起案子载弄,更是在濱河造成了極大的恐慌耘拇,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宇攻,死亡現(xiàn)場離奇詭異惫叛,居然都是意外死亡,警方通過查閱死者的電腦和手機逞刷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門嘉涌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人夸浅,你說我怎么就攤上這事仑最。” “怎么了帆喇?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵警医,是天一觀的道長。 經(jīng)常有香客問我坯钦,道長预皇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任婉刀,我火速辦了婚禮吟温,結果婚禮上,老公的妹妹穿的比我還像新娘突颊。我一直安慰自己鲁豪,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布律秃。 她就那樣靜靜地躺著爬橡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪友绝。 梳的紋絲不亂的頭發(fā)上堤尾,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音迁客,去河邊找鬼郭宝。 笑死辞槐,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的粘室。 我是一名探鬼主播榄檬,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼衔统!你這毒婦竟也來了鹿榜?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤锦爵,失蹤者是張志新(化名)和其女友劉穎舱殿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體险掀,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡沪袭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了樟氢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冈绊。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖埠啃,靈堂內(nèi)的尸體忽然破棺而出死宣,到底是詐尸還是另有隱情,我是刑警寧澤碴开,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布毅该,位于F島的核電站,受9級特大地震影響叹螟,放射性物質發(fā)生泄漏鹃骂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一罢绽、第九天 我趴在偏房一處隱蔽的房頂上張望畏线。 院中可真熱鬧,春花似錦良价、人聲如沸寝殴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚣常。三九已至,卻和暖如春痊银,著一層夾襖步出監(jiān)牢的瞬間抵蚊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贞绳,地道東北人谷醉。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像冈闭,于是被迫代替她去往敵國和親俱尼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 轉自 www.reibang.com/p/bd1bfc0c34b8 作為一個程序員,在找工作的過程中,都會遇到筆試...
    灬黑客灬閱讀 4,420評論 1 118
  • Java SE 基礎: 封裝萎攒、繼承遇八、多態(tài) 封裝: 概念:就是把對象的屬性和操作(或服務)結合為一個獨立的整體,并盡...
    Jayden_Cao閱讀 2,109評論 0 8
  • 【威哥說】面試是我們每個人都要經(jīng)歷的事情耍休,大部分人且不止一次刃永,這里給大家總結最新的2016年面試題,讓大家在找工作...
    威哥愛編程閱讀 1,668評論 1 18
  • 【威哥說】面試是我們每個人都要經(jīng)歷的事情羹应,大部分人且不止一次揽碘,這里給大家總結最新的2016年面試題次屠,讓大家在找工作...
    磨礪營閱讀 4,995評論 0 12
  • 推窗春暖园匹。 看漢光如幻。 天際遠劫灶, 云簾卷裸违。 素娥眉緊鎖, 明鏡人生怨本昏。 孤只影供汛、 畫樓憑倚思歸燕。 古巷無人探涌穆。...
    劉小地閱讀 290評論 3 24