本人只提供题目,不提供答案,目的就是让大家自己去找答案,这样才能更加掌握,顺利通过面试。当然大家也可以把找到的认为好的答案贴在本帖子的回复里。
1. jsp和servlet有什么相同和不同点? 另外他们有什么联系?JSP中有哪些yinch
2. java中,什么是重载(overload)?什么是覆盖(override)?
3. CORBA是什么? RMI是什么? 有何用处?
答:RMI: http://baike.baidu.com/view/99017.htm
RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。
简单地说,这样使原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,由于J2EE是分布式程序平台,它一RMI机制实现程序组件在不同操作系统之间的通信。
比如,一个EJB可以通过RMI调用Web上另一台机器上的EJB远程方法。
RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,
其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。
但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。 ................
另: http://www.matrix.org.cn/articleList.shtml?kid=12&sid=33
4. 类的加载及初始化, 关键是继承父类的子类的初始化过程。一般会出程序题,会在子类和父类中有打印语句,让你写出打印的顺序。
运行结果为:
D.out called
E.out called
D.ff called
D.D called
E.f called
initialization block executed
E.E called
-------------------------------
D.ff called
D.D called
E.f called
initialization block executed
E.E called
5。java中怎么样实现序列化? 在数据传输中文什么要将数据结构序列化(即有何作用)?
6.java中界面(swing)的几种布局的特点。
7. 子类不可以指向父类,父类可以作为子类的句柄. 并且,当父类作为子类的句柄的时候,父类实际上指向的是父类的变量, 以及父类的方法, 当子类的方法覆盖父类方法时,调用的是子类的.
例如:
结果如下:
A
B.out called
A.testA called
8.javaScript 弹出对话框有几种方式?
对话框有三种
1:只是提醒,不能对脚本产生任何改变;
2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断
3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片
下面我们分别演示:
%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>三种弹出对话框的用法实例</title>
<script language="javascript">
function ale()
{//这个基本没有什么说的,就是弹出一个提醒的对话框
alert("我敢保证,你现在用的是演示一");
}
function firm()
{//利用对话框返回的值(true 或者 false)
if(confirm("你确信要转去天轰穿的博客?"))
{//如果是true ,那么就把页面转向thcjp.cnblogs.com
location.href="http://thcjp.cnblogs.com";
}
else
{//否则说明下了,赫赫
alert("你按了取消,那就是返回false");
}
}
function prom()
{
var name=prompt("请输入您的名字","");//将输入的内容赋给变量 name ,
//这里需要注意的是,prompt有两个参数,前面是提示的话,后面是当对话框出来后,在对话框里的默认值
if(name)//如果返回的有内容
{
alert("欢迎您:"+ name)
}
}
</script>
</head>
<body>
<p>对话框有三种</p>
<p>1:只是提醒,不能对脚本产生任何改变;</p>
<p>2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if else 判断 </p>
<p>3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片 </p>
<p>下面我们分别演示:</p>
<p>演示一:提醒 对话框</p>
<p>
<input type="submit" name="Submit" value="提交" onclick="ale()" />
</p>
<p>演示二:确认对话框 </p>
<p>
<input type="submit" name="Submit2" value="提交" onclick="firm()" />
</p>
<p>演示三:要求用户输入,然后给个结果</p>
<p>
<input type="submit" name="Submit3" value="提交" onclick="prom()" />
</p>
</body>
9. tomcate中有没有数据库连接池?
答: 有. 如下:
第一步:
启动Tomcat,打开IE在地址栏内输入http://localhost:8080/admin 进入Tomcat的管理界面;点击右边的Data Sources 在右上角的下拉菜单中选择Create New Data Source 在下边的输入框中输入需要的配置信息。
JNDI Name:jdbc/XXX(XXX为自己所命的名字)
Data Source URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb(连接的数据名)
JDBC Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver
User Name:连接数据库的用户名
Password: 数据库密码
Max. Active Connections: 最大连接数
Max. Idle Connections: 是最大的空闲连接数
第2步:配置tomcat(添加类)
首先要下载安装sqlserver-jdbc-驱动,然后将其lib下的三个jar文件放到
tomcat/common/lib下。
3 在server。xml 的相应context 下加入
<ResourceLink name="jdbc/mybase" global="jdbc/mybase" type="javax.sql.DataSourcer"/>
4
注意要在每个WEB应用程序的web.xml文件中都加入
<resource-ref>
<description>SqlServer Datasource example</description>
<res-ref-name>jdbc/SqlServerDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<body>
<%
Context ctx = new InitialContext();
Connection conn=null;
ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/test");
conn = ds.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from T_Student";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<%
out.print(rs.getString(1));
out.print(rs.getString(2));
out.print(rs.getString(3));
}%>
<%
out.print("数据库操作成功,恭喜你");
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
10.用JAVA写出如何连接数据库的代码,并执行一个查询操作, 然后再执行一个调用存储过程的语句.
11. 存储过程的语句, 触发的语句.
12.log4j的日志信息的级别有几种?
答:现7种. 等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息
http://baike.baidu.com/view/25347.htm
13.js可以操作本地文件吗? js创建对象的方式有几种?
答: 可以操作本地文件。
JS创建对象有至少以下两种方法:
1、如上所说,用new关键字。比如new Number(100),new String("string"),new Object(),new customFunction()等。
这种方法在手册上有很详细的说明,这里就不再多说。
2、还可以用花括号括起来。比如
var o = {
m1:'never-online.net',
m2:'blog'
}
这种方法就比较省时省力了。利用这种方法来创建对象,需要注意的就是,
每个成员后有一个":"冒号,冒号后是该成员的内容。
其次就是,成员内容后有一个逗号",",但仅最后一个成员是没有逗号的。
五、函数(Function)。
函数在JS里的作用有两个,
一是做为一个普通函数一样被调用。
二是可以做为一个"类"(class)来使用。
第一条就没有什么可说明的了,手册上说得很清楚了,第二条就简要说明一下。
上面第四点里说到对象,除了创建JS本身的对象之外,需要创建一个类的实例,那么就必须先把“类”写出来。这个类就是Function。
比如:
<script>
function myclass() {
this.m1="member--m1";
this.m2="member--m2";
}
var o = new myclass();
</script>
六、关于this和new关键字。
也许有些朋友还不太清楚这个this的作用是什么。这是面向对象里所提及的内容
这里也简单说一下,this就是“自己”的意思,而上面的的“自己”,就是指myclass。
举个例子来说myclass这个类就是一个模具,模具上有一个名字(m1),还有一个螺丝(m2),而new关键字就可以理解成“生产”。那么就可以把上面的代码理解成:
(模具 myclass)function myclass() {
(模具myclass的名字是)this.m1="member--m1"
(模具myclass上面的螺丝是)this.m2="member--m2";
}
按照模具myclass的样式生产一个产品o
var o= new myclass();
这个刚出炉的产品就有模具myclass的所有特性了。当然,我们可以按照这个模具的样式生产成千上万个。
如果我们愿意,我们还可以修改一下他的属性,比如,我生产完一个产品,想把他的名字换了。我们也可以这么做
var product = new myclass();
product.m1 = "newProduct"
14.
待续......(下期: 线程, java反射机制 , 常用设计模式及同步试题)