Java面試題

時(shí)間:2022-07-12 04:56:02 面試 我要投稿
  • 相關(guān)推薦

Java面試題

1、什么是存儲過(guò)程和如何編寫(xiě)

Java面試題

1、注冊Jdbc驅動(dòng)程序的三種方式

1、用JDBC如何調用存儲過(guò)程

1、JDBC中的preparedStatement相比Statement的好處

1. 寫(xiě)一個(gè)用jdbc連接并訪(fǎng)問(wèn)oracle數據的程序代碼

2、Class.forName的作用?為什么要用?

答:調用該訪(fǎng)問(wèn)返回一個(gè)以字符串指定類(lèi)名的類(lèi)的對象。

3、大數據量下的分頁(yè)解決方法。

4、用 JDBC 查詢(xún)學(xué)生成績(jì)單, 把主要代碼寫(xiě)出來(lái).

5、這段代碼有什么不足之處?

try {

Connection conn = ...;

Statement stmt = ...;

ResultSet rs = stmt.executeQuery("select * from table1");

while(rs.next()) {

}

} catch(Exception ex) {

}

36、說(shuō)出數據連接池的工作機制是什么?

J2EE服務(wù)器啟動(dòng)時(shí)會(huì )建立一定數量的池連接,并一直維持不少于此數目的池連接?蛻(hù)端程序需要連接時(shí),池驅動(dòng)程序會(huì )返回一個(gè)未使用的池連接并將其表記為忙。如果當前沒(méi)有空閑連接,池驅動(dòng)程序就新建一定數量的連接,新建連接的數量有配置參數決定。當使用的池連接調用完成后,池驅動(dòng)程序將此連接表記為空閑,其他調用就可以使用這個(gè)連接。

4、為什么要用 ORM? 和 JDBC 有何不一樣?

5. XML部分

1、xml有哪些解析技術(shù)?區別是什么?

答:有DOM,SAX,STAX等

DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問(wèn)題是由DOM的樹(shù)結構所造成的,這種結構占用的內存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內存,適合對XML的隨機訪(fǎng)問(wèn)SAX:不現于DOM,SAX是事件驅動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。當遇到像文件開(kāi)頭,文檔結束,或者標簽開(kāi)頭與標簽結束時(shí),它會(huì )觸發(fā)一個(gè)事件,用戶(hù)通過(guò)在其回調事件中寫(xiě)入處理代碼來(lái)處理XML文件,適合對XML的順序訪(fǎng)問(wèn)

STAX:Streaming ApI for XML (StAX)

講解這些區別是不需要特別去比較,就像說(shuō)傳智播客與其他培訓機構的區別時(shí),我們只需說(shuō)清楚傳智播客有什么特點(diǎn)和優(yōu)點(diǎn)就行了,這就已經(jīng)間接回答了彼此的區別。

2、你在項目中用到了xml技術(shù)的哪些方面?如何實(shí)現的?

答:用到了數據存貯,信息配置兩方面。在做數據交換平臺時(shí),將不能數據源的數據組裝成XML文件,然后將XML文件壓縮打包加密后通過(guò)網(wǎng)絡(luò )傳送給接收者,接收解密與解壓縮后再同XML文件中還原相關(guān)信息進(jìn)行處理。在做軟件配置時(shí),利用XML可以很方便的進(jìn)行,軟件的各種配置參數都存貯在XML文件中。

3、用jdom解析xml文件時(shí)如何解決中文問(wèn)題?如何解析?

答:看如下代碼,用編碼方式加以解決

package test;

import java.io.*;

public class DOMTest

{

private String inFile = "c:\\people.xml"

private String outFile = "c:\\people.xml"

public static void main(String args[])

{

new DOMTest();

}

public DOMTest()

{

try

{

javax.xml.parsers.DocumentBuilder builder =

javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();

org.w3c.dom.Document doc = builder.newDocument();

org.w3c.dom.Element root = doc.createElement("老師");

org.w3c.dom.Element wang = doc.createElement("王");

org.w3c.dom.Element liu = doc.createElement("劉");

wang.appendChild(doc.createTextNode("我是王老師"));

root.appendChild(wang);

doc.appendChild(root);

javax.xml.transform.Transformer transformer =

javax.xml.transform.TransformerFactory.newInstance().newTransformer();

transformer.setOutputproperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");

transformer.setOutputproperty(javax.xml.transform.OutputKeys.INDENT, "yes");

transformer.transform(new javax.xml.transform.dom.DOMSource(doc),

new

javax.xml.transform.stream.StreamResult(outFile));

}

catch (Exception e)

{

System.out.println (e.getMessage());

}

}

}

4、編程用JAVA解析XML的方式.

答:用SAX方式解析XML,XML文件如下:

王小明

信息學(xué)院

6258113

男,1955年生,博士,95年調入海南大學(xué)

事件回調類(lèi)SAXHandler.java

import java.io.*;

import java.util.Hashtable;

import org.xml.sax.*;

public class SAXHandler extends HandlerBase

{

private Hashtable table = new Hashtable();

private String currentElement = null;

private String currentValue = null;

public void setTable(Hashtable table)

{

this.table = table;

}

public Hashtable getTable()

{

return table;

}

public void startElement(String tag, AttributeList attrs)

throws SAXException

{

currentElement = tag;

}

public void characters(char[] ch, int start, int length)

throws SAXException

{

currentValue = new String(ch, start, length);

}

public void endElement(String name) throws SAXException

{

if (currentElement.equals(name))

table.put(currentElement, currentValue);

}

}

JSp內容顯示源碼,SaxXml.jsp:

<%@ page errorpage=Errpage.jsp

contentType=text/html;charset=GB2312 %>


99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