设为首页 加入收藏

TOP

Java基础华为面试题 附带网友分享的面试题答案(一)
2014-11-23 19:24:15 来源: 作者: 【 】 浏览:24
Tags:Java 基础 华为 试题 附带 网友 分享 答案

1 面向对象的特征有哪些方面


抽象,封装,多态,继承


2 String是最基本的数据类型吗


no


3 int 和 Integer 有什么区别


int 是基本数据类型,Integer是包装类


4 String 和StringBuffer的区别


String定义的长度是不可充的,而如果要对字符进行增加,逆序的话就要用StringBuffer


5运行时异常与一般异常有何异同?


异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。


6 说出一些常用的类,包,接口,请各举5个



7 说出ArrayList,Vector, LinkedList的存储性能和特性


ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。


8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。


以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。


public class ThreadTest1{


private int j;


public static void main(String args[]){


ThreadTest1 tt=new ThreadTest1();


Inc inc=tt.new Inc();


Dec dec=tt.new Dec();


for(int i=0;i<2;i++){


Thread t=new Thread(inc);


t.start();


t=new Thread(dec);


t.start();


}


}


private synchronized void inc(){


j++;


System.out.println(Thread.currentThread().getName()+”-inc:”+j);


}


private synchronized void dec(){


j–;


System.out.println(Thread.currentThread().getName()+”-dec:”+j);


}


class Inc implements Runnable{


public void run(){


for(int i=0;i<100;i++){


inc();


}


}


}


class Dec implements Runnable{


public void run(){


for(int i=0;i<100;i++){


dec();


}


}


}


}


9.JSP的内置对象及方法。


request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。


response response


表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)


out out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。


pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。


session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息


application applicaton 表示一个javax.servlet.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息


config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。


page page表示从该页面产生的一个servlet实例


10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。


参见课程中socket通讯例子。


11说出Servlet的生命周期,并说出Servlet和CGI的区别。


Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。


与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。



Servlet的核心框架是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口,


javax.GenericServlet实现了javax.servlet.Servlet接口和javax.servlet.ServletConfig接口,


而javax.servlet..HttpServlet扩展了javax.GenericServlet


12.EJB是基于哪些技术实现的 并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。



13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?



14.说出数据连接池的工作机制是什么


javax.sql.DataSource接口,负责建立与数据库的链接,在应用程序中访问数据库是不必编写连接数据库的代码,可以直接从数据源获得数据库连接.



在DataSource中事先建立了多个数据库连接,这些数据库连接保存在连接池中.Java访问数据库时,只需从连接池中取出空闲状态的数据连接;,当程序访问数据库结束,再将数据库的连接放回连接池.




JDBC连接数据库的步骤:


(1) 装载并注册数据库的JDBC驱动程序.


(2) 建立与数据库的链接.


(3) 创建Statement对象,准备调用SQL语句.


(4) 执行SQL语句返回ResultSet结果记录集.


(5) 依次关闭Restult,Statement.Connection对象.



15同步和异步有何异同,在什么情况下分别使用他们?举例说明。



16应用服务器有那些?weblogic,websphere,tomcat,jboss



17你所知道的集合类都有哪些?主要方法?



18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。



19.说出在JSP页面里是怎么分页的


页面需要保存以下参数:


总行数:根据sql语句得到总行数


每页显示行数:设定值


当前页数:请求参数


页面根据当前页数和每页行数计算出当前

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORACLE十问 下一篇oracle面试题(一)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: