一、接口與抽象類的差別?
1. 抽象類可以有構造方法,接口中不能有構造方法。
2. 抽象類中可以有普通成員變量,接口中沒有普通成員變量
3. 抽象類中可以包含非抽象的普通方法,接口中的所有方法必須都是抽象的,不能有非抽象的普通方法。
4. 抽象類中的抽象方法的通路類型可以是public,protected和預設類型,但接口中的抽象方法隻能是public類型的,并且預設即為public abstract類型。
5. 抽象類中可以包含靜态方法,接口中不能包含靜态方法
6. 抽象類和接口中都可以包含靜态成員變量,抽象類中的靜态成員變量的通路類型可以任意,但接口中定義的變量隻能是public static final類型,并且預設即為public static final類型。
7. 一個類可以實作多個接口,但隻能繼承一個抽象類。
二、get和post請求的差別?
1、get請求用來從伺服器上獲得資源,而post是用來向伺服器送出資料;
2、get将表單中資料按照name=value的形式,添加到action 所指向的URL 後面,并且兩者使用"?"連接配接,而各個變量之間使用"&"連接配接;post是将表單中的資料放在HTTP協定的請求頭或消息體中,傳遞到action所指向URL;
3、get傳輸的資料要受到URL長度限制(1024位元組);而post可以傳輸大量的資料,上傳檔案通常要使用post方式;
4、使用get時參數會顯示在位址欄上,如果這些資料不是敏感資料,那麼可以使用get;對于敏感資料還是應用使用post;
5、get使用MIME類型application/x-www-form-urlencoded的URL編碼(也叫百分号編碼)文本的格式傳遞參數,保證被傳送的參數由遵循規範的文本組成,例如一個空格的編碼是"%20"。
三、&和&&的差別。
&和&&都可以用作邏輯與的運算符,&&為短路與,&不是短路與。
另外&可以做為整數的位運算符
例1:對于if(str !=null&& !str.equals(“”))表達式,當str為null時,後面的表達式不會執行,是以不會出現NullPointerException如果将&&改為&,則會抛出NullPointerException異常。
例2:If(x==33&++y>0) y會增長,if(x==33 && ++y>0)不會增長
備注:這道題先說兩者的共同點,再說出&&和&的特殊之處,并列舉一些經典的例子來表明自己了解透徹深入、實際經驗豐富。
四、"=="和equals方法的差別?
他們的差別主要存在在引用資料類型上
==為比較兩側的對象是否同一對象,是用記憶體位址來比較的
equals是方法,預設是用記憶體位址比較,重寫後,主要是用來比較兩側的對象的值是否相同,和equals方法中的實作有關
==可以兩側都為null,但equals左側的引用指向的對象不能空,不然有NullPointerException除非需要比較兩個引用指向的對象是同一對象,一般都使用equals方法進行比較。尤其是String之類的值對象,另外,常量盡量放在比較的左側。
五、Integer與int的差別
int是java提供的8種原始資料類型之一,意思整型,占用4位元組。
Integer是java為int提供的封裝類,是引用資料類型。
int的預設值為0,而Integer的預設值為null,即Integer可以區分出未指派和值為0的差別,int則無法表達出未指派的情況。
例如,要想表達出沒有參加考試和考試成績為0的差別,則隻能使用Integer
在JSP開發中,Integer的預設為null,是以用el表達式在文本框中顯示時,值為空白字元串,而int預設的預設值為0,是以用el表達式在文本框中顯示時,結果為0,是以,int不适合作為web層的表單資料的類型。
在Hibernate中,如果将OID定義為Integer類型,那麼Hibernate就可以根據其值是否為null而判斷一個對象是否是臨時的,如果将OID定義為了int類型,還需要在hbm映射檔案中設定其unsaved-value屬性為0。
另外,Integer提供了多個與整數相關的操作方法,例如,将一個字元串轉換成整數,Integer中還定義了表示整數的最大值和最小值的常量。
六、面向對象的特征有哪些方面
1. 封裝,隐藏内部實作,隻暴露公共行為
2. 繼承,提高代碼的重用性
3. 多态,展現現實生活中相似對象的差異性
4. 抽象,抽取現實世界中相似對象的共同點
七、linux中的指令:
1 ctrl + alt 切換系統
2 開機 power on 關機 power off
3 指令:跳目錄 cd / 根目錄 cd.. 上一級目錄
4 ls 插卡目錄 mkdir 建檔案夾 touch 建檔案 cat 看檔案内容 vi 編輯檔案(insert模式,按esc 鍵退出:wq 儲存并退出)
5 rm -rf 删除檔案 su root 切換使用者
ps -ef | grep:檢視程序資訊
vi:檔案編輯指令
more:分頁檢視指令
top:常用的性能分析工具,能夠實時顯示系統中各個程序的資源占用狀況
ifconfig:顯示或配置網絡裝置的指令
ping:它通常用來測試與目标主機的連通性
rsync、scp:檔案同步指令