ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:35.51KB ,
资源ID:4399415      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4399415.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA面试题集.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA面试题集.docx

1、JAVA面试题集 JAVA面试题集1.数据库,比如100用户同时来访,要采取什么技术解决;(JDBC)答:可采用连接池。2.String, StringBuffer StringBuilder的区别。(Core Java)答:String的长度是不可变的;StringBuffer的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法;线程安全;StringBuilder是从 JDK 5 开始,为StringBuffer该类补充了一个单个线程使用的等价类;通常应

2、该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。3.写一个函数要求输入一个字符串和一个字符长度,对该字符串进行分隔;(Core Java)答:函数代码如下:public String split(String str, int chars)int n = (str.length()+ chars - 1)/chars;String ret = new Stringn;for(int i=0; in; i+)if(i n-1)reti = str.substring(i*chars , (i+1)*chars);elsereti = str

3、.substring(i*chars);return ret;4.java和javasciprt的区别;(Core Java)答:javascript与Java是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是Live Script;而Java的前身是Oak语言。下面对两种语言间的异同作如下比较:1)基于对象和面向对象:Java是一

4、种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。 javascript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。 2)解释和编译:Java的源代码在执行之前,必须经过编译;javascript是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行。 3)强类型变量和类型弱变量:Java采用强类型变量检查,即所有变量在编译之前必须作声明; javascript中变量声明,采用其弱类型。即变量在使用前不需作声明,

5、而是解释器在运行时检查其数据类型。4)代码格式不一样。5.语句float f=1.3;编译能否通过?(Core Java)答:不能;应该用强制类型转换,如下所示:float f=(float)1.3;6.以下二条语句返回值为true的有:(Core Java)答:A B A:“beijing”=“beijing”;B:“beijing”.equalsIgnoreCase(new String(“beijing”);7.类Example A继承 Exception,类 ExampleB继承Example A;有如下代码片断:(Core Java)trythrow new ExampleB(“b”

6、);catch(ExampleA e)System.out.println(“ExampleA”);catch(Exception e)System.out.printfln(“Exception”);输出的内容应该是:AA:ExampleA B:Exception C:b D:无8.java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么;(Core Java) 答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口;同步的实现方面有两种,分别是synchronized,wait与notify9.Arraylist与Vector区别;(Core Java)答

7、:就ArrayList与Vector主要从二方面来说:1. 同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的2. 数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半10.HashMap Hashtable 区别;(Core Java)答:都属于Map接口的类,实现了将惟一键映射到特定的值上,区别主要有:1. 历史原因:Hashtable是继承于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现;2. 同步性:Hashtable是线程安全的,也就是说是同步的,而Ha

8、shMap是线程序不安全的,不是同步的;3. 值:只有HashMap可以让你将空值作为一个表的条目的key或value;4. HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey;因为contains方法容易让人引起误解。11.Collction和Collections的区别;(Core Java)答:Collections是个java.util下的类,它包含有各种有关集合操作的静态方法;Collection是个java.util下的接口,它是各种集合结构的父接口。12.面向对象的特征有哪些方面;(Core Java)答:封装、

9、继承、多态:1)封装:指把一个类的内部实现隐藏起来,对外提供公开一致的接口,从而具有更好的可维护性;2)继承:使一个类自动获得另一个类的方法和属性;3)多态:指子类可以当作父类用。13.Overload和Override的区别;Overloaded的方法是否可改变返回值类型;(Core Java)答:方法的覆盖Overriding和重载Overloading是Java多态性的不同表现。覆盖Overriding是父类与子类之间多态性的一种表现(又称为运行时多态),重载Overloading是一个类中多态性的一种表现(也称为编译时多态)。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方

10、法被覆盖(Overriding),子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。14.定义类A和类B如下:(Core Java)class A int a=1; double d=2.0; void show() System.out.println(Class A: a=+a +td=+d); class B extends A float a=3.0f; String d=Java

11、 program.; void show() super.show( ); System.out.println(Class B: a=+a +td=+d); (1) 若在应用程序的main方法中有以下语句: A a=new A(); a.show();则输出的结果如何?答:输出结果为:Class A: a=1d=2.0 (2) 若在应用程序的main方法中定义类B的对象b: A b=new B(); b.show();则输出的结果如何? 答:输出结果为:Class A: a=1d=2.0Class B: a=3.0d=Java program.15.接口和抽象类的区别;(Core Java)

12、答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。成员方法中包含抽象方法的类被叫做抽象类(abstract class);不能创建abstract 类的实例,然而可以创建一个引用变量,其类型是一个抽象类,并让它指向具体子类的一个实例;不能有抽象构造函数或抽象静态方法;Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。接口(interface)是抽象类的变体,在接口中,所有方法都是抽象的;多继承性可通过实现这样的接口而获得;接口只可以定义static final成员变量;当类实现特殊接口时,它

13、定义所有这种接口的方法;允许使用接口名作为引用变量的类型。16.详细描述MVC;(Web) 答:基于Java的Web应用系统采用MVC架构模式,即model(模型)、view(视图)、control(控制)分离设计。这是目前WEB应用服务系统的主流设计方向。Model:即处理业务逻辑的模块,每一种处理一个模块;View:负责页面显示,显示MODEL处理结果给用户,主要实现数据到页面转换过程;Control:负责每个请求的分发,把form数据传递给MODEL处理,把处理结果的数据传递给VIEW显示。17.页面中有一个命名为bank No的下拉列表,写脚本获取当前选项的索引值;(Web)答:用ja

14、va或javascript的处理方式分别如下:Java: request.getParameter(“bank No”);javascript: var selectItems = document.getElementsByName(“bank No”); selectItems0.value;18.javasct常用的方面;(Web)答:常用于数据输入校验和页面特殊效果等。19.常用的web容器和开发工具;(Web)答:最常用的容器包括:tomcat、weblogic;开发工具有:eclipse,jbuilder20.请画出Servlet 2.2以上Web Application的基本目录

15、结构(时间2分钟)(Web)答:目录结构如下图所示: webapps | Applocation | _ | |JSP页面 WEB-INF | _ | | | Class lib web.xml21.后序遍历下列二叉树,访问结点的顺序是?(数据结构)答:DJGEBKNIFCA A / B C/ D E F / / G N I / J K22.写一种常见排序;(算法)答:C+中冒泡排序:void swap( int& a, int& b )int c=a; a = b; b = c;void bubble( int* p, int len )bool bSwapped;do bSwapped =

16、 false;for( int i=1; ipi )swap( pi-1, pi );bSwapped = true;while( bSwapped );23.一个byte几个单位。(计算机基础)答:8bit。24.常用UNIX命令(Linux的常用命令)(至少10个);(Unix)答:ls , pwd , mkdir, rm, cp, mv ,cd , ps , ftp, telnet , ping, env, more, echo greap, cat, view, pr , in, chmod, find, chown.25.写一个一小段程序检查数字是否为质数; (C+)以上的程序你采用

17、的哪种语言写的.采用该种语言的理由是什么,答:代码如下:#include bool prime( int n )if(n=0) exit(0);for( int i=2; i=n; i+ ) for( int j=2; j=5;2.数据库表(Test)结构如下:(SQL)IDNAMEAGEMANAGER(所属主管人ID)106A30104109B19104104C20111107D35109112E25120119F45NULL要求:列出所有年龄比所属主管年龄大的人的ID和名字?答:SQL语句如下:select employee.name from test employee where em

18、ployee.age(select manager.age from test manager where manager.id=employee.manager);3.有3个表(15分钟):(SQL)Student 学生表 (学号,姓名,性别,年龄,组织部门)Course 课程表 (编号,课程名称)Sc 选课表 (学号,课程编号,成绩)表结构如下:1)写一个SQL语句,查询选修了计算机原理的学生学号和姓名(3分钟)答:SQL语句如下:select stu.sno, stu.sname from Student stu where (select count(*) from sc where

19、sno=stu.sno and cno =(select cno from Course where cname=计算机原理) != 0;2)写一个SQL语句,查询周星驰同学选修了的课程名字(3分钟)答:SQL语句如下:select cname from Course where cno in (select cno from sc where sno=(select sno from Student where sname=周星驰);3)写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)答:SQL语句如下:select stu.sno, stu.sname from studen

20、t stu where (select count(*) from sc where sno=stu.sno) = 5;4.写四个线程,两个对j加1,两个对j减1;(Core Java)答:代码如下:package test;public class TestThread int j;public TestThread(int j) this.j = j;private synchronized void inc()j+;System.out.println(j + -Inc- + Thread.currentThread().getName();private synchronized vo

21、id dec()j-;System.out.println(j + -Dec- + Thread.currentThread().getName();public void run() (new Dec().start();new Thread(new Inc().start();(new Dec().start();new Thread(new Inc().start();class Dec extends Thread public void run() for(int i=0; i100; i+)dec();class Inc implements Runnable public voi

22、d run() for(int i=0; i100; i+)inc();public static void main(String args) (new TestThread(5).run();5. 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。(Core Java)答:代码如下:public int countWords(String file, String find) throws Exception int count = 0;Reader in = new FileReader(file);int c;while (c = in.read() !=

23、-1) while (c = find.charAt(0) for (int i = 1; i find.length(); i+) c = in.read();if (c != find.charAt(i) break;if (i = find.length() - 1) count+;return count;6.sleep()和wait()的区别;(Core Java)答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非:(a)“醒来”的线程具有更高的优先级 (b)正

24、在运行的线程因为其它原因而阻塞。 wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。7.GC是什么?为什么要用它;(Core Java)答:GC是垃圾收集器;Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用方法: System.gc() 或Runtime.getRuntime().gc()8.用程序给出随便大小的10个数,序号为1-10,按从小到大顺序输出,并输出相应的序号。(Core Java)答:代码如下:package test;import java.ut

25、il.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;import java.util.Random;public class RandomSort public static void printRandomBySort() Random random = new Random(); / 创建随机数生成器List list = new ArrayList();for (int i = 0; i 10; i+) / 生成10个随机数,并放在集合list中list.add

26、(random.nextInt(1000);Collections.sort(list); / 对集合中的元素进行排序Iterator it = list.iterator();int count = 0;while (it.hasNext() / 顺序输出排序后集合中的元素System.out.println(+count + : + it.next();public static void main(String args) printRandomBySort();9.写一个函数,2个参数,1个字符串,1个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码:如(“我ABC”,4)应该

27、截为“我AB”,输入(“我ABC汉DEF”,6)应该输出为“我ABC”而不是“我ABC+汉的半个”。(Core Java)答:代码如下:public String subString(String str, int subBytes) int bytes = 0; / 用来存储字符串的总字节数for (int i = 0; i str.length(); i+) if (bytes = subBytes) return str.substring(0, i);char c = str.charAt(i);if (c 256) bytes += 1; / 英文字符的字节数看作1 else bytes += 2; / 中文字符的字节数看作2if(bytes - subBytes = 1)return str.substring(0, i);return str; 10.连接池的工作原理;(JDBC)答:连接池中保存有指定个数的数据库连接,当需要时程序可从池中获取可用连接,并在程序使用过之后不关闭连接,并放回连接池中,以供其他的程序在需要时来取用,这样可以大量的节省销毁和创建连接的资源消耗。11.JNDI是什么?答:是java命名和目录接口服务12.什么是web容器;(Web)答:容器是一个软件的概念,提供了一个组件运行的环境。Web容器或ejb

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1