黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

那些經(jīng)常被遺忘的Java面試題  


  網(wǎng)上大大小小的面試題很多,有的同學(xué)面試會(huì)遇到比較偏的試題,所以動(dòng)力節(jié)點(diǎn)的老師總結(jié)了幾個(gè)經(jīng)常被忽略的Java面試題來(lái)給大家,希望對(duì)大家有所幫助。

 

  靜態(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)部類,而沒(méi)有靜態(tài)類(頂級(jí)類)的概念。

 

  e.g.

 

  publicclassSingleton{

 

  privateSingleton(){}

 

  privatestaticclassSingletonHolder{

 

  privatefinalstaticSingletoninstance;

 

  }

 

  publicSingletongetInstance(){

 

  returnSingletonHolder.instance;

 

  }

 

  }

 

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

 

  倒排索引

 

  InvertedIndex

 

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

 

  倒排索引是一種索引方法,被用來(lái)存儲(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í)。不過(guò)現(xiàn)在的JVM實(shí)現(xiàn)中,反射操作的性能已經(jīng)有了很大的提升。

 

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

 

  枚舉類型

 

  EnumeratedType

 

  •enum類型不支持public和protected修飾符的構(gòu)造方法,因此構(gòu)造函數(shù)一定要是private或friendly的。也正因?yàn)槿绱耍悦杜e對(duì)象是無(wú)法在程序中通過(guò)直接調(diào)用其構(gòu)造方法來(lái)初始化的。

 

  •由于enum類型的值實(shí)際上是通過(guò)運(yùn)行期構(gòu)造出對(duì)象來(lái)表示的,所以在cluster環(huán)境下,每個(gè)虛擬機(jī)都會(huì)構(gòu)造出一個(gè)同義的枚舉對(duì)象。因而在做比較操作時(shí)候就需要注意,如果直接通過(guò)使用等號(hào)(‘==’)操作符,這些看似一樣的枚舉值一定不相等,因?yàn)檫@不是同一個(gè)對(duì)象實(shí)例。

 

  多線程

 

  Java中實(shí)現(xiàn)多線程有兩種方法:繼承Thread類、實(shí)現(xiàn)Runnable接口,在程序開(kāi)發(fā)中只要是多線程,肯定以實(shí)現(xiàn)Runnable接口為主,因?yàn)閷?shí)現(xiàn)Runnable接口相比繼承Thread類有如下優(yōu)勢(shì):

 

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

 

  2、增強(qiáng)程序的健壯性,代碼能夠被多個(gè)線程共享,代碼與數(shù)據(jù)是獨(dú)立的;

 

  3、適合多個(gè)相同程序代碼的線程區(qū)處理同一資源的情況。

 

  下面是通過(guò)實(shí)現(xiàn)Runnable接口實(shí)現(xiàn)的多線程程序,代碼如下:

 

  lassMyThreadimplementsRunnable{

 

  privateintticket=5;

 

  publicvoidrun(){

 

  for(inti=0;i<10;i++)

 

  {

 

  if(ticket>0){

 

  System.out.println("ticket="+ticket--);

 

  }

 

  }

 

  }

 

  }

 

  publicclassRunnableDemo{

 

  publicstaticvoidmain(String[]args){

 

  MyThreadmy=newMyThread();

 

  newThread(my).start();

 

  newThread(my).start();

 

  newThread(my).start();

 

  }

 

  }

 

  大家都記住了嗎?如果在遇到類似的面試題就不要被難倒了喲,動(dòng)寶兒祝大家面試順利。

 

  

 

上一篇:程序員職業(yè)生涯發(fā)展
下一篇:Java高級(jí)軟件工程師面試考綱

開(kāi)班信息

主站蜘蛛池模板: 国产片一级毛片视频 | 欧美三级在线 | 国产香蕉一本大道 | 中文字幕免费视频 | 中文字幕国产日韩 | 亚洲国产精品视频 | 国产精品亚洲片在线牛牛影视 | 久久欧洲视频 | 色天天综合网 | 欧美vs日韩vs国产在线观看 | 日日摸夜夜爽夜夜爽出水 | 久久久婷婷 | 国产精品亚洲欧美 | 在线观看成年人网站 | 狼人久草| 美女福利视频导航 | 好男人在线社区www免费看 | 成年人免费网站在线观看 | 免费成人在线观看视频 | 男女一级做a爱过程免费视频 | 中文字幕日本在线 | a黄色一级片| 欧美成人在线免费观看 | 欧美 亚洲 中文字幕 | 亚洲人成一区二区三区 | 国产成人精品高清在线观看99 | 视频一区二区三区欧美日韩 | 欧美日韩一区二区综合 | 天天躁狠狠躁夜夜躁 | 亚洲香蕉伊在人在线观看9 亚洲香蕉一区二区三区在线观看 | 国产成人综合久久 | 免费视频成人国产精品网站 | 怡红院成人网 | 天天干天天射天天舔 | 好好的日视频www | 亚洲欧美日韩精品久久奇米色影视 | 午夜精品久久久久久久久 | 国产伦一区二区三区高清 | 一级性毛片| 国产精品一区二区国产 | 91精品一区二区三区在线播放 |