Java面试题
1、什么是存储过程和如何编写
1、注册Jdbc驱动程序的三种方式
1、用JDBC如何调用存储过程
1、JDBC中的preparedStatement相比Statement的好处
1. 写一个用jdbc连接并访问oracle数据的程序代码
2、ame的作用?为什么要用?
答:调用该访问返回一个以字符串指定类名的类的对象。
3、大数据量下的分页解决方法。
4、用 JDBC 查询学生成绩单, 把主要代码写出来.
5、这段代码有什么不足之处?
try {
Connection conn = ...;
Statement stmt = ...;
ResultSet rs = uteQuery("select * from table1");
while(()) {
}
} catch(Exception ex) {
}
36、说出数据连接池的工作机制是什么?
J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
4、为什么要用 ORM? 和 JDBC 有何不一样?
5. XML部分
1、xml有哪些解析技术?区别是什么?
答:有DOM,SAX,STAX等
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的'顺序访问
STAX:Streaming ApI for XML (StAX)
讲解这些区别是不需要特别去比较,就像说传智播客与其他培训机构的区别时,我们只需说清楚传智播客有什么特点和优点就行了,这就已经间接回答了彼此的区别。
2、你在项目中用到了xml技术的哪些方面?如何实现的?
答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。
3、用jdom解析xml文件时如何解决中文问题?如何解析?
答:看如下代码,用编码方式加以解决
package test;
import .*;
public class DOMTest
{
private String inFile = "c:"
private String outFile = "c:"
public static void main(String args[])
{
new DOMTest();
}
public DOMTest()
{
try
{
mentBuilder builder =
nstance()ocumentBuilder();
ment doc = ocument();
ent root = teElement("老师");
ent wang = teElement("王");
ent liu = teElement("刘");
ndChild(teTextNode("我是王老师"));
ndChild(wang);
ndChild(root);
sformer transformer =
nstance()ransformer();
utputproperty(DING, "gb2312");
utputproperty(NT, "yes");
sform(new ource(doc),
new
amResult(outFile));
}
catch (Exception e)
{
tln (essage());
}
}
}
4、编程用JAVA解析XML的方式.
答:用SAX方式解析XML,XML文件如下:
王小明
信息学院
6258113
男,1955年生,博士,95年调入海南大学
事件回调类
import .*;
import table;
import .*;
public class SAXHandler extends HandlerBase
{
private Hashtable table = new Hashtable();
private String currentElement = null;
private String currentValue = null;
public void setTable(Hashtable table)
{
e = 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 (ls(name))
(currentElement, currentValue);
}
}
JSp内容显示源码,:
<%@ page errorpage=
contentType=text/html;charset=GB2312 %>