方正很快就要有面试了,于是面试题目的讲解要提前了,方正打算面试一批人(其实
是为了防止笔试题目泄露)
oracle启动的命令
connect / as sysdba
startup pfile=/disk1/initU15.ora
tomcat的体系结构、怎么启动2个tomcat的实例,用过哪些web服务器,熟悉的操作系统,
他们是哪个公司的产品
struts工作流程、hashMap和hashtable区别;final,finally,finalize的区别;
一般用什么来解析xml,它们之间有什么区别
tomcat体系结构:
<Server>
<service>
<connector>
<engine>
<host>
<context>
host下面可以配多个虚拟主机、虚拟主机下挂多个context
engine是tomcat引擎,connector负责收到请求然后选择合适的引擎
对其进行处理
在server.xml中通过配置两个Service可以达到启动两个tomcat实例的目的,具体
见书。
struts的工作流程……请求发给ActionServlet、然后给模块控制器RequestProcessor,
然后给不同的Action
解析XML:DOM和SAX
-------------------------------------------------
面向对象的特征?
Overload和Override的区别,OverLoaded的方法可否改变返回值的类型?
String与StringBuffer的区别:
String a = "" ;
for(i = 0 ; i < 9 ; i ++)
{
a += i ;
a = a + i ; //产生了一个新的String对象,String的内容是不可以改变的
//只能够通过产生新对象的方式来做
}
java的多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法:
public class MyProcessor implement Runnable
{
public void run()
{}
public static void main(String[] args)
{
Runnable processor = new MyProcessor() ;
new Thread(processor).start();
//这种方式可以多个线程启动同一个对象
}
}
public class MyThread extends Thread
{
public void run()
{}
public static void main(String[] args)
{
new MyThread().start() ;
//这种方式只能多个线程启动多个不同的对象,各自都不相同。
}
}
同步:
同步代码块
synchronized(obj)
{}
同步方法
public synchronized setAge()
{}
JSP有哪些内置对象?
request、response、session、application、config、page、pageContext、exception、out、
通常要把session在jsp页面上设置为false,就是不创建session,不然如果访问的人太多,性能会
严重受损
pageContext代表着整个jsp页面的运行时信息,通过pageContext可以得到其他所有8个内置对象。
page就是转译成Servlet时候的this,表示当前的servlet实例。
out是JspWriter
config是ServletConfig
exception:只有在isErrorPage=errorPage的时候这个对象才可以使用。
简述你对Struts框架的理解:Action中处理业务逻辑、jsp页面负责显示,Action内部其实
也是应该调用一个业务层的模块
写一个Singleton模式的例子
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
第二种形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}
这里注意张老师书上的第七章里面的session防止表单重复提交就是用了这种单例模式。
列举出常用的系统异常:(也就是RuntimeException的子类)
nullPointerException 、ArithmethicException、IndexOutOfBoundsException、
这种异常的特点,不用显示的捕获。
get、post、put、delete、trace、option等都是http的请求方式
get方法中不传送实体(它没有请求体)、get方法传递参数量不能超过1K,因为只能在url后面跟
查询字符串传参,由于url长度限制,用户名和密码提交的时候不允许你用get!!表单不填写method
的时候默认的是get提交
===========================================================================
Context ctx = new InitialContext();
Context ctxd = ctx.lookup("java:env/comp");
DataSource ds = (DataSource)ctxd.lookup("jdbc/mydb");
Connection conn = ds.getConnection() ;
java -Djndi.provide_url=java:env/comp MyJNDI
如果像上面那样输入命令的话,这时通过Context ctx = new InitialContext()语句得到的
ctx就可以直接通过lookup("jdbc/mydb")的方式得到数据源了。