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