Java錯題合集(1)


1、是類及類成員的訪問控制符的是 (不考慮內部類的情況)

​ A、public

​ B、private

​ C、protected

2、有關JVM內存, 說法正確的是?

​ A、方法區用於存儲Jvm加載的類信息、常量、靜態變量、以及編譯器編譯后的代碼等數據,是線程隔離的

方法區在JVM中也是一個非常重要的區域,它與堆一樣,是被 線程共享 的區域。 在方法區中,存儲了每個類的信息(包括類的名稱、方法信息、字段信息)、靜態變量、常量以及編譯器編譯后的代碼等。

3、JSP分頁代碼中,步驟次序是正確的?

​ A、先取總記錄數,得到總頁數,最后顯示本頁的數據。

4、哪些情況下會導致線程中斷或停止運行

​ A、InterruptedException異常被捕獲

​ B、線程調用了wait方法

5、說法中正確的有?

​ A、StringBuilder是線程不安全的

​ B、volatile關鍵字不保證對變量操作的原子性

6、 關於volatile的功能說法正確的是

​ A、有序性

​ B、可見性

**7、 關於Java中類的構造方法的描述,正確的是 **

可以定義一個類而在代碼中不寫構造方法。

**8、 說法正確的有 **

constructor可在一個對象被new時執行

9、 一個類的構造器不能調用這個類中的其他構造器?

正確

**10、 關於繼承和實現說法正確的是 ? **

類可以實現多個接口,接口可以繼承(或擴展)多個接口

**11、JVM內存不包含如下哪個部分 **

Heap Frame

**12、 在Java中,HashMap中是用哪些方法來解決哈希沖突的 **

開放地址法

13、有關jsp中靜態include和動態include的區別, 說法正確的是?

​ A、動態INCLUDE:用jsp:include動作實現

​ B、靜態INCLUDE:用include偽碼實現,定不會檢查所含文件的變化,適用於包含靜態頁面<%@ include file="included. htm"%>

​ C、靜態include的結果是把其他jsp引入當前jsp,兩者台為一體;動態include的結構是兩者獨立,直到輸出時才合並

14、關於ASCII碼和ANSI碼,說法正確的是() ?

​ A、標准ASCII只使用7個bit

​ B、在簡體中文的windows系統中,ANSI就是GB2312

​ C、ASCII碼是ANSI碼的子集

15、 關於包(package)的描述,正確的是

定義在同一個包(package)內的類可以不經過import而直接相互使用

**16、 有關Java的說法正確的是 **

一個類可以實現多個接口

protected成員在子類可見性可以修改

通過super可以調用父類構造函數

String是不可修改的,且java運行環境中對string對象有一個對象池保存

**17、哪些寫法能在 java8 中編譯執行 **

dir.listFiles((File f)->f.getName().endsWith(“.Java”));

dir.listFiles( f->f.getName().endsWith(“.Java”));

**18、 Java語言中,語句是創建數組的正確語句?( ) **

float f[][] = new float[6][6];

float []f[] = new float[6][6];

float [][]f = new float[6][6];

float [][]f = new float[6][];

18、 關於Java里queue的說法哪些是正確的?

LinkedBlockingQueue是一個可選有界隊列,不允許null值

PriorityQueue是一個無界隊列,不允許null值,入隊和出隊的時間復雜度是O(log(n))

**19、 與InputStream流相對應的Java系統的“標准輸入對象”是() **

System.in

**20、 ArrayList和LinkList的描述,說法正確的是 **

LinkedeList和ArrayList都實現了List接口

ArrayList是可改變大小的數組,而LinkedList是雙向鏈接串列

LinkedList不支持高效的隨機元素訪問

**21、 是java concurrent包下的4個類,選出差別最大的一個 **

Future

**22、 下面關於hibernate核心接口說明正確的是? **

Configuration 接口:配置Hibernate,根據其啟動hibernate,創建SessionFactory 對象

Query 和Criteria 接口:執行數據庫的查詢

Transaction 接口:管理事務

**23、public interface IService {String NAME="default";} 默認類型等價表示是哪一項: **

public static final String NAME="default";

24、off-heap是指那種內存

JVM進程管理的內存

