刷题05
1.抽象類和接口的共同的和區別?
相同點:不能實例化,都可以包含抽象方法,都可以被繼承;
不同點:
抽象類:(前提:繼承性)有構造器
接口:不能聲明構造器
隨著JDK的不斷迭代,接口往類的方向不斷靠近,增強擴展性
2.java 中哪個關鍵字可以對對象加互斥鎖?
正確答案: B
A. transient
B. synchronized
C. serialize
D. static
解析:synchronized 關鍵字 : 用來給對象和方法或者代碼塊加鎖,當它鎖定一個方法或者一個代碼塊的時候,同一時刻最多只有一個線程執行這個段代碼。
volatile:用來確保將變量的跟新操作通知到其他線程,當把變量聲明為volatile類型后,編譯器與運行時都會注意到這個變量是共享的,因此不會將該變量上的操作與其他內存操作一起重排序。然而,在訪問volatile變量時不會執行加鎖操作,因此也就不會使執行線程阻塞,因此volatile變量是一種比 synchronized關鍵字更輕量級的同步機制。
serialize:Java 對象序列化為二進制文件。
static關鍵字: static關鍵字可以修飾變量,方法,靜態代碼塊。
靜態變量: 由static修飾的變量稱為靜態變量,靜態變量屬于類,而不屬于某個對象;
靜態變量它的副本只有一個(靜態變量在類中只加載一次)
靜態方法: 在靜態方法中只能調用靜態變量和靜態方法;不能直接調用非靜態方法,需要通過實例化對象來調用。
在非靜態方法中,可以調用靜態方法或者變量;
在靜態方法中不能使用this和super關鍵字。
靜態代碼塊作用:用來給靜態成員變量初始化。
3.以下表達式的類型和值是什么?(注意整數除法)()
-5 + 1/4 + 2*-3 + 5.0
正確答案: D
A. int -3
B. int -4
C. double -5.5
D. double -6.0
解析:首先1/4=0,后面5.0為double類型,所以int型的需要自動類型提升成double,輸出:6.0
4.指出下列程序運行的結果:
正確答案: B
A. tarena and abc
B. tarena and gbc
C. test ok and abc
D. test ok and gbc
解析:首先java中參數傳遞是“值傳遞”機制,change()接收的參數是引用的副本,是地址的復制值,change()方法中str副本指向了新元素"test ok",但是并沒有改變原來str指向的字符串,所以此str副本只在change()方法內有效,出了change()方法,引用會隨著方法的結束而被殺死,所以在main()中還是原來str引用指向的"tarena";
5.
Math.floor(-8.5)=( )
正確答案: D
A. (float)-8.0
B. (long)-9
C. (long)-8
D. (double)-9.0
解析:
floor: 求小于參數的最大整數。返回double類型-----n. 地板,地面;
例如:Math.floor(-4.2) = -5.0
ceil: 求大于參數的最小整數。返回double類型-----vt. 裝天花板;
例如:Math.ceil(5.6) = 6.0
round: 它表示“四舍五入”,算法為Math.floor(x+0.5),即將原來的數字加上0.5后再向下取整,所以,Math.round(11.5)的結果為12,Math.round(-11.5)的結果為-11
tips:如果傳入的是double類型,則返回long; 如果是float 類型,則返回int
6.以下哪些方法可以取到http請求中的cookie值()?
正確答案: B D
A. request.getAttribute
B. request.getHeader
C. request.getParameter
D. request.getCookies
解析:下面的方法可用在 Servlet 程序中讀取 HTTP 頭。這些方法通過 HttpServletRequest 對象可用:
1)Cookie[] getCookies()
返回一個數組,包含客戶端發送該請求的所有的 Cookie 對象。
2)Object getAttribute(String name)
以對象形式返回已命名屬性的值,如果沒有給定名稱的屬性存在,則返回 null。
3)String getHeader(String name)
以字符串形式返回指定的請求頭的值。Cookie也是頭的一種;
4)String getParameter(String name)
以字符串形式返回請求參數的值,或者如果參數不存在則返回 null。
7.以下各類中哪幾個是線程安全的?( )
正確答案: B C D
A. ArrayList
B. Vector
C. Hashtable
D. Stack
解析:線程同步:喂,SHE(這個解析看到別人的,哈哈哈哈,笑死)
喂(Vector)
S(Stack)
H(hashtable)
E(enumeration)
8.關于java中的數組,下面的一些描述,哪些描述是準確的:()
正確答案: A C F
A.數組是一個對象,不同類型的數組具有不同的類
B.數組長度是可以動態調整的
C.數組是一個連續的存儲結構
D.一個固定長度的數組可類似這樣定義:int array[100]
E.兩個數組用Object 里equals方法比較時,會逐個遍 歷其中的元素,對每個元素進行比較
F.java中不存在 int *a這樣的東西做數組的形參
解析:數組a.equals(數組b),調用的equals方法為Object的,比較的是地址,相當于==,Arrays的equals方法是逐個元素比較
總結
- 上一篇: MySQL学习笔记_3_MySQL创建数
- 下一篇: Mac与centos的ip配置