数据连接java面试题
本文純屬個(gè)人見解,是對(duì)前面學(xué)習(xí)的總結(jié),如有描述不正確的地方還請(qǐng)高手指正~
????一、面向?qū)ο蟮奶卣鞫加心男?#xff1f;他們?cè)谑褂眠^程中的優(yōu)勢(shì)是什么?
????(1)對(duì)象唯一性 (2)抽象性 (3)繼承性 (4)多態(tài)性
??????????? 1、易維護(hù)
???????????? 采取面向?qū)ο笏枷朐O(shè)計(jì)的結(jié)構(gòu),可讀性高,由于繼承的存在,即使轉(zhuǎn)變需求,那么維護(hù)也只是在局部模塊,所以維護(hù)起來是非常方便和較低成本的。
???????????? 2、品質(zhì)高
???????????? 在設(shè)計(jì)時(shí),可重用現(xiàn)有的,在以前的項(xiàng)目的領(lǐng)域中已被測(cè)試過的類使系統(tǒng)滿意業(yè)務(wù)需求并具有較高的品質(zhì)。
?????????? ? 3、效率高
?????????? ? 在軟件開發(fā)時(shí),根據(jù)設(shè)計(jì)的須要對(duì)現(xiàn)實(shí)天下的事物停止抽象,發(fā)生類。使用這樣的方法解決問題,接近于平常生活和自然的思考方法,必將提高軟件開發(fā)的效率和品質(zhì)。
???????? ? ?? 4、易擴(kuò)展
????????? ? ? 由于繼承、封裝、多態(tài)的特性,自然設(shè)計(jì)出高內(nèi)聚、低耦合的系統(tǒng)結(jié)構(gòu),使得系統(tǒng)更靈巧、更輕易擴(kuò)展,而且成本較低。
?
????二、ArrayList、Vector和LinkedList的存儲(chǔ)性能和特性
????ArrayList和Vector是采取數(shù)組方法存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于現(xiàn)實(shí)存儲(chǔ)的數(shù)據(jù)以便增長和插入數(shù)據(jù),都答應(yīng)直接按序號(hào)索引元素。
????但是插入數(shù)據(jù)要涉及到數(shù)組元素挪動(dòng)等內(nèi)容操縱,所以索引數(shù)據(jù)塊插入數(shù)據(jù)慢。
????Vector由于使用了synchronized方法(線程安全)所以性能上比ArrayList要差,LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)須要停止向前或向后遍歷
????但是插入數(shù)據(jù)時(shí)只須要記載本項(xiàng)的前后項(xiàng)便可,所以插入速度較快。
?
????三、多線程幾種實(shí)現(xiàn)方法?同步有哪些實(shí)現(xiàn)方法?
????有兩種實(shí)現(xiàn)方法,分別是繼承Thread類和實(shí)現(xiàn)Runnable接口
????實(shí)現(xiàn)同步也有兩種方法,一種是用同步方法,一種是用同步塊。
????同步方法就是在方法返回類型前面加上synchronized,如
????public? void? syncnronized? add(){......}?
????同步塊就是直接寫synchronized(同步對(duì)象){......}
?
????四、數(shù)據(jù)庫連接池任務(wù)機(jī)制?JDBC如何做事務(wù)處理?
????J2EE服務(wù)器啟動(dòng)時(shí)會(huì)建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接,客戶端程序須要連接時(shí),池驅(qū)動(dòng)程序會(huì)返回一個(gè)未使用的池連接并將其記為忙。如果當(dāng)前沒有閑暇連接池,池驅(qū)動(dòng)程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定,當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動(dòng)程序?qū)⒋诉B接標(biāo)記為閑暇,其他調(diào)用就能夠使用這個(gè)連接。
????在JDBC的數(shù)據(jù)庫操縱中,一項(xiàng)事務(wù)是由一條或多條表達(dá)式所組成的一個(gè)不可分割的任務(wù)單元。我們通過提交commit()或是回滾rollback()來結(jié)束事務(wù)的操縱。
????在JDBC中,事務(wù)操縱默認(rèn)是自動(dòng)提交。我們可以通過調(diào)用setAutoCommit(false)來禁止自動(dòng)提交。之后就能夠把多個(gè)數(shù)據(jù)庫操縱的表達(dá)式作為一個(gè)事務(wù),在操縱完成后調(diào)用commit()來停止整體提交。倘若其中一個(gè)表達(dá)式操縱失敗,都不會(huì)執(zhí)行到commit(),并且將發(fā)生響應(yīng)的異常。此時(shí)就能夠在異常捕獲時(shí)調(diào)用rollback()停止回滾。這樣做可以堅(jiān)持多次更新操縱后,相關(guān)數(shù)據(jù)的一致性。
?
????五、Request對(duì)象的主要方法
????setAttribute(String name,Object)?;設(shè)置名字為name的參數(shù)值
????getAttribute(String name); 返回由name指定的屬性值
????getAttributeNames();
????getCookies();? 返回客戶端的所有cookie對(duì)象,結(jié)果是一個(gè)Cookie數(shù)組
每日一道理聰明人學(xué)習(xí),像搏擊長空的雄鷹,仰視一望無際的大地;愚笨的人學(xué)習(xí),漫無目的,猶如亂飛亂撞的無頭飛蛾;刻苦的人學(xué)習(xí),像彎彎的河流,雖有曲折,但終會(huì)流入大海;懶惰的人學(xué)習(xí),像水中的木頭,阻力越大倒退得越快。
????getHeader(String name);? 獲取HTTP協(xié)議定義的文件頭信息
?????
????getParameter(String? name);? 取得客戶端傳給服務(wù)器的name的屬性值
????getRequestURL();?? 獲取收回請(qǐng)求字符串的客戶端地址
????getSession(Boolean? create);?? 返回和請(qǐng)求相關(guān)的Session
????getServerName();?? 獲取服務(wù)器的名字
????getServerPath();?? 獲取客戶端所請(qǐng)求的路徑
?
????六、應(yīng)用服務(wù)器有哪些?
????Tomcat、JBoss、BEA的WebLogic、IBM的WebSphere
?
????七、輸入一行字符,分別統(tǒng)計(jì)其中英文字符,數(shù)字,空格和其他字符個(gè)數(shù)
public class T {public static void main(String[] args) {// TODO Auto-generated method stubString str = "ab@ C212e *5d% sDf6w";int a=0,b=0,c=0,d=0; //分別代表英文字母,數(shù)字,空格,其他字符char cStr[] = str.toCharArray();for(int i=0;i<cStr.length;i++){if((cStr[i]>='a'&&cStr[i]<='z')||(cStr[i]>='A'&&cStr[i]<='Z')){a++;}else if(cStr[i]>='0'&&cStr[i]<='9'){b++;}/*** 又學(xué)到了一個(gè)新知識(shí)!* Character 類在對(duì)象中包裝一個(gè)基本類型 char 的值* isWhitespace() 判斷是否為空白字符*/else if(Character.isWhitespace(cStr[i])){ c++;}else{d++;}}System.out.println(str.length());System.out.println("英文字母:"+a);System.out.println("數(shù)字:"+b);System.out.println("空格:"+c);System.out.println("其他字符:"+d);}}????
八、排序都有哪幾種方法?用java實(shí)現(xiàn)快速排序
????穩(wěn)定的:冒泡排序,插入排序
????不穩(wěn)定的:快速排序,選擇排序,希爾排序,組合排序,堆排序
????java代碼:待續(xù)
????九、求出100--200以內(nèi)的素?cái)?shù)
public class T {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=100;i<200;i++){boolean b = true;for(int j=2;j<i/2;j++){if(i%j==0){ //如果能被j之中的某一個(gè)數(shù)整除 則不是素?cái)?shù) b = false;}}if(b){System.out.print(i+" ");}}} }????
十、用java打印菱形
????
?
?
?
文章結(jié)束給大家分享下程序員的一些笑話語錄: PC軟件體積大,是因?yàn)橐粋€(gè)PC軟件功能往往較多,能夠滿足你一個(gè)方面的需求,而一個(gè)iphone軟件往往沒幾行代碼,干一件很小的事情,自然需要的軟件就多。就像吃西瓜和吃瓜子的來比數(shù)目,單位不同啊。
--------------------------------- 原創(chuàng)文章 By
數(shù)據(jù)和連接
---------------------------------
轉(zhuǎn)載于:https://www.cnblogs.com/jiangu66/archive/2013/06/01/3112922.html
總結(jié)
以上是生活随笔為你收集整理的数据连接java面试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF Binding
- 下一篇: “Oracle.DataAccess.C