爱易网页
Java教程
j2ee软件工程师面试题
日期:2014-05-19 浏览次数:20790 次
j2ee程序员面试题
1、 几种服务器的区别及何时应用?为什么?(如weblogic,Tomat等等) Joss、tomcat、weblogic、websphere Web服务器:tomcat主要作用发布web应用程序 企业服务器:主要发布企业级应用程序,打包程jar、ear、war 2、 使用Jms、socket的好处及它的用法? Jms: 异步通信 Socket: 基于TCP、UDP的即时通信 3:谈谈你所了解的设计模式,说出去作用; a、创建型模式 Singleton: 它是一种创建型的设计模式。解决的是实例化对象个数的问题,比如抽象工厂中的工厂、对象池等,其他创建型模式解决的都是new所带来的耦合关系。 Factory Method: 需要一个额外的工厂类来负责实例化“一边对象”。 Abstract factory: 创建一系列相互依赖的对象,并能在运行时改变系列。 b、结构型模式 Facade:注重简化接口,屏蔽各子系统的复杂性,提供更高层接口供客户访问。 Proxy:注重假借接口,通过增加间接代理,实现更多控制,屏蔽复杂性。 c、行为型模式 Observer:注重封装对象通知,支持通信对象的变化,实现对象状态改变,通知依赖它的对象并更新。 4、:tomcat5和tomcat6的区别。一个项目中,我们为什么要使用tomcat5或是tomcat6. 区别: a、首先是目录的不同:Tomcat6.x在目录上最大的区别就是将 lib 包直接置于 HOME/lib 下,而tomcat 5.x 系列版本是分HOME/common,HOME/share,HOME/server 三个包存放的. common目录中:存放Tomcat服务器和所有Web应用都能访问的JAR share目录中: 存放所有web应用都能访问的,但tomcat不能访问的。 server目录中:存放Tomcat 服务器需要的但Web应用不能访问的JAR,另外该目录下webapps存放Tomcat 自带的APP-admin和manager两个应用。 b、bin文件夹下的启动文件不同了。 c、tomcat5.x基于Tomcat3.x,Tomcat4.x,遵循新的Servlet2.4,jsp2.0规范。他最大的特点是就是支持JDK5.0。tomcat5.x是个总结,改进版本,因为有了3.x,4.x作基础,加上使用JDK5.0使tomcat在性能上有了突飞猛进的发展,备受大家欢迎。 tomcat6.x是目前最新的版本。遵循新的Servlet2.5,jsp2.1规范。该版本增加了很多新特性。主要有:高级的IO功能:采用APR或NIO HTTP连接进行异步IO操作; 组件功能:可以使用ant-fextras.xml的方式为tomcat添加新的组件。 5:tomcat、weblogic的调优 a、禁用DNS查询 当web应用程序要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。 DNS查询需要占用网络,并且包括可能从很远的服务器或者不起作用的服务器上获取对应IP的过程,这样会耗费一定的时间。为了消除DNS对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLoopups参数值为”false”; b、调整线程数 通过修改应用程序的连接器(connector)中的处理请求的线程数。Tomcat使用线程池加速响应速度来处理请求。 6:你对java中的socket编程了解多少? Socket是网络上运行的两个程序间双向通讯的一端,他既可以使接收请求,也可以是发送请求,利用它可以较方便地编写网络上数据的传递。 在java中,利用Socket方法,可以实现两台计算机之间的通讯。Socket可理解为客户端或服务器端的一个非凡的对象,这个对象有两个重要的方法,一个是getInputStream方法,另一个是getOutputStream方法。getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到的输入流实际上是从服务器端发出的数据流。getOutputStream方法得到一个输出流,客户端Socket对象上的getOutputStream方法返回的输出流就是将要发送到服务器端的数据流。(其实是一个缓冲区,暂时存储将要发送到服务器的数据)。 7:socket的连接方式,进行简单的说明 Socket client = new Socket(“服务器Ip”,服务器监听端口); 向服务器发送连接请求。 Socket(InetAddress address, int port): 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。 Socket(String host, int port): 创建一个流套接字并将其连接到指定主机名上的指定端口号。 // Socket的实际工作由SocketImpl抽象类的实例执行。而具体实现是在SocketImpl抽象类的子类PlainSocketImpl的connect()中; 8:xml的解析方式?各有什么特点?项目中xml的数据怎么导入数据库中? xml的解析方式:DOM,SAX,STAX等 DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树型结构造成的,这种结构占用的内存较多,这是因为DOM必须在解析文件之前把整个文档都加载到内存中,适合对XML的随机访问。 SAX:不象DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文件结束,或者标签开头,标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件。 STAX:Streaming API for XML(这个不了解) 可以适用xml的解析方式解析xml数据成Object,再插入数据库中。 9:Sql2000和sql2005有什么区别? a、 最直观的一点就是两者的界面有很明显的不同。sql2005的操作风格更接近于vs2005。 b、 sql2005比sql2000存储的数据量要大很多,sql2005支持数据库逻辑分区; c、 sql2000与sql20005 jdbc连接不同: sql2000 jdbc连接:url地址:jdbc:microsoft:sqlserver://:<1433>; driver :com.microsoft.jdbc.sqlserver.SQLServerDriver; sql2005 jdbc连接:url地址:jdbc:sqlserver://: [;databaseName=]; driver :com.microsoft.sqlserver.jdbc.SQLServerDriver; d、 安全性能的提高:sql Server 2005包括了一些在安全性能上的改进,例如将用户和对象分开、数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。 e、 sql2005还提供了一些新的特性,比如文件流支持(向第三代数据库迈出了可喜的一步)、T-Sql的改进(处理错误、递归查询功能、关系运算符PIVOT, APPLY, ROW_NUMBER和其他数据列排行功能,等等)、数据库镜像、透 明的客户端重定向、新的基于架构的安全模型、内建的Http服务器等…。 10:struts1.2和struts2.0的区别?如何控制两种框架中的单例模式? struts1.2和struts2.0的对比 a、Action类: struts1.2要求Action类继承一个基类。struts2.0 Action要求继承ActionSupport基类 b、线程模式 struts1.2 Action是单例模式的并且必须是线程安全的,因为仅有一个Action的实例来处理所有的请求。 单例策略限制了Struts1.2 Action能做的事情,并且开发时特别小心。Action资源必须是线程安全的或同步的。 struts2.0 Action为每一个请求产生一个实例,因此每有线程安全问题。 c、Servlet依赖 struts1.2 Action依赖于Servlet API,因为当一个Action被调用时HttpServletRequest和HttpServletResponse被传递给execut方法。 struts2.0 Action不依赖于容器,允许Action脱离容器单独测试。如果需要,Struts2 Action仍然可以访问初始的Request和
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。