off-heap叫做堆外內存,將你的對象從堆中脫離出來序列化,然后存儲在一大塊內存中,這就像它存儲到磁盤上一樣,但它仍然在RAM中。對象在這種狀態下不能直接使用,它們必須首先反序列化,也不受垃圾收集。序列化和反序列化將會影響部分性能(所以可以考慮使用FST-serialization)使用堆外內存能夠降低GC導致的暫停。堆外內存不受垃圾收集器管理,也不屬於老年代,新生代。

25、在開發中使用泛型取代非泛型的數據類型(比如用ArrayList 取代ArrayList),程序的運行時性能會變得更好。 ()

錯誤

使用泛型的好處

1,類型安全。 泛型的主要目標是提高 Java 程序的類型安全。通過知道使用泛型定義的變量的類型限制,編譯器可以在一個高得多的程度上驗證類型假設。沒有泛型,這些假設就只存在於程序員的頭腦中(或者如果幸運的話,還存在於代碼注釋中)。

2,消除強制類型轉換。 泛型的一個附帶好處是,消除源代碼中的許多強制類型轉換。這使得代碼更加可讀,並且減少了出錯機會。

3,潛在的性能收益。 泛型為較大的優化帶來可能。在泛型的初始實現中,編譯器將強制類型轉換(沒有泛型的話,程序員會指定這些強制類型轉換)插入生成的字節碼中。但是更多類型信息可用於編譯器這一事實,為未來版本的 JVM 的優化帶來可能。由於泛型的實現方式,支持泛型(幾乎)不需要 JVM 或類文件更改。所有工作都在編譯器中完成,編譯器生成類似於沒有泛型(和強制類型轉換)時所寫的代碼,只是更能確保類型安全而已。

所以泛型只是提高了數據傳輸安全性,並沒有改變程序運行的性能

26、java8中,哪個類用到了解決哈希沖突的開放定址法

ThreadLocal

27、說法正確的是?()

一個線程調用yield方法,可以使具有相同優先級線程獲得處理器

在Java中,高優先級的可運行的線程會搶占低優先級線程的資源

28、程序中常采用變量表示數據,變量具有名、地址、值、作用域、生存期等屬性。關於變量的敘述,()是正確的。

根據作用域規則,在函數中定義的變量只能在函數中引用

在函數中定義的變量,其生存期為整個程序執行期間

在函數中定義的變量不能與其所在函數的形參同名

29、java中 String str = "hello world"語句錯誤的是?

str+='      a'

int strlen = str.length

str=100

**30、 下列程序執行后結果為( ) **

 class A {
     public int func1(int a, int b) {
         return a - b;
     }
 }
 class B extends A {
     public int func1(int a, int b) {
         return a + b;
     }
 }
 public class ChildClass {
     public static void main(String[] args) {
     A a = new B();
     B b = new B();
     System.out.println("Result=" + a.func1(100, 50));
     System.out.println("Result=" + b.func1(100, 50));
     }
 }

Result=150Result=150

31、已知 聲明並初始化二維數組 int a[ ][ ]={{1,2},{3,4},{5,6}} ,則 a[1][1] 的值為()

4

32、在 Java 中,存放字符串常量的對象屬於( )類對象

String

33、哪個Set類是排序的?

TreeSet

34、多線程對int型變量x的操作,哪個不需要進行同步()

x=1

35、順序執行下列程序語句后,則b的值是

String a="Hello";

String b=a.substring(0,2);

He

36、描述中,正確的是

SQL語言又稱為結構化查詢語言

java中”static”關鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問

java是強類型語言,javascript是弱類型語言

面向對象的三大特性包括:封裝,繼承,多態

37、對於文件的描述正確的是

Java中對於文本文件和二進制文件,都可以當作二進制文件進行操作。

38、以下為 java 語法保留不能作為類名和方法名使用的是

default

int

implements

throws

**39、 給定以下JAVA代碼,這段代碼運行后輸出的結果是() **

public class Test
{  
    public static int aMethod(int i)throws Exception
    {
        try{
            return i/10;
        }
        catch (Exception ex)
        {
            throw new Exception("exception in a aMethod");
        }finally{
      System.out.printf("finally");
        }
} 
    public static void main(String[] args){
        try
        {
            aMethod(0);
        }
        catch (Exception ex)
        {
            System.out.printf("exception in main");
        }
        System.out.printf("finished");
    }
}

finally finished

40、如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是() 注:一個元素進棧后可以馬上出棧,不用等全部進棧

e2,e4,e3,e1

e2,e3,e4,e1

41、關於OutOfMemoryError,說法正確的是()?

java.lang.OutOfMemoryError: PermGen space 增加-XX:MaxPermSize這個參數的值的話,這個問題通常會得到解決。

java.lang.OutOfMemoryError: Requested array size exceeds VM limit當你正准備創建一個超過虛擬機允許的大小的數組時,這條錯誤將會出現

java.lang.OutOfMemoryError: Java heap space 一般情況下解決這個問題最快的方法就是通過-Xmx參數來增加堆的大小

42、在Java線程狀態轉換時,下列轉換不可能發生的有()?

初始態->運行態

阻塞態->運行態

43、關於Histroy對象的屬性或方法描述正確的是()

bcak回到瀏覽器載入歷史URL地址列表的當前URL的前一個URL

forward轉到瀏覽器載入歷史URL地址列表的當前URL的下一個URL。

44、Java 語言中,負責並發管理的機制是( )

多線程

45、關於繼承的描述正確的是

在Java中只允許單一繼承

46、java中哪個能創建並啟動線程()

`public` `class` `MyRunnable implements Runnable     { ``   ``public` `void` `run()       { ``     ``//some code here ``   ``} `` ``}`

new Thread(new MyRunnable()).start()

47、非抽象類實現接口后,必須實現接口中的所有抽象方法,除了abstract外,方法頭必須完全一致.

錯誤

48、集合對象中哪些個是線程安全的()

Vector
Hashtable

48、下列關於構造方法的敘述中,正確的是()

java語言規定構造方法名與類名必須相同

java語言規定構造方法沒有返回值,但不同void聲明

49、Java是一門支持反射的語言,基於反射為Java提供了豐富的動態性支持,下面關於Java反射的描述,哪些是正確的:( )

通過反射可以動態的實現一個接口,形成一個新的類,並可以用這個類創建對象,調用對象方法

通過反射,可以突破Java語言提供的對象成員、類成員的保護機制,訪問一般方式不能訪問的成員

Java的反射機制會給內存帶來額外的開銷。例如對永生堆的要求比不通過反射要求的更多


50、說法正確的有( )

能被java.exe成功運行的java class文件必須有main()方法

51、哪項技術可以用在WEB開發中實現會話跟蹤實現?

session

Cookie

地址重寫

隱藏域

52、基本的Java語言函數存儲在哪個java包中?()

java.lang

53、執行語句“int a= ’ 2 ’ ”后,a的值是( )

50

54、假設有以下代碼String s = "hello";String t = "hello";char c [ ] = {'h','e','l','l','o'};返回false的語句是?

t.equals (c);

55、以下多線程對int型變量x的操作,哪個不需要進行同步()

x=1

56、在一個基於分布式的游戲服務器系統中,不同的服務器之間,哪種通信方式是不可行的()?

管道

57、關於Spring的說法中正確的是()

Spring是一系列輕量級Java EE框架的集合

Spring中包含一個“依賴注入”模式的實現

使用Spring可以實現聲明式事務

58、有一個源代碼,只包含import java.util. ; 這一個import語句,敘述正確的是? ( )*

能訪問java/util目錄下的所有類,不能訪問java/util子目錄下的所有類

59、哪些類實現或者繼承了Collection接口?

ArrayList

Vector

60、在java中重寫方法應遵循規則的包括()

可以有不同的訪問修飾符

參數列表必須完全與被重寫的方法相同

61、jvm中垃圾回收分為scanvenge gc和full GC,其中full GC觸發的條件可能有哪些

老年代滿

持久代滿

System.gc()

**62、 Java中類是單繼承,但接口可以多繼承,Interfere1 extends Interface2,Interface3... **

63、為了使包ch4在當前程序中可見,可以使用的語句是()

import ch4.*;

64、以下是修飾符final的作用的是( )。

修飾常量

修飾不可被繼承的類

修飾不可覆蓋的方法

65、在Web應用程序中,( )負責將HTTP請求轉換為HttpServletRequest對象

Web容器

66、在java中,下列對繼承的說法,正確的是( )

子類能繼承父類的所有成員

67、已知如下的命令執行 java MyTest a b c 請問哪個語句是正確的? ( )

args[0] = "a"

args[1]= "b"

68、jdk1.8中,下面有關java 抽象類和接口的區別,說法正確的是?

抽象類可以有構造方法,接口中不能有構造方法

抽象類中可以包含非抽象的普通方法,接口中的方法必須是抽象的,不能有非抽象的普通方法

69、下面有關java的instanceof、?、&、&&說法正確的有?

instanceof 可用來判斷某個實例變量是否屬於某種類的類型。

"?:"  三目運算符

&在邏輯運算中是非短路邏輯與,在位運算中是按位與

&& 邏輯運算:邏輯與

70、說法正確的是?()

一個線程調用yield方法,可以使具有相同優先級線程獲得處理器

在Java中,高優先級的可運行的線程會搶占低優先級線程的資源

71、關於final關鍵字說法正確的是()

final修飾的類不能被繼承

final修飾的變量不允許被再次賦值

72、說法正確的是()

JAVA程序的main方法必須寫在類里面

JAVA程序中可以有多個名字為main方法

73、在Java中,什么是Garbage Collection?()

當對象的所有引用都消失后,對象使用的內存將自動回收

74、哪個不是Collection的子接口?

Map

75、在 applet 的方法中 , 可關閉小應用程序並釋放其占用資源的是( )

destroy()

76、Java程序中的類名稱必須與存放該類的文件名相同。

77、關於抽象類與最終類,說法正確的是?

抽象類能被繼承,最終類只能被實例化。

抽象類和最終類都可以被聲明使用

抽象類中可以沒有抽象方法,最終類中可以沒有最終方法

78、有關Servlet的生命周期,說法正確的是?

在Servlet生命周期的服務階段,執行service()方法,根據用戶請求的方法,執行相應的doGet()或是doPost()方法

在銷毀階段,執行destroy()方法后會釋放Servlet 占用的資源

destroy()方法僅執行一次,即在服務器停止且卸載Servlet時執行該方法

79、java中提供了哪兩種用於多態的機制

通過子類對父類方法的覆蓋實現多態

利用重載來實現多態.即在同一個類中定義多個同名的不同方法來實現多態。

80、說法中正確的有?

StringBuilder是 線程不安全的

volatile關鍵字不保證對變量操作的原子性

81、關於Java的一些概念,描述是正確的:( )

通過try … catch … finally語句,finally中的語句部分無論發生什么異常都會得到執行

Java通過synchronized進行訪問的同步,synchronized作用非靜態成員方法和靜態成員方法上同步的目標是不同的

82、若所用變量都已正確定義,非法的表達式是()

’a’ = 1/3

**83、java中將ISO8859-1字符串轉成GB2312編碼,語句為 ? **

new String("ISO8859-1".getBytes("ISO8859-1"),"GB2312")

84、Java語言與其它語言相比,獨有的特點是( )

平台無關

85、ArrayList list = new ArrayList(20);中的list擴充幾次

0

86、關於容器集合類的說法正確的是?

HashSet繼承自AbstractSet

87、集合對象中哪幾個是線程安全的()

Vector

Hashtable

88、哪些具體實現類可以用於存儲鍵,值對,並且方法調用提供了基本的多線程安全支持:( )

java.util.ConcurrentHashMap

java.util.Hashtable

89、關於Java中的數組,描述是准確的:( )

數組是一個對象,不同類型的數組具有不同的類

數組是一個連續的存儲結構

可以二維數組,且可以有多維數組,都是在Java中合法的

90、敘述正確的是( )

在接口中定義的方法除了default和static關鍵字修飾的方法擁有方法體,其他方法都應是沒有方法體的抽象方法(JDK1.8以后)

一個java類只能有一個父類,但可以實現多個接口

在類聲明中,用implements關鍵字聲明該類實現的接口

91、關於 abstract 關鍵字的說法,正確的是()

abstract 方法必須在abstract類或接口中。

92、以下定義一維數組的語句中,正確的是:()

int a []={1,2,3,4,5}

93、計算機所能處理的最小的數據項稱為()

94、關於集合類ArrayList、LinkedList、HashMap描述正確的是()

HashMap實現Map接口,它允許任何類型的鍵和值對象,並允許將null用作鍵或值

ArrayList和LinkedList均實現了List接口

ArrayList的訪問速度比LinkedList快

95、關於訪問權限說法正確 的是 ? ( )

成員內部類前面可以修飾public,protected和private

96、說法正確的是()

EJB容器發生錯誤,persistent方式下JMS容器仍然會將消息發送

97、有關servlet service描述正確的是?

不管是post還是get方法提交過來的連接,都會在service中處理

service()是在javax.servlet.Servlet接口中定義的

service判斷請求類型,決定是調用doGet還是doPost方法

98、關於匿名內部類敘述正確的是? ( )

匿名內部類不可以定義構造器

99、在Struts框架中如果要使用Validation作驗證的話,需要使用以下哪個Form?

DynaValidatorActionForm

100、Java 提供的事件處理模型是一種人機交互模型。它有三個基本要素

事件源

事件對象

事件監聽器

101、屬於是java的基本數據類型。

int

boolean

102、關於final關鍵字說法正確的是()

final修飾的類不能被繼承

final修飾的變量不允許被再次賦值

103、描述中,正確的是

SQL語言又稱為結構化查詢語言

java中”static”關鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問

java是強類型語言,javascript是弱類型語言

面向對象的三大特性包括:封裝,繼承,多態

104、Java 的屏幕坐標是以像素為單位,容器的左下角被確定為坐標的起點。

錯誤

105、有時為了避免某些未識別的異常拋給更高的上層應用,在某些接口實現中我們通常需要捕獲編譯運行期所有的異常, catch下述哪個類的實例才能達到目的:()

Exception

106、public class contained in a Java program file must have the same name as the file, except for the extension ".java".

FALSE

107、It is an important feature of the Java language that it always provides a default constructor to a class.

FALSE

108、下面有關java object默認的基本方法,說法正確的是?

equals(Object obj) 指示某個其他對象是否與此對象“相等”

wait() 導致當前的線程等待,直到其他線程調用此對象的 notify() 方法或 notifyAll() 方法

toString() 返回該對象的字符串表示

109、哪些是賦值符號?

+=

<<=

>>>=

110、下面有關java threadlocal說法正確的有?

ThreadLocal存放的值是線程封閉,線程間互斥的,主要用於線程內共享一些數據,避免通過參數來傳遞

線程的角度看,每個線程都保持一個對其線程局部變量副本的隱式引用,只要線程是活動的並且 ThreadLocal 實例是可訪問的;在線程消失之后,其線程局部實例的所有副本都會被垃圾回收

在Thread類中有一個Map,用於存儲每一個線程的變量的副本。

對於多線程資源共享的問題,同步機制采用了“以時間換空間”的方式,而ThreadLocal采用了“以空間換時間”的方式

111、以下會產生信息丟失的類型轉換是( )

int a=(int)8846.0

112、哪個修飾符修飾的變量是所有同一個類生成的對象共享的( )

static

113、哪個屬於JVM堆內存中的區域()?

survivor區

eden區

old區

114、枚舉(enum)屬於原始數據類型(primitive type)。

錯誤

115、下列關於一個類的靜態成員的描述中,正確的是

該類的對象共享其靜態成員變量的值

靜態成員變量可被該類的所有方法訪問

該類的靜態方法能訪問該類的靜態成員變量

116、關於程序編譯說法正確的是()

java在運行時才進行翻譯指令

117、屬於合法的 Java 標識符?( )

FirstJavaApplet

First_Applet

118、在Jdk1.7中,下述說法中抽象類與接口的區別與聯系正確的有哪些?

抽象類中可以有普通成員變量,接口中沒有普通成員變量。

抽象類和接口中都可以包含靜態成員常量。

一個類可以實現多個接口,但只能繼承一個抽象類

抽象類中可以包含非抽象的普通方法,接口中的方法必須是抽象的,不能有非抽象的普通方法。

119、Java1.8版本之前的前提,Java特性中,abstract class和interface有什么區別()

抽象類可以有構造方法,接口中不能有構造方法

抽象類中可以有普通成員變量,接口中沒有普通成員變量

一個類可以實現多個接口,但只能繼承一個抽象類。

120、下面有關java類加載器,說法正確的是?

引導類加載器(bootstrap class loader):它用來加載 Java 的核心庫,是用原生代碼來實現的

擴展類加載器(extensions class loader):它用來加載 Java 的擴展庫。

系統類加載器(system class loader):它根據 Java 應用的類路徑(CLASSPATH)來加載 Java 類

tomcat為每個App創建一個Loader,里面保存着此WebApp的ClassLoader。需要加載WebApp下的類時,就取出ClassLoader來使用

121、關於Applet的說法是正確的是

Applet可以在帶有Java解釋器的瀏覽器中運行

Applet類必須繼承java.applet.Applet

Applet可以訪問本地文件

Applet是Object類的子類


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM