精品一区二区中文在线,无遮挡h肉动漫在线观看,国产99视频精品免视看9,成全免费高清大全

瞬聯java面試題

時間:2024-09-23 01:45:31 學人智庫 我要投稿
  • 相關推薦

瞬聯java面試題

  1)能說一下java的反射(reflection)機制嗎?(瞬聯)

瞬聯java面試題

  開放性和原因連接(causally-connected)是反射系統的兩大基本要素

  2)抽象類和接口有什么區別?(瞬聯)

  1.abstract class 在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個interface。

  2.在abstract class 中可以有自己的數據成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的數據成員(也就是必須是static final的,不過在 interface中一般不定義數據成員),所有的成員方法都是abstract的。

  3.abstract class和interface所反映出的設計理念不同。其實abstract class表示的是"is-a"關系,interface表示的是"like-a"關系。

  4.實現抽象類和接口的類必須實現其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現方法。

  5.接口中定義的變量默認是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。

  6.抽象類中的變量默認是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。

  7.接口中的方法默認都是 public,abstract 類型的。

  3)transient和volatile是java關鍵字嗎?(瞬聯)

  如果用transient聲明一個實例變量,當對象存儲時,它的值不需要維持。例如:

  class T

  {

  transient int a; //不需要維持

  int b; //需要維持

  }

  這里,如果T類的一個對象寫入一個持久的存儲區域,a的內容不被保存,但b的將被保存。

  volatile修飾符告訴編譯器被volatile修飾的變量可以被程序的其他部分改變。在多線程程序中,有時兩個或更多的線程共享一個相同的實例變量?紤]效率問題,每個線程可以自己保存該共享變量的私有拷貝。實際的變量副本在不同的時候更新,如當進入synchronized方法時。 用strictfp修飾類或方法,可以確保浮點運算(以及所有切斷)正如早期的Java版本那樣準確。切斷只影響某些操作的指數。當一個類被strictfp修飾,所有的方法自動被strictfp修飾。

  strictfp的意思是FP-strict,也就是說精確浮點的意思。在Java虛擬機進行浮點運算時,如果沒有指定strictfp關鍵字時,Java的編譯器以及運行環境在對浮點運算的表達式是采取一種近似于我行我素的行為來完成這些操作,以致于得到的結果往往無法令你滿意。而一旦使用了strictfp來聲明一個類、接口或者方法時,那么所聲明的范圍內Java的編譯器以及運行環境會完全依照浮點規范IEEE-754來執行。因此如果你想讓你的浮點運算更加精確,而且不會因為不同的硬件平臺所執行的結果不一致的話,那就請用關鍵字strictfp。

  你可以將一個類、接口以及方法聲明為strictfp,但是不允許對接口中的方法以及構造函數聲明strictfp關鍵字,例如下面的代碼:

  strictfp interface A {}

  public strictfp class FpDemo1 {

  strictfp void f() {}

  }

  2. 錯誤的使用方法

  interface A {

  strictfp void f();

  }

  public class FpDemo2 {

  strictfp FpDemo2() {}

  }

  一旦使用了關鍵字strictfp來聲明某個類、接口或者方法時,那么在這個關鍵字所聲明的范圍內所有浮點運算都是精確的,符合IEEE-754規范

  的。例如一個類被聲明為strictfp,那么該類中所有的方法都是strictfp的。

  4)在java中怎樣實現多線程?(瞬聯)

  extends Thread

  implement Runnable

  方法一:繼承 Thread 類,覆蓋方法 run(),我們在創建的 Thread 類的子類中重寫 run() ,加入線程所要執行的代碼即可。下面是一個例子:

  public class MyThread extends Thread

  {

  int count= 1, number;

  public MyThread(int num)

  {

  number = num;

  System.out.println

  ("創建線程 " + number);

  }

  public void run() {

  while(true) {

  System.out.println

  ("線程 " + number + ":計數 " + count);

  if(++count== 6) return;

【瞬聯java面試題】相關文章:

java面試題及答案10-03

10個經典的Java面試題集合09-20

婚聯精選10-26

通用婚聯精選10-03

春季婚聯10-06

出家婚聯06-22

新居用聯精選08-27

秋季婚聯10-12

隱字聯07-06

婚聯匯總07-22