华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java面試題 >> 文章內(nèi)容

JAVA面試常常忘記的面試題

來源:中華考試網(wǎng)  [2020年10月27日]  【

  靜態(tài)類和靜態(tài)方法

  如果一個(gè)類要被聲明為static的,只有一種情況,就是靜態(tài)內(nèi)部類。

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

  e.g.

  public class Singleton{

  private Singleton(){}

  private static class SingletonHolder{

  private final static Singleton instance;

  }

  public Singleton getInstance(){

  return SingletonHolder.instance;

  }

  }

  靜態(tài)方法只能訪問靜態(tài)成員,實(shí)例方法可以訪問靜態(tài)和實(shí)例成員。之所以不允許靜態(tài)方法訪問實(shí)例成員變量,是因?yàn)閷?shí)例成員變量是屬于某個(gè)對(duì)象的,而靜態(tài)方法在執(zhí)行時(shí),并不一定存在對(duì)象。靜態(tài)方法中也不能使用關(guān)鍵字this。

  倒排索引

  Inverted Index

  如果翻譯成轉(zhuǎn)置索引可能更好懂,它就相當(dāng)于做了矩陣轉(zhuǎn)置。

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

  反射

  反射API中提供的動(dòng)態(tài)代理也是非常強(qiáng)大的功能,可以原生實(shí)現(xiàn)AOP中 的方法攔截功能。正如英文單詞reflection的含義一樣,使用反射API的時(shí)候就好像在看一個(gè)Java類在水中的倒影一樣。知道了Java類的內(nèi)部 結(jié)構(gòu)之后,就可以與它進(jìn)行交互,包括創(chuàng)建新的對(duì)象和調(diào)用對(duì)象中的方法等。

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

  Java 反射API的第一個(gè)主要作用是獲取程序在運(yùn)行時(shí)刻的內(nèi)部結(jié)構(gòu)。

責(zé)編:fushihao
  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
江孜县| 长寿区| 托里县| 金乡县| 长泰县| 义乌市| 石嘴山市| 青川县| 榆树市| 达州市| 东宁县| 洪雅县| 城市| 平和县| 会理县| 尖扎县| 柳河县| 湖州市| 龙泉市| 武定县| 行唐县| 河曲县| 苏尼特右旗| 华坪县| 海淀区| 皮山县| 牟定县| 武汉市| 永修县| 香河县| 宝鸡市| 祁东县| 乐安县| 云龙县| 长子县| 凤翔县| 苗栗市| 安阳县| 佛冈县| 南溪县| 留坝县|