1、iBatis相比JDBC優勢的優勢有哪些?
答:簡單易上手、開發速度快、面向對象,數據庫可移植。
(此處應該將優缺點一起分析,才是滿意得到回答)
延伸學習:
MyBatis和iBatis的區別:
ibatis本是apache的一個開源項目,2010年這個項目由apachesoftwarefoundation遷移到了google code,并且改名為mybatis
(1)Mybatis實現了接口綁定,使用更加方便:
在ibatis2.x中我們需要在DAO的實現類中指定具體對應哪個xml映射文件,而Mybatis實現了DAO接口與xml映射文件的綁定,
(2)對象關系映射的改進,效率更高
iBatis:
優點:代碼量減少、簡單易上手、SQL語句和代碼分離(便于修改)、數據庫可移植
缺點:SQL語句需要自己寫、參數只能有一個
Hibernate:
優點:對象關系數據庫映射、完全面向對象、提供緩存機制、HQL編程
缺點:不能靈活使用原生SQL、無法對SQL優化、全表映射效率低下、N+1的問題
JDBC、iBatis、Hibernate明顯對比:
JDBC更為靈活,更加有效率,系統運行速度快。但是代碼繁瑣復雜,有的時候用了存儲過程就不方便數據庫移植了。
hibernate,iBatis關系數據庫框架,開發速度快,更加面向對象,可以移植更換數據庫,但影響系統性能。
JDBC:手動
手動寫sql,不能直接傳入一個對象、不能直接返回一個對象。
iBatis的特點:半自動化
手動寫sql,能直接傳入一個對象、能直接返回一個對象。
Hibernate:全自動
不寫sql,自動封裝,能直接傳入一個對象、能直接返回一個對象。
2、PrepareStatement相比statement,有哪些優點?
答:(1)直接使用Statement,驅動程序一般不會對sql語句作處理而直接交給數據庫;
使用PreparedStament,形成預編譯的過程,并且會對語句作字符集的轉換(至少在sqlserver)中如此。
如此,有兩個好處:對于多次重復執行的語句,使用PreparedStament效率會更高一點,并且在這種情況下也比較適合使用batch;另外,可以比較好地解決系統的本地化問題。
(2)PreparedStatement還能有效的防止危險字符的注入,也就是sql注入的問題。(但是必須使用“對?賦值的方法”才管用)
3、TCP/IP對應于OSI七層模型的哪些層?
答:OSI七層模型分別是:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層和物理層。
TCP/IP協議不是TCP和IP協議的合稱,而是指因特網整個TCP/IP協議族。從協議分層模型方面來看,TCP/IP由四個層次組成:網絡接口層、網絡層、傳輸層和應用層。
4、為什么3次握手,4次揮手?
3次握手建立連接:
第一次握手:建立連接時,客戶端發送SYN包(syn=j)到服務器,并進入SYN_SENT狀態,等待服務器確認;SYN:同步序列編號(Synchronize SequenceNumbers)即握手信號。
第二次握手:服務器收到SYN包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手。
4次揮手斷開連接:
對于一個已經建立的連接,TCP使用改進的4次揮手來釋放連接(使用一個帶有FIN附加標記的報文段)。TCP關閉連接的步驟如下:
第一步,當主機A的應用程序通知TCP數據已經發送完畢時,TCP向主機B發送一個帶有FIN附加標記的報文段(FIN表示英文finish)。
第二步,主機B收到這個FIN報文段之后,并不立即用FIN報文段回復主機A,而是先向主機A發送一個確認序號ACK,同時通知自己相應的應用程序:對方要求關閉連接(先發送ACK的目的是為了防止在這段時間內,對方重傳FIN報文段)。
第三步,主機B的應用程序告訴TCP:我要徹底的關閉連接,TCP向主機A送一個FIN報文段。
第四步,主機A收到這個FIN報文段后,向主機B發送一個ACK表示連接徹底釋放。
5、進程和線程區別是什么?
答:進程是一個具有獨立功能的程序關于某個數據集合的一次運行活動。它可以申請和擁有系統資源,是一個動態的概念,是一個活動的實體。
進程是一個“執行中的程序”。程序是一個沒有生命的實體,只有處理器賦予程序生命時,它才能成為一個活動的實體,我們稱其為進程。
一個進程中可以包含若干個線程,它們可以利用進程所擁有的資源。在引入線程的操作系統中,通常都是把進程作為分配資源的基本單位,而把線程作為獨立運行和獨立調度的基本單位。
線程與進程的區別歸納:
地址空間和其它資源:進程間相互獨立,同一進程的各線程間共享。某進程內的線程在其它進程不可見。
通信:進程間通信IPC,線程間可以直接讀寫進程數據段(如全局變量)來進行通信??需要進程同步和互斥手段的輔助,以保證數據的一致性。
調度和切換:線程上下文切換比進程上下文切換要快得多。
浙江警官職業學院司法警務專業怎么樣?錄取分數線多少分
時間:2025-05-22 09:51:03長沙航空職業技術學院無人機應用技術專業怎么樣?錄取分..
時間:2025-05-22 09:47:02河北高考525至530分左右物理可以上什么大學
時間:2025-05-22 09:44:13云南能源職業技術學院市場營銷專業怎么樣?錄取分數線多..
時間:2025-05-22 09:41:01南昌大學科學技術學院在湖北高考招生計劃人數和專業代..
時間:2025-05-22 09:37:39黑龍江農墾職業學院在四川高考招生計劃人數和專業代碼(..
時間:2025-05-22 09:35:14