java笔试题目(java面试题)

本人只提供题目,不提供答案,目的就是让大家自己去找答案,这样才能更加掌握,顺利通过面试。当然大家也可以把找到的认为好的答案贴在本帖子的回复里。

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. 类的加载及初始化, 关键是继承父类的子类的初始化过程。一般会出程序题,会在子类和父类中有打印语句,让你写出打印的顺序。

 

// 父静态变量-->子静态变量-->父非静态变量-->父静态代码块-->父构造函数------>子非变量-->子静态代码块-->子构造函数

public   class  AA  {

    
public static void main(String args[]) {

        E bobj 
= new E();
        System.out.println(
"-------------------------------");
        D bo 
= new E();

    }


}


class  D  {
    
int i = ff();
    
static String yy = out();
    D() 
{

        System.out.println(
"D.D called");

    }

    
    
int ff() {

        System.out.println(
"D.ff called");

        
return 47;

    }


    
static String out (){
        System.out.println(
"D.out called");
        
return "47";
    }

}


class  E  extends  D  {

    
int i = f();
    
static String yy = out();
    
int j;

    
{

        j 
= 37;

        System.out.println(
"initialization block executed");

    }


    E() 
{

        System.out.println(
"E.E called");

    }


    
final int f() {

        System.out.println(
"E.f called");

        
return 47;

    }


    
static String out (){
        System.out.println(
"E.out called");
        
return "47";
    }

}


运行结果为:

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. 子类不可以指向父类,父类可以作为子类的句柄. 并且,当父类作为子类的句柄的时候,父类实际上指向的是父类的变量,  以及父类的方法, 当子类的方法覆盖父类方法时,调用的是子类的.
例如:

 

public   class  Test1  {

 
public static void main(String[] args) {
  A test 
= new B();
  System.out.println(test.a);
  test.out();
//  test.testB(); //这句是不对的。既然是父类的引用,调用的方法就应该是父类有的方法(被覆盖的和没有被覆盖的).
  test.testA();
 }

}



 
class  A  {
  
public String a = "A";
  
public void out() {
   System.out.println(
"A.out called ");
  }

  
public void testA() {
   System.out.println(
"A.testA called ");
  }

}

 
 
class  B  extends  A {
  
public String a = "B";
  
public void out() {
   System.out.println(
"B.out called ");
  }

  
  
public void testB() {
   System.out.println(
"B.testB called ");
  }

}


 

结果如下:
A
B.out called
A.testA called

8.javaScript 弹出对话框有几种方式?

js 弹出对话框3种方式

对话框有三种

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反射机制 , 常用设计模式及同步试题)

你可能感兴趣的:(java,function,数据库连接池,Class,initialization,分布式应用)