面試題總結

一、short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?javascript

 

對於short s1 = 1; s1 = s1 + 1; 因爲s1+1運算時會自動提高表達式的類型,因此結果是int型,再賦值給short類型s1時,編譯器將報告須要強制轉換類型的錯誤。java

對於short s1 = 1; s1 += 1;因爲 += 是java語言規定的運算符,java編譯器會對它進行特殊處理,所以能夠正確編譯。 web


二、int型在32位下的範圍。ajax

-2的32次方到2的32次方。數據庫


三、TCP的三次握手api

(1)客戶端向服務器端發送一個SYK表示主動打開。瀏覽器

(2)服務器向一個合法的SYK客戶端發送SYK/ACK。緩存

(3)客戶端向服務器發送ACK,並表示已鏈接。性能優化


四、hibernate和ibatis的分頁區別服務器

ibatis主要是經過SQL映射的方式來直接查詢數據庫。而hibernate是經過緩存來實現分頁的。


五、hibernate和ibatis的區別

相同點:屏蔽jdbc api的底層訪問細節,使用時咱們不用與jdbc api打交道,就能夠訪問數據庫。

hibernate是一個全自動的ORM映射工具,它能夠自動生成SQL語句。而ibatis須要咱們本身在XML裏寫SQL語句。


六、單例模式。

public class Singleton(){

   private Singleton(){}

   private Static Singleton sin=null;

   public Static Singleton getInstance(){

    if(sin==null){

      sin=new Singleton();

}

return sin;

]}

}



七、java性能優化

a、不要在循環中使用Try/Catch語句,應把Try/Catch放在循環最外層。

b、經過StringBuffer的構造函數來設定他的初始化容量,能夠明顯提高性能。 

c、不要在循環中調用synchronized(同步)方法 

d、使用移位操做來代替'a / b'操做 

e、使用移位操做代替'a * b' 

f、若是隻是查找單個字符的話,用charat()代替startswith() 

g、避免不須要的造型操做 


八、hibernate的三種狀態

瞬態:new的對象稱爲瞬態。

持久態:處於該狀態的對象在數據庫中有一條對應的記錄,而且此對象有一個持久化標識。

脫管態:當與某持久對象的session關閉時,由持久態變成脫管態。


九、hibernate的事務管理

hibernate是對jdbc輕量級的封裝,自己並不具有事務管理。在事務管理層,hibernate將它委託給底層的jdbc或jta來實現事務的管理和調度。


十、struts2的流程

a、客戶端瀏覽器發出HTPP請求。

b、在web.xml中,請求被filterDispatcher接收。

c、在struts.xml中找到與請求對應的action類和方法。並經過IOC方式,將值注入到action中。

d、action調用業務邏輯組件處理業務邏輯。這一步包含表單驗證。

e、action執行完畢,根據struts.xml的配置找到對應的返回結果result,並跳到相應的頁面。


十一、ajax原理

經過XmlHttpRequest向服務器端發出異步請求,從服務器端得到數據,而後用javascript來操做DOM對象來更新頁面。

相關文章
相關標籤/搜索