Java软件开发工程师笔试题_第1页
Java软件开发工程师笔试题_第2页
Java软件开发工程师笔试题_第3页
Java软件开发工程师笔试题_第4页
Java软件开发工程师笔试题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页Java软件开发工程师笔试题

一、选择题(本大题20小题,每题2分.共40分)。

1.在JAVA中,假如父类中某些方法不包含任何规律,并且需要由子类重写.应当运用()关键字来声明父类的这些方法:

A)finalB)staticC)abstractD)void

2.在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的选项是()。

A)interfaceAe*tendB,CB)interfaceAimplementsB,C

C)classAimplementsB,CD)classAimplementsB,implementsC

3.在JAVA接口中可以定义()。

A)静态方法B)常量C)构造方法D)抽象方法

4.假设A有构造方法A(inta),那么在类A的其他构造方法中调用该构造方法和语句格式应为()。

A)A(*)B)this.A(*)C)this(*)D)super(*)

5.设*=1,y=2,z=3,那么表达式y+=z--/++*的值是()。

A)3B)3.5C)4D)5

6.以下关于继承的说法哪个正确?()。

A)子类只继承父类public方法和属性:

B)子类继承父类的非私有属性和方法:

C)子类继承父类的方法,而不继承父类的属性:

D)子类将继承的全部的属性和方法.

7.在java中.在运用JDBC时。对于多次调用同一条SQL语句的状况,运用()通常会提高效。

A)StatementB)CallableStatement

C)PreparedStatementD)PrarmeterStatement

8.以下不能掌握一个Servlet的生命周期方的.法是:

A)serviceB)destroyC)doPostD)init

9.能够给一个byte型变量赋值的范围是()。

A)0~65535B)(-128)~127

C)(-32,768)~32,767D)(-256)~255

10.java语言中int类型数据占用多少位?()。

A)32B)64C)16D)20

11.ServletConte*t对象是如何创建的?()。

A)由Servlet容器创建,对于每个HTTP恳求.Servlet容器都会创建一个ServletConte*t对象

B)由JavaWeb应用本身为自己创建一个ServletConte*t对象

C)由Servlet容器创建,对于每个JaveWeb应用,在启动时,Servlet容器都会创建一个ServletConte*t对象

12.在JSP中不能在不同用户之间共享数据的方法是()。

A)通过cookieB)利用文件系统

C)利用数据库D)通过ServletConte*t对象

13.以下哪个不是Collection的子接口?()。

A)ListB)SetC)MapD)SortedSet

14.下面正确的创建Socket的语句是()。

A)Socketa=newSoeket(80):

B)Socketb=newSocket(130.3.4.5,80):

C)ServerSocketc=newSocket(80)

D)ServerSocketd=newSocket(130.3.4,5,80)

15.下面的说法正确的选项是()。

A)带有页作用域的对象在一个web应用程序的每个JSP中都存在.

B)指令指定与一个特定的JSP恳求不相关的全局信息。

C)当JSP容器遇到开始定制标签和结束定制标签时,分别调用doInitBody方法和doAfterBody方法。

D)动作只在翻译时处理一次。

16.为了区分重载多态中同名的不同方法,要求:()。

A)参数名不同B)采纳不同的形式参数列表

C)返回值类型不同D)选项A,B,C都对

17.下面是有关子类调用父类构造函数的描述正确的选项是:()。

A)子类定义了自己的构造函数.就不会调用父类的构造函数

B)子类需要通过Super关键字调用父类有参数的构造函数

C)假如子类的构造没有通过super调用父类构造函数,那么子类会先调用子类自己的构造函数,再调用父类不含参数的构造函数。

D)创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数

18.在Java中,负责对字节代码说明执行的是()。

A)垃圾回收器B)虚拟机C)编译器D)多线程机制

19.一个java程序运行从上到下的环境次序是()。

A)操作系统、Java程序、jre/jvm、硬件

B)jre/jvm、Java程序、硬件、操作系统

C)java程序、jre/jvm、操作系统、硬件

D)java程序、操作系统、jre/jvm、硬件

20.对于从Employee表中选择记录的以下代码片段,识别其遗漏的代码行。()Connectioncon=null:

Class.forName(sun.jdbc.odbc.JdbcOdbcDriver):

con=DriverManager.getConnection(jdbc:odbc:ss,sa,);

ResultSetrs=stat.e*ecuteQuery(select*fromEmployee);

A)Statementstat=createStatement();

B)Statementstat=con.createStatement();

C)PreparedStatementstat=con.createStatement():

D)PreparedStatementstat=createPreparedStatement();

二、问答题(本大题6小题,共40分)。

1.请说出ArrayList,Vector,LinkedList的存储性能和特性。(6分)

2.什么是单例模式(Singleton)?请在下面写出一个单例模式类,并支持多线程调用。(6分)

3.请描述一下JVM加载class文件的原理机制?(6分)

4.请谈谈对SQL注入的理解,请给出你知道的防止SQL注入的方法。(6分)

5.请谈谈对hibernate的理解,并简要表达Hibernate的一级缓存和二级缓存(8分)。

6.请写出你知道的排序方法,并运用Java语言写出其中一种。(8分)

三、简答题(参考答案)

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

2.创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例模式。支持多线程调用,考虑线程安全,只需要加锁即可。

publicclassSingleton{

privatestaticSingletoninstance=null;

privateSingleton(){}

privatestaticsynchronizedvoidsyncInit(){

if(instance==null){

instance=newSingleton();

}

}

publicstaticSingletongetInstance(){

if(instance==null){

syncInit();

}

returninstance;

}

}

3.JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

4.解决方法:a.利用JavaScript,在客户端进行校验。

b.程序判断c.运用PreparedStatement连接数据库。(参数化)d.利用框架技术

5.Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了特别轻量级的对象封装,使得Java程序员可以为所欲为的运用对象编程思维来操纵数据库。Hibernate可以应用在任何运用JDBC的场合,既可以在Java的客户端程序运用,也可以在Servlet/JSP的Web应用中运用。

一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中,假如短时间内这个

session(肯定要同一个session)又做了同一个操作,那么hibernate径直从一级缓存中拿,而不会再去连数据库,取数据;

二级缓存就是SessionFactory级别的缓存,顾名思义,就是查询的时候会把查询结果缓存到二级缓存中,假如同一个sessionFactory

创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果,而不会再去连接数据库;

6.插入排序、希尔排序、冒泡排序、快速排序、径直排序、归并排序下面以快速排序为例:

1.publicclassquickSort{

2.

3.inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34

,15,35,25,53,51};

4.publicquickSort(){

5.quick(a);

6.for(inti=0;i

7.System.out.println(a[i]);

8.}

9.}

10.publicintgetMiddle(int[]list,intlow,inthigh){

11.inttmp=list[low];//数组的第一个作为中轴

12.while(lowhigh){

13.while(lowhighlist[high]=tmp){

14.high--;

15.}

16.

17.list[low]=list[high];//比中轴小的记录移到低端

18.while(lowhighlist[low]=tmp){

19.low++;

20.}

21.

22.list[high]=list[low];//比中轴大的记录移到高端

23.}

24.list[low]=tmp;//中轴记录到尾

25.returnlow;//返回中轴的位置

26.}

27.

28.publicvoid_quickSort(int[]list,intlow,inthigh){

29.if(lowhigh){

30.intmiddle=getMiddle(list,low,high);//将list数组进行一分为二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论