版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Word - 13 -java面試題目_java電話面試題目 java電話面試題目會有哪些內(nèi)容呢?下面就由為大家介紹一下java電話面試題目的文章,歡迎閱讀。 java電話面試題目篇1 1、有哪些數(shù)據(jù)類型 Java定義了8種容易類型:byte、short、int、long、char、float、double和boolean。 2、有幾種拜訪機(jī)制? 同一個類 同一個包 不同包的子類 不同包的非子類 private yes default yes yes protected yes yes yes public yes yes yes yes 3、JDBC的過程 1. 加載JDBC驅(qū)動程序 Cla
2、ss.forName(com.mysql.jdbc.Driver);/MySQL的加載JDBC驅(qū)動程序的辦法 Class.forName(org.postgresql.Driver);/PostgreSQL的加載JDBC驅(qū)動程序的辦法 Class.forName(oracle.jdbc.driver.OracleDriver);/Oracle的加載JDBC驅(qū)動程序的辦法 Class.forName(.DB2Driver);/DB2的加載JDBC驅(qū)動程序的辦法 Class.forName(com.sybase.jdbc2.jdbc.SybDriver);/Sybase的加載JDBC驅(qū)動程序的辦法
3、 Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);/SQLServer的加載JDBC驅(qū)動程序的辦法 2. 建立數(shù)據(jù)庫銜接 與MySQL數(shù)據(jù)庫建立銜接的辦法:Connection con=DriverManager.getConnection(jdbc:mysql:/MyDbComputerNameOrIP:3306/myDBName,ID,Pwd); 與PostgreSQL數(shù)據(jù)庫建立銜接的辦法:Connection con=DriverManager.getConnection(jdbc:postgresql:/MyDbC
4、omputerNameOrIP:3306/myDBName,ID,Pwd); 與Oracle數(shù)據(jù)庫建立銜接的辦法:Connection con=DriverManager.getConnection(jdbc:oracle:thin:MyDbComputerNameOrIP:1521:ORCL,ID,Pwd); 與Sybase數(shù)據(jù)庫建立銜接的辦法:Connection con=DriverManager.getConnection(jdbc:sybase:Tds:MyDbComputerNameOrIP:2638,ID,Pwd); 與SQL Server數(shù)據(jù)庫建立銜接的辦法:Connectio
5、n con=DriverManager.getConnection(jdbc:microsoft:sqlserver:/MyDbComputerNameOrIP:1433;databaseName=master,ID,Pwd); 與DB1數(shù)據(jù)庫建立銜接的辦法:Connection con=DriverManager.getConnection(jdbc:db2:/MyDbComputerNameOrIP/myDBName,ID,Pwd); 3. 創(chuàng)建并落實(shí)SQL語句 用Connection.createStatement()辦法來創(chuàng)建一個Statement對象。Statement對象落實(shí)一個查
6、詢并從DBMS返回一個包含響應(yīng)結(jié)果的ResultSet對象。 4. 處理從DBMS返回的數(shù)據(jù) 查詢處理后從DBMS收到的查詢結(jié)果賦給java.sql.ResultSet對象,該對象包含一些用來從結(jié)果集中獵取數(shù)據(jù)存到Java變量中的辦法,以便舉行進(jìn)一步處理。 5. 關(guān)閉數(shù)據(jù)庫銜接 使用與數(shù)據(jù)庫有關(guān)的對象所消耗的內(nèi)存是很大的,因此在完成數(shù)據(jù)庫拜訪后要準(zhǔn)時關(guān)閉數(shù)據(jù)庫銜接,同時還應(yīng)關(guān)閉Connection中返回的內(nèi)容,包括Statement對象和ResultSet對象。 4、preparStatement和一般statement的區(qū)別 5、servlet的生命周期 1. 加載 / 實(shí)例化: Servl
7、et容器查找并加載全部的servlet類.當(dāng)Servlet引擎啟動時或者說在客戶http哀求托付時實(shí)例一個Servle或多個Servlet類 2. 初始化 這里在客戶哀求托付代理之前,使用init()辦法舉行初始化. 3. 哀求處理 當(dāng)時始化完成之后這時就能夠處理客戶http哀求了.這里使用service()這個辦法來完成并把其作參數(shù)舉行傳遞,這里的參數(shù)包含了httpServletRequest()和httpServletResponse()兩個辦法分離對應(yīng)于哀求和回應(yīng)它們也會拋出servletException和IOException然后針對不同的http哀求(四個上面說過,get,post
8、,put,head)由doGet(),doPost(),doPut(),doHead(),這四個不同的辦法塊里的處理單元來處理. 4. 刪除Sevlet 有時出于一些緣由需要對Sevlet容器中的servlet實(shí)例舉行刪除,這時就能夠調(diào)用 destroy() 辦法舉行, 落實(shí)了這個辦法之后,這時Sevlet就不能再落實(shí)另外客戶機(jī)的哀求了.而這時它也就成了JAVA垃圾回收機(jī)的回收對象了! 以上的 4個步驟就是一個servlet的生命周期 java電話面試題目篇2 1、Servlet里的set辦法(setAttribute) 2、JSP有哪些缺省對象 3、怎么樣創(chuàng)建,銷毀session 4、用到什
9、么結(jié)果集?細(xì)述一下ArrayList ArrayList是List接口的一個可變長數(shù)組實(shí)現(xiàn)。實(shí)現(xiàn)了全部List接口的操作,并允許存儲null值。除了沒有舉行同步,ArrayList基本等同于Vector。在Vector中幾乎對全部的辦法都舉行了同步,但ArrayList僅對writeObject和readObject舉行了同步,另外比如add(Object)、remove(int)等都沒有同步。 1.存儲 ArrayList使用一個Object的數(shù)組存儲元素。 private transient Object elementData; ArrayList實(shí)現(xiàn)了Java.io.Serializa
10、ble接口,這兒的transient標(biāo)示這個屬性不需要自動序列化。下面會在writeObject()辦法中具體講解為什么要這樣作。 2.add和remove public boolean add(Object o) ensureCapacity(size + 1); / Increments modCount! elementDatasize+ = o; return true; 注重這兒的ensureCapacity()辦法,它的作用是保證elementData數(shù)組的長度能夠容納一個新元素。在自動變長機(jī)制中將具體講解。 public Object remove(int index) Rang
11、eCheck(index); modCount+; Object oldValue = elementDataindex; int numMoved = size - index - 1; if (numMoved 0) System.arraycopy(elementData, index+1, elementData, index, numMoved); elementData-size = null; / Let gc do its work return oldValue; RangeCheck()的作用是舉行邊界檢查。因?yàn)锳rrayList采納一個對象數(shù)組存儲元素,所以在刪除一個元素
12、時需要把后面的元素前移。刪除一個元素時只是把該元素在elementData數(shù)組中的引用置為null,詳細(xì)的對象的銷毀由垃圾收集器負(fù)責(zé)。 modCount的作用將在下面的iterator()中的同步中說明。 注:在前移時使用了System提供的一個有用辦法:arraycopy(),在本例中能夠看出System.arraycopy()辦法能夠?qū)ν粋€數(shù)組舉行操作,這個辦法是一個native辦法,假如對同一個數(shù)組舉行操作時,會首先把從源部分拷貝到一個暫時數(shù)組,在把暫時數(shù)組的元素拷貝到任務(wù)位置。 3.自動變長機(jī)制 在實(shí)例化一個ArrayList時,你能夠指定一個初始容量。這個容量就是elementDa
13、ta數(shù)組的初始長度。假如你使用: ArrayList list = new ArrayList(); 則使用缺省的容量:10。 public ArrayList() this(10); ArrayList提供了四種add()辦法, public boolean add(Object o) public void add(int index, Object element) public boolean addAll(Collection c) public boolean addAll(int index, Collection c) 在每一種add()辦法中,都首先調(diào)用了一個ensureCa
14、pacity(int miniCapacity)辦法,這個辦法保證elementData數(shù)組的長度不小于miniCapacity。ArrayList的自動變長機(jī)制就是在這個辦法中實(shí)現(xiàn)的。 public void ensureCapacity(int minCapacity) modCount+; int oldCapacity = elementData.length; if (minCapacity oldCapacity) Object oldData = elementData; int newCapacity = (oldCapacity * 3)/2 + 1; if (newCapa
15、city minCapacity) newCapacity = minCapacity; elementData = new ObjectnewCapacity; System.arraycopy(oldData, 0, elementData, 0, size); 從這個辦法實(shí)現(xiàn)中能夠看出ArrayList每次擴(kuò)容,都擴(kuò)大到本來大小的1.5倍。 每種add()辦法的實(shí)現(xiàn)都大同小異,下面給出add(Object)辦法的實(shí)現(xiàn): public boolean add(Object o) ensureCapacity(size + 1); / Increments modCount! element
16、Datasize+ = o; return true; 4.iterator()中的同步 在父類AbstractList中定義了一個int型的屬性:modCount,記錄了ArrayList結(jié)構(gòu)性變化的次數(shù)。 protected transient int modCount = 0; 在ArrayList的全部涉及結(jié)構(gòu)變化的辦法中都增強(qiáng)modCount的值,包括:add()、remove()、addAll()、removeRange()及clear()辦法。這些辦法每調(diào)用一次,modCount的值就加1。 注:add()及addAll()辦法的modCount的值是在其中調(diào)用的ensureCa
17、pacity()辦法中增強(qiáng)的。 AbstractList中的iterator()辦法(ArrayList直接繼承了這個辦法)使用了一個私有內(nèi)部成員類Itr,生成一個Itr對象(Iterator接口)返回: public Iterator iterator() return new Itr(); Itr實(shí)現(xiàn)了Iterator()接口,其中也定義了一個int型的屬性:expectedModCount,這個屬性在Itr類初始化時被給予ArrayList對象的modCount屬性的值。 int expectedModCount = modCount; 注:內(nèi)部成員類Itr也是ArrayList類的一個
18、成員,它能夠拜訪全部的AbstractList的屬性和辦法。理解了這一點(diǎn),Itr類的實(shí)現(xiàn)就簡單理解了。 在Itr.hasNext()辦法中: public boolean hasNext() return cursor != size(); 調(diào)用了AbstractList的size()辦法,比較當(dāng)前光標(biāo)位置是否越界。 在Itr.next()辦法中,Itr也調(diào)用了定義在AbstractList中的get(int)辦法,返回當(dāng)前光標(biāo)處的元素: public Object next() try Object next = get(cursor); checkForComodification();
19、lastRet = cursor+; return next; catch(IndexOutOfBoundsException e) checkForComodification(); throw new NoSuchElementException(); 注重,在next()辦法中調(diào)用了checkForComodification()辦法,舉行對修改的同步檢查: final void checkForComodification() if (modCount != expectedModCount) throw new ConcurrentModificationException(); 現(xiàn)
20、在對modCount和expectedModCount的作用應(yīng)當(dāng)十分清晰了。在對一個集合對象舉行跌代操作的同時,并不限制對集合對象的元素舉行操作,這些操作包括一些可能引起跌代錯誤的add()或remove()等危急操作。在AbstractList中,使用了一個容易的機(jī)制來規(guī)避這些風(fēng)險。這就是modCount和expectedModCount的作用所在。 5.序列化支持 ArrayList實(shí)現(xiàn)了java.io.Serializable接口,所以ArrayList對象能夠序列化到持久存儲介質(zhì)中。ArrayList的主要屬性定義如下: private static final long serial
21、VersionUID = 8683452581122892189L; private transient Object elementData; private int size; 能夠看出serialVersionUID和size都將自動序列化到介質(zhì)中,但elementData數(shù)組對象卻定義為transient了。也就是說ArrayList中的全部這些元素都不會自動系列化到介質(zhì)中。為什么要這樣實(shí)現(xiàn)?由于elementData數(shù)組中存儲的元素其實(shí)僅是對這些元素的一個引用,并不是真正的對象,序列化一個對象的引用是毫無意義的,由于序列化是為了反序列化,當(dāng)你反序列化時,這些對象的引用已經(jīng)不行能指向本
22、來的對象了。所以在這兒需要手工的對ArrayList的元素舉行序列化操作。這就是writeObject()的作用。 private synchronized void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException / Write out element count, and any hidden stuff s.defaultWriteObject(); / Write out array length s.writeInt(elementData.length); / Write out all elements in the proper order. for (int i=0; i s.writeObject(elementData); 這樣元素數(shù)組elementData中的所以元素對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度二零二五年度虛擬偶像肖像權(quán)許可使用合同
- 二零二五年度農(nóng)業(yè)科技離職解除合同證明文件
- 2025年度共享單車租賃誠意金結(jié)算合同
- 2025年度電動滑板車專利技術(shù)許可轉(zhuǎn)讓合同
- 2025年度自愿離婚協(xié)議書模板及離婚后子女撫養(yǎng)與教育保障合同
- 消防專項(xiàng)安全施工方案
- 熱網(wǎng)隱患整改方案
- 二零二五年度傳統(tǒng)中醫(yī)技藝傳承合作合同4篇
- 二零二五年度不銹鋼門體表面處理加工合同2篇
- 人口老齡化應(yīng)對策略-第9篇-深度研究
- 人力資源 -人效評估指導(dǎo)手冊
- 大疆80分鐘在線測評題
- 2023年成都市青白江區(qū)村(社區(qū))“兩委”后備人才考試真題
- 2024中考復(fù)習(xí)必背初中英語單詞詞匯表(蘇教譯林版)
- 海員的營養(yǎng)-1315醫(yī)學(xué)營養(yǎng)霍建穎等講解
- 《現(xiàn)代根管治療術(shù)》課件
- 肩袖損傷的護(hù)理查房課件
- 2023屆北京市順義區(qū)高三二模數(shù)學(xué)試卷
- 公司差旅費(fèi)報銷單
- 2021年上海市楊浦區(qū)初三一模語文試卷及參考答案(精校word打印版)
- 八年級上冊英語完形填空、閱讀理解100題含參考答案
評論
0/150
提交評論