亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

那些經常被遺忘的 Java 面試題

2019-11-11 00:12:02
字體:
來源:轉載
供稿:網友

學習java的同學注意了!!! 學習過程中遇到什么問題或者想獲取學習資源的話,歡迎加入Java學習交流群,群號碼:456544752  我們一起學Java!

靜態類和靜態方法

如果一個類要被聲明為static的,只有一種情況,就是靜態內部類。

靜態內部類實際上與普通類(即類名必須與文件名一樣的頂級類)一樣,只是靜態內部類在某一類的內部定義了而已,既然是類,要想使用就必須實例化。概念上與靜態變量、靜態方法是不一樣的,不要被“靜態”兩個字迷惑了(不要以為凡是靜態的東西就不需要實例化就可以直接使用,靜態內部類是有區別),而且只有靜態內部類,而沒有靜態類(頂級類)的概念。

e.g.

public class Singleton{    PRivate Singleton(){}    private static class SingletonHolder{        private final static Singleton instance;    }    public Singleton getInstance(){        return SingletonHolder.instance;    }}

靜態方法只能訪問靜態成員,實例方法可以訪問靜態和實例成員。之所以不允許靜態方法訪問實例成員變量,是因為實例成員變量是屬于某個對象的,而靜態方法在執行時,并不一定存在對象。靜態方法中也不能使用關鍵字this。

倒排索引

Inverted Index

如果翻譯成轉置索引可能更好懂,它就相當于做了矩陣轉置。

倒排索引是一種索引方法,被用來存儲在全文搜索下某個單詞在一個文檔或者一組文檔中的存儲位置的映射。

反射

反射API中提供的動態代理也是非常強大的功能,可以原生實現AOP中 的方法攔截功能。正如英文單詞reflection的含義一樣,使用反射API的時候就好像在看一個Java類在水中的倒影一樣。知道了Java類的內部 結構之后,就可以與它進行交互,包括創建新的對象和調用對象中的方法等。

這種交互方式與直接在源代碼中使用的效果是相同的,但是又額外提供了運行時刻的靈活性。使用反射的一個最大的弊端是性能比較差。相同的操作,用反射API所需的時間大概比直接的使用要慢一兩個數量級。不過現在的JVM實現中,反射操作的性能已經有了很大的提升。

Java 反射API的第一個主要作用是獲取程序在運行時刻的內部結構。

多路歸并算法

歸并排序也是一種使用分治法來實現的有效排序算法,它是現代計算機創始人John von Neumann于1945年發明的。

歸并排序在眾多排序算法中既是穩定排序,又有不錯的效率,同時,歸并排序不僅可以用于內排序,還可以用于外排序。

歸并排序的思路如下(以二路歸并為例):

將數組劃均分為兩個子數組;對兩個字數組進行排序;將排序好的兩個字數組歸并。

所謂 N路歸并 是指將數組均分為N個子數組,將字數組排序后再歸并。因此二路歸并是歸并排序的最一般的情況。

e.g.

圖例

def msort(array):    length = len(array)    if length == 1:        return array    else:        mid = length / 2        left = msort(array[0: mid])        right = msort(array[mid: length])        return merge(left, right)

非遞歸

def msort(array):    length = len(array)    step = 1    while step < length:        for left in range(0, length - step, 2 * step):            result = merge(array[left:left + step],                           array[left + step: min(left + 2 * step,                                                  length)])            array = array[0:left] + result + array[min(left + 2 *                                                       step, length)]        step = step * 2    return array
def merge(left, right):    llen = len(left)    lcur = 0    rlen = len(right)    rcur = 0    result = []    while lcur < llen and rcur < rlen:        lone = left[lcur]        rone = right[rcur]        result.append(min(lone, rone))        if lone < rone:            lcur += 1        else:            rcur += 1    result += left[lcur:]    result += right[rcur:]    return result

枚舉類型

Enumerated Type

enum 類型不支持 public 和 protected 修飾符的構造方法,因此構造函數一定要是 private 或 friendly 的。也正因為如此,所以枚舉對象是無法在程序中通過直接調用其構造方法來初始化的。由于 enum 類型的值實際上是通過運行期構造出對象來表示的,所以在 cluster 環境下,每個虛擬機都會構造出一個同義的枚舉對象。因而在做比較操作時候就需要注意,如果直接通過使用等號 ( ‘ == ’ ) 操作符,這些看似一樣的枚舉值一定不相等,因為這不是同一個對象實例。

多線程

Java中實現多線程有兩種方法:繼承Thread類、實現Runnable接口,在程序開發中只要是多線程,肯定永遠以實現Runnable接口為主,因為實現Runnable接口相比繼承Thread類有如下優勢:

1、可以避免由于Java的單繼承特性而帶來的局限;

2、增強程序的健壯性,代碼能夠被多個線程共享,代碼與數據是獨立的;

3、適合多個相同程序代碼的線程區處理同一資源的情況。

下面是通過實現Runnable接口實現的多線程程序,代碼如下:

lass MyThread implements Runnable{      private int ticket = 5;      public void run(){          for (int i=0;i<10;i++)          {              if(ticket > 0){                  System.out.println("ticket = " + ticket--);              }          }      }  }  public class RunnableDemo{      public static void main(String[] args){          MyThread my = new MyThread();          new Thread(my).start();          new Thread(my).start();          new Thread(my).start();      }  }

學習Java的同學注意了?。?! 學習過程中遇到什么問題或者想獲取學習資源的話,歡迎加入Java學習交流群,群號碼:456544752  我們一起學Java!


上一篇:JAVA之伸展樹

下一篇:Java中進制轉換

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲国产伦综合| 在线观看亚洲区| 国产精品久久久久久久电影| 亚洲国产成人精品久久| 日韩欧美在线观看视频| 91免费看片在线| 亚洲国产高清福利视频| 欧美专区在线播放| 久久人91精品久久久久久不卡| 91精品国产综合久久香蕉922| 日本精品久久久| 97色在线观看免费视频| 国内伊人久久久久久网站视频| 中文一区二区视频| 2018日韩中文字幕| 亚洲精品国产电影| 国产亚洲人成a一在线v站| 欧美精品久久久久a| 91久久在线播放| 在线观看欧美www| 亚洲qvod图片区电影| 亚洲天堂成人在线| 亚洲wwwav| 欧美在线精品免播放器视频| 91在线免费视频| 久久国产精品久久国产精品| 久久久91精品| 亚洲国产精品久久久| 欧美丝袜一区二区三区| 日韩av网址在线观看| 国产丝袜精品视频| 欧美一级片一区| 亚洲综合小说区| 欧美精品在线看| 亚洲激情中文字幕| 亚洲精品美女在线观看播放| 久久69精品久久久久久国产越南| 91精品国产91久久久久久最新| 日韩电影免费在线观看中文字幕| 97久久久免费福利网址| 日本精品在线视频| 色狠狠久久aa北条麻妃| 国产日韩欧美在线观看| 日韩一区二区在线视频| 欧美激情在线视频二区| 欧美午夜影院在线视频| 日韩成人小视频| 国产精品av网站| 成人欧美一区二区三区在线湿哒哒| 精品国产一区二区三区久久狼黑人| 91免费看片在线| 性亚洲最疯狂xxxx高清| 91精品久久久久久久久久久| 亚洲欧美一区二区精品久久久| 久久视频精品在线| 欧美精品在线网站| 91精品国产乱码久久久久久蜜臀| 欧美老少配视频| 国产欧亚日韩视频| 韩国福利视频一区| 欧美成年人视频网站欧美| 超碰精品一区二区三区乱码| 日韩国产高清污视频在线观看| 国产精品九九九| 国产精品草莓在线免费观看| 精品福利在线观看| 日韩激情在线视频| 欧美一级淫片播放口| 欧美成年人视频| 国产精品视频网址| 国产精品久久久久av| 九九九热精品免费视频观看网站| 国产精品男女猛烈高潮激情| 欧美裸体男粗大视频在线观看| 国产精品美乳一区二区免费| 欧美与欧洲交xxxx免费观看| 国产精品爱久久久久久久| 国产日韩欧美夫妻视频在线观看| 久久久国产成人精品| 欧美日韩成人在线观看| 大桥未久av一区二区三区| 亚洲欧美日韩国产成人| 日韩精品免费一线在线观看| 性欧美亚洲xxxx乳在线观看| 亚洲欧洲高清在线| 久久这里只有精品视频首页| 九九热r在线视频精品| 国产精品成久久久久三级| 国产激情久久久久| 国产精品男女猛烈高潮激情| 国产精品久久久久久五月尺| 国产美女扒开尿口久久久| 国产精品视频久久| 日韩电影免费在线观看中文字幕| 欧美中文在线字幕| 色噜噜狠狠狠综合曰曰曰88av| 久久九九全国免费精品观看| 国产精品久久久久aaaa九色| 久久久久久久999| 亚洲香蕉成视频在线观看| 久久偷看各类女兵18女厕嘘嘘| 久久久久亚洲精品成人网小说| 国产成人自拍视频在线观看| 少妇高潮久久久久久潘金莲| 亚洲理论片在线观看| 亚洲欧美日韩一区在线| 91久久久久久久一区二区| 久久久999精品视频| 亚洲电影中文字幕| 亚洲欧美日韩国产中文| 国产精品v日韩精品| 欧美一级片免费在线| 青青草99啪国产免费| 2019国产精品自在线拍国产不卡| 亚洲第一精品电影| 日本精品久久电影| 在线精品高清中文字幕| 欧洲成人免费aa| 成人a级免费视频| 国产午夜精品一区二区三区| 欧美视频在线观看 亚洲欧| 亚洲精品少妇网址| 欧美猛交免费看| 国产精品久久久久久久久久东京| 91免费看片网站| 国产999在线观看| 懂色aⅴ精品一区二区三区蜜月| 性欧美xxxx| 国产精品久久久久久亚洲影视| 日本道色综合久久影院| 久久久久久久网站| 欧美视频裸体精品| 欧美日韩在线观看视频| 九九精品在线观看| 777国产偷窥盗摄精品视频| 久久久成人精品视频| 日韩免费观看av| 福利一区福利二区微拍刺激| 久久精品亚洲精品| 国产日韩欧美在线视频观看| 欧美精品www| 亚洲经典中文字幕| 乱亲女秽乱长久久久| 欧美成人精品三级在线观看| 国产精品永久在线| 亚洲欧美一区二区三区情侣bbw| 欧美一级高清免费播放| 在线播放国产一区中文字幕剧情欧美| 中文字幕欧美日韩在线| 国产精品视频专区| 久久久之久亚州精品露出| 日日骚久久av| 国产精品亚洲аv天堂网| 国外成人在线播放| 久热国产精品视频| 国产精品99久久久久久久久| 国产精品a久久久久久| 91影视免费在线观看| 国产一区二区三区四区福利| 最近2019好看的中文字幕免费| 日韩免费在线免费观看| 一区二区三区高清国产| 国产欧美一区二区三区四区| 中文字幕日本欧美|