您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > java面试题及答案
Java面试题及答案一些著名的大公司面试题目往往很基础.一、Java基础知识1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。Integerliterals,Floating-pointliterals,characterliterals,Booleanliteral,Stringiteral.String不是基本数据类型2.字符串的操作:写一个方法,实现字符串的反转,如:输入abc,输出cbaublicstaticStringreverse(Strings){intlength=s.lengthStringBufferresult=newStringBuffer(lengthfor(inti=length-1;i=0;i--result.append(s.charAt(ireturnresult.toString}写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。3.数据类型之间的转换如何将数值型字符转换为数字(Integer,Double)如何将数字转换为字符如何去小数点前两位,并四舍五入。4.日期和时间如何取得年月日,小时分秒Datedat=newDatedat.getYear();dat.getMonth();dat.getDay();dat.getHours();...如何取得从1970年到现在的毫秒数longnow=dat.getTime如何获取某个日期是当月的最后一天如何格式化日期DateFormatedf=DateFormate.getInstancedf.Format(dat5.数组和集合6.文件和目录(I/O)操作如何列出某个目录下的所有文件如何列出某个目录下的所有子目录判断一个文件或目录是否存在如何读写文件7.Java多态的实现(继承、重载、覆盖)8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。10.找出下列代码可能存在的错误,并说明原因:二、JSP&Servlet技术1.描述JSP和Servlet的区别、共同点、各自应用的范围2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(3.在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。5.列出Jsp中包含外部文件的方式,两者有何区别。6.说明Jsp中errorPage的作用,应用范围。7.介绍在Jsp中如何使用JavaBeans。8.简单介绍JSP的标记库9.Jsp和Servlet中的请求转发分别如何实现。三、J2EE相关知识1.介绍J2EE、J2SE、J2SE的区别。2.J2EE是一种技术还是一种平台,他提供了那些技术。3.什么是ApplicationServer,它有什么功能和优点。4.简单介绍连接池的优点和原理。5.Web.xml的作用四、其他1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)2.简单介绍您所了解的MVC。3.简单介绍所了解的XML。4.文档和编码规范5.Java中的分页、效率考虑。6.简单介绍您所了解的structs。找出以下程序错误。ClassTest{rivateStringpar1rivateStringpar2Test(){}ublicstaticvoidmain(String[]arg){intaif(a){System.out.printl}else{System.out.printl}}}ublicclassTest{ublicstaticinta=5ublicstaticvoidmain(String[]arg{Testtest=newTesttest=nullSystem.out.println(test.a}}答案是5,a为静态变量;不依赖对象,即使为空。阅读全文(576)|回复(3)|引用(0J2EE初学者需要理解的问题一、J2EE提出的背景1、企业级应用框架的需求在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次再开发中都由开发人员来完成的话,将会造成开发周期长和代码可*性差等问题。于是许多大公司开发了自己的通用模块服务。这些服务性的软件系列统称为中间件。2、为了通用必须要提出规范,不然无法达到通用在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。于是提出标准的概念。其实J2EE就是基于JAVA技术的一系列标准。注:中间件的解释中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力。我们后面说到的容器的概念就是中间件的一种。二、相关名词解释容器:充当中间件的角色WEB容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEBAPPLICATION标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。EJB容器:Enterprisejavabean容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。WEB容器和EJB容器在原理上是大体相同的,更多的区别是被隔离的外界环境。WEB容器更多的是跟基于HTTP的请求打交道。而EJB容器不是。它是更多的跟数据库、其它服务打交道。但他们都是把与外界的交互实现从而减轻应用程序的负担。例如SERVLET不用关心HTTP的细节,直接引用环境变量session,request,response就行、EJB不用关心数据库连接速度、各种事务控制,直接由容器来完成。RMI/IIOP:远程方法调用/internet对象请求中介协议,他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。JNDI:JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。JMS:JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。JAVAMAIL:JAVA邮件服务。提供邮件的存储、传输功能。他是JAVA编程中实现邮件功能的核心。相当MS中的EXCHANGE开发包。JTA:JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。JAF:JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。EAI:企业应用集成。是一种概念,从而牵涉到好多技术。J2EE技术是一种很好的集成实现。三、J2EE的优越性1、基于JAVA技术,平台无关性表现突出2、开放的标准,许多大型公司已经实现了对该规范支持的应用服务器。如BEA,IBM,ORACLE等。3、提供相当专业的通用软件服务。4、提供了一个优秀的企业级应用程序框架,对快速高质量开发打下基础四、现状J2EE是由SUN公司开发的一套企业级应用规范。现在最高版本是1.4。支持J2EE的应用服务器有IBMWEBSPHEREAPPLICATIONSERVER,BEAWEBLOGICSERVER,JBOSS,ORACLEAPPLICATIONSERVER,SUNONEAPPLICATIONSERVER等。ff2004发表评论于2004-12-1422:07:37|引用学习Java的30个基本概念Java概述:目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(GarbageCollector)垃圾处理机制,防止内存溢出.Java的白皮书为我们提出了Java语言的11个关键特性.1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb.2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的webserver都支持servlet.3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C++有很多不同,在与多重继承的处理及Java的原类模型.4)健壮特性:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能性。5)安全:Java用来设计网路和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这一方面做的比较好.6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行.7)可移植性:Java中对基本数据结构类型的大小和算法都有严格的规定所以可移植性很好.8)多线程:Java处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之一9)Applet和servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的网页,这是很多其他语言所不能做到的.基本概念:1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道canornot而不是howandwhy.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率.2.OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instancefield4.通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍.5.对象的3个主要特性ehavior---说明这个对象能做什么.tate---当对象施加方法时对象的反映.identity---与其他相似行为对象的区分标志.每个对象有唯一的indentity而这3者之间相互影响.6.类之间的关系:use-a:依赖关系has-a:聚合关系is-a:继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于
本文标题:java面试题及答案
链接地址:https://www.777doc.com/doc-2881680 .html