当前位置:文档之家› java与C#笔试题(全解整合版)

java与C#笔试题(全解整合版)

java与C#笔试题(全解整合版)
java与C#笔试题(全解整合版)

1.java与C#相比,Java的优势在哪里?

答: 开源

跨平台

2.struts运作过程,hibernate的作用

答:hibernate持久层的框架,用于实现ORM。用来对数据库实现增、删、改、查,封装了SQL语句,封装的jdbc 把表影射成类,然后对类进行操作来修改数据库

3.hibernate中,怎么判断是插入还是更新?

答:根据delegate是为true或false判断.

4.怎么使用javascript进行页面跳转?

答:按钮式:

链接式:

返回上一步

">返回上一步

直接跳转式:

5.怎么使用javascript将一个页面的一个参数传递到另外一个页面?

答:情况一:页面一与页面二完全无关,无法通过javascript进行,当然此种情况一般不会用到;

情况二:页面二由页面一打开或者相反;可通过window.opener.document.all.***.value(借助某个控件的值)

情况三:其他关系,可通过window.parent.document.***.value

或window.top.document.***.value

再次举例:

页面一

页面二

页面二由页面一打开

把3赋给page01

function send(what)

{

window.opener.document.all.page01.value=what;

}

6.使用存储过程进行分页,页面使用javascript分页

答:

存储过程分页:

ALTER PROCEDURE [dbo].[SelectTeacher]

@startIndex int,

@pagesize int

AS

BEGIN

WITH teacherList AS (

select ROW_NUMBER() OVER (ORDER BY teacher_id asc)AS Row,* from teacher

)

select teacher_id,teacher_name from teacherList where Row between @startIndex and @startIndex+@pageSize-1

END

Javascript分页:

user 1

name 1

user 2

name 2

user 3

name 3

user 4

name 4

user 5

name 5

user 6

name 7

user 7

name 7

user 8

name 8

user 9

name 9

数据userid数据name属性id

7.什么是自定义控件?动态如何传数据?

答:自定义控件是指编译后直接可以放到工具箱中用,就像TextBox,DataGrid一样。在设计器中可以用鼠标拖动到页面上使用。

自定义服务器控件分为两种:

一种是用*.aspx代码和*.cs代码编译后生成DLL,再添加引用到工具箱使用。一般用于WebForm中。

另一种是只用*.cs实现,再编译生成DLL,添加到工具箱使用。一般用于WinForm中。 动态传数据:在控件内部公开属性,通过给属性赋值进行数据的交互; 控件最终体现在界面上的样式是靠重写父类的Render方法来实现的

8.正规表达式只许输入整数

答:Regex rg=new Regex(“\d*”);

Match m=rg.Match(this.textbox.Text);.

If(m.success)

{

MessageBox.show(m.index,m.length);

}

9.xml引用空间包括哪几个类?如何理解和应用?

答: System.Xml。

随着互联网的迅猛发展和普及,人们可以通过计算机与互联网联接,从世界各地实时的接收和发送大量、最新的信息,但在信息交换的过程中存在着一个突出的问题,就是多种多样的数据格式,给信息的有效使用带来了障碍。所以在信息时代,如何以最便捷、最可靠、最有效的方式获取所需的信息是一个很大的困扰。人们期待着能够找到一种可以描述任何逻辑关系的数据格式来统一电子数据的存储,从而不再因为数据格式的不统一而苦恼和困惑。目前,能够担当此任的就是xml(extensible markup language,可扩展符号化语言)。-XML 是用来传递数据的

- XML 让这些数据有了结构-- 一个树型结构

- xml 有全套的操作这种结构的方法

- xml 规范(或者说的实际点,xml parser)帮你确定你创建的字符串是合法的

- xml 规范(或者说的实际点,xml parser)中有办法验证这个合法性

- 对于拿到这个字符串的server component 来说,可以用xml 中现成的方法来操作它,

10.DataSet和DataReader的区别

答:https://www.doczj.com/doc/7c3797265.html,提供以下两个对象,用于检索关系数据并将其存储在内存中:DataSet和DataReader。DataSet提供一个内存中数据的关系表示形式,一整套包括一些表在内的数据(这些表包含数据、对数据进行排序并约束数据),以及表之间的关系。DataReader提供一个来自数据库的快速、仅向前、只读数据流。

当使用DataSet时,经常会利用DataAdapter(也可能是CommandBuilder)与数据源进行交互。当使用DataSet时,也可以利用DataView对DataSet中的数据应用排序和筛选。也可以从DataSet继承,创建强类型DataSet,用于将表、行和列作为强类型对象属性公开。当设计应用程序时,要考虑应用程序所需功能的等级,以确定使用DataSet或者是DataReader。

要通过应用程序执行以下操作,就要使用DataSet:

r 在结果的多个离散表之间进行导航。

r 操作来自多个数据源(例如,来自多个数据库、一个XML文件和一个电子表格的混合数据)的数据。

r 在各层之间交换数据或使用XML Web服务。与DataReader不同的是,DataSet能传递给远程客户端。

r 重用同样的记录集合,以便通过缓存获得性能改善(例如排序、搜索或筛选数据)。

r 每条记录都需要执行大量处理。对使用DataReader返回的每一行进行扩展处理会延长服务于DataReader的连接的必要时间,这影响了性能。

r 使用XML操作对数据进行操作,例如可扩展样式表语言转换(XSLT转换)或XPath查询。

对于下列情况,要在应用程序中使用DataReader:

r 不需要缓存数据。

r 要处理的结果集太大,内存中放不下。

r 一旦需要以仅向前、只读方式快速访问数据。

注填充DataSet时,DataAdapter使用DataReader。因此,使用DataAdapter取代DataSet 提升的性能表现为节省了DataSet占用内存和填充DataSet需要的循环。一般来说,此性能提升只是象征性的,因此,设计决策应以所需功能为基础。

11.用一条语句将第一和第二张表连接成第三张表

答:SELECT * FROM 表一FULL JOIN 表二ON 表一.id=表二.id

12.1+1+2+3+5+8+…到第30位多少?

答: int[] b =new int[30];

for(int i=0; i<30; i++)

{

if(i==0||i==1)

{

b[i] = 1;

}

else

{

b[i]=b[i-1]+b[i-2];

}

}

messagebox.show(b[29]);

b[29]=832040;

13.简单叙述委托

答: C#委托可以看做是方法引用,或者叫方法指针

委托声明时必须将方法的返回值和详细的参数列表列出来,这样在为委托指定方法时,可以进行类型安全的检查。

委托声明的方式如下:

public delegate int AddHandler(int value);

委托的关键字是delegate,除去这个关键字,其余部分就是一个完整的方法签名的格式,包括了委托返回类型、委托名称和委托所需的详细参数列表

使用委托可以在运行时动态设定要调用的方法,不知道方法名称也可以调用方法,

执行一个委托将执行该委托引用的方法.但是,委托要求方法的实现和委托必须具有相同数量和类型的参数和相同类型的返回值.

出现以下情况时宜用委托:

当使用事件设计模式时。

当封装静态方法可取时。

当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时

需要方便的组合。

当类可能需要该方法的多个实现时

14.重载和重写的区别

答: 重写一般是指父类和子类之间,子类重写了父类的一个方法,方法名是一样的,而且不能改变父类方法的返回值,比如说父类是返回String,子类重写了这个方法,想返回一个int,那是不行的,也得返回String。

重载是一个类里面,写了多了同名的方法,各个方法的返回值类型可以不一样。要注意区分重载方法可以通过参数列表的个数,类型和顺序.

15.AJAX的优点

答:它将JavaScript和XML技术结合在一起,用户每次调用新数据时,无需反复向服务器发出请求,而是在浏览器的缓存区预先获取下次可能用到的数据,减轻了服务器的处理量界面的响应速度因此得到了显著提升。局部刷新,还有异步调用很方便.

16.简单说说MVC,在https://www.doczj.com/doc/7c3797265.html,里怎么实现

答:MVC作为一种开发模型,通常用于分布式应用系统的设计和分析中,以及用于确定系统各部分间的组织关系。对于界面设计可变性的需求,MVC(Model-View-Controller)把交互系统的组成分解成模型、视图、控制器三种部件。

视图部件把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

控制器部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。

模型部件保存由视图显示,由控制器控制的数据;它封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的界面表达和I/O操作。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新

在https://www.doczj.com/doc/7c3797265.html,下,视图的实现很简单。可以像开发WINDOWS界面一样直接在集成开发环境下通过拖动控件来完成页面开发

为了能够控制和协调每个用户跨越多个请求的处理,控制机制应该以集中的方式进行管理。因此,为了达到集中管理的目的引入了控制器。应用程序的控制器集中从客户端接收请求(典型情况下是一个运行浏览器的用户),决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的视图组件。用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;并将请求委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。在这一部分主要定义了HttpReqDispatcher(分发者类)、HttpCapture(请求捕获者类)、Controller(控制器类)等,它们相互配合来完成控制器的功能。请求捕获者类捕获HTTP请求并转发给控制器类。控制器类是系统中处理所有请求的最初入口点。控制器完成一些必要的处理后把请求委托给分发者类;分发者类分发者负责视图的管理和导航,它管理将选择哪个视图提供给用户,并提供给分发资源控制。在这一部分分别采用了分发者、策略、工厂方法、适配器等设计模式.

17.如有城市表和蔬菜表,用SQL语句查询城市表,删除编号为2号的蔬菜,为蔬菜表的蔬菜名称字段中添加土豆

答: select * from 城市

Delete from 蔬菜where id = 2

Insert into 蔬菜(…name?) values (…土豆?)

18.什么是Code-Behind技术?

答:代码分离技术,也就是.net中的HTML代码和程序代码分别位于不同的文件

主要是通过aspx页面指向对应的CS文件,可以实现显示逻辑和处理逻辑的分离,这样做有别于以前的asp页面和代码全混在一起不容易后期的修改和维护,使用code behind更容易维护,美工和程序员可以很好的分工

19.说明一下public,private,interface,protect的访问权限

答: public关键字具有最高访问权限,它之后跟着的成员声明对每个人都是可用的(即使处于不同包内的其它类也可以访问);

private关键字除了包含该成员的类以外,其它任何类都无法访问这个成员(即使处于同一个包内的其它类也不可以访问),实际等于隔离了自己,提供了更高的操作安全性;

interface 关键字表示仅限于当前程序集的成员访问.

protected关键字处理的是继承的概念,当基类创建者希望把某个特定成员的访问权限赋予派生类而不是所有类的时候,就需要用protected关键字,protected也提供包访问权限,即相同包内的其它类可以访问protected元素。另外就是什么关键字也不用的时候,默认的意思是具有包访问权限,即当前包内的所有其它类都对那个成员有访问权限。

20.ORM的原理是什么?

答: ORM的全称是Object Relational Mapping,即对象关系映射。它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。

21.在net中读取XML文件要用到那些包,类,方法?

答: System.Xml 包XmlTextReader类,该类提供对Xml文件进行读取的功能,它可以验证文档是否格式良好,如果不是格式良好的Xml文档,该类在读取过程中将会抛出XmlException异常,可使用该类提供的一些方法对文档节点进行读取,筛选等操作以及得到节点的名称和值,请牢记:XmlTextReader是基于流模型的实现

内存中任何时候只有当前节点,你可以使用XmlTextReader类的Read()方法读取下一个节点。

22.java与net有什么不同?

答:1,用java开发业务教复杂的程序,相对来说要轻松一些!因为java社区丰富!本身灵活度很高,并且是OO的语言!可以套现设计模式!

2,java的多数框架都是开源的!学习java很方便!成本低!(.net不开放源码)

3,.net是一个框架,与java语言不相关!具体可以与一些开源框架比较,例如spring,webwork,hibernate等等.

4,java的执行效率没有.net高!

综述,.net适合做网站,中型的!java适合做后台,企业系统,大型网站!

23.面向对象的思想是什么?

答:1:面向对象是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。

2: 面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统(解空间)的方法。由于问题空间和解空间都是由对象组成的,这样可以消除由于问题空间和求解空间结构上的不一致带来的问题。简言之,面向对象就是面向事情本身,面向对象的分析过程就是认识客观世界的过程.

3: 面向对象方法从对象出发,发展出对象,类,消息,继承等概念。

4: 面向对象符合人们通常的思维方式;从分析到设计再到编码采用一致的模型表示具有高度连续性;软件重用性和扩展性好。

24.说明一下final,finally,finalize的用法?

答: f inal类不允许被继承,编译器在处理时把它的所有方法都当作final的,因此final类比普通类拥有更高的效率。final的类的所有方法都不能被重写,但这并不表示final的类的属性(变量)值也是不可改变的,要想做到final类的属性值不可改变,必须给它增加final修饰,final修饰的是一个基本类型,就表示这个变量被赋予的值是不可变的,即它是个常量;如果final修饰的是一个对象,就表示这个变量被赋予的引用是不可变的,这里需要提醒大家注意的是,不可改变的只是这个变量所保存的引用,并不是这个引用所指向的对象。

finally的用法,它只能用在try/catch语句中,并且附带着一个语句块,表示这段语句最终总是被执行。

finalize()方法是在GC清理它所从属的对象时被调用的,如果执行它的过程中抛出了无法捕获的异常(uncaught exception),GC将终止对改对象的清理,并且该异常会被忽略;直到下一次GC开始清理这个对象时,它的finalize()会被再次调用。

25.用DIV+CSS作一个三列的表格

答:

每一列

第二列

第三列

每一列

第二列

第三列

每一列

第二列

第三列

26.动态生成一个文本控件,当这个文本控件获得焦点的时候,弹出一个框

答:

27.string和stringBuffer区别

答: 1. String对项内容是不可改变的,StringBuffer是可以改变的,且高效;

StringBuffer必须new出来

2. String

String a = "123";

a = a + "456";

上面两句,虽然a的值最终改变了,但是实际上在编译的时候,第一句a是一个对象,被分配了一个地址,第二句执行时,原来的a被释放,然后重新分配。

a 原本指向一String object instance ("123"), a + "456" 會造出另一新的String object instance ("123456"), 然後a 再指向這新的String instance.

3. StringBuffer

StringBuffer b = new StringBuffer("asd");

b.append("fgh");

在这个过程中,只存在b这么一个对象,b 一直都指向一個StringBuffer instance. append 也只是改變此instance 的內容而已.

28.你对汽车之旅的认知和看法?

答:《汽车之旅》杂志是介绍推介中国汽车自驾游的权威杂志,其发行量高达十万之众。

29.写一种java排序算法

答:冒泡法

int[] array={1,2,6,4,7,9};

int temp;

for(int i=0;i

{

for(int j=0;j

{

if(array[j]

{

temp=array[j+1];

array[j+1]=array[j];

array[j]=temp;

}

}

}

for(int i=0;i

{

System.out.print(array[i]);

}

30.sql查询:查询出一个表中四川省和湖南省所有姓李的人的姓名

答: select name as '姓名',province as '省份' from country where province in('湖南省','四川省') and name like '李%'

31.左联接在什么时候应用

答:把左表当主表。显示左表中全部记录。显示右表中在左表中存在的记录。

32.sql查询:找出张三的同乡

答:select name from country where province IN (select province from country where name=?张三?) go

33.查询学员表中英语一门成绩最高的人

答:select max(english) from studentInfo

34.查询学员表中有两门以上不及格的人

答: select stuName from sc group by stuid having sum(case when score<60 then 1 else 0 end)>=2

35.查询出各年级中男女的人数

答: SELECT Grade,

SUM( CASE WHEN sex = '1' THEN

pop ELSE 0 END), --男性人口

SUM( CASE WHEN sex = '2' THEN

pop ELSE 0 END) --女性人口

FROM Table_A

GROUP BY Grade;

36.软件测试的分类?

答:1: 按是否需要执行被测软件的角度,可分为静态测试和动态测试

2: 按阶段划分,可分为单元测试,集成测试,系统测试,验收测试,回归测试,Alpha测试,beta测试3: 按测试方法划分,可分为白盒测试,黑盒测试,ALAC测试

37.写一条SQL语句筛选出不重复的数据?

答: select * from A where not exists(select * from B where num=A.num)

38.java C Fortran 哪些是编译类型的语言?

答:java C

39.ip地址分几类,分别说出他们的范围?

答: 5类A类IP段0.0.0.0 到127.255.255.255 B类IP段128.0.0.0 到191.255.255.255 C 类IP段192.0.0.0 到223.255.255.255 D 类224.0.0.0到239. 255. 255.254 E 类240.0.0.0 至255.255.255.255。

40.2叉树的问题?(我根本不懂)

答: 二叉树是一种最简单而巨重要的树型结构它或者是一棵空树,或者是一棵由一个根节点和两棵互不相交的、分别称为这个根的左子树和右子树的二叉树组成。有两种特殊形态的二_叉树,它们是满二叉树一和完全二叉树。

41.有一段C++的代码说出会输出的内容?

答:代码呢?

42.找出第1000个质数?

答: int i,j,n = 0;

for (i = 0; i < double.PositiveInfinity; i++)

{

for (j = 2; j < i / 2; j++)

{

if (i % j == 0)

break;

}

if (j == i / 2 && i != 4 || i == 3 || i == 2)

{

n++;

if (n == 1000)

Console.WriteLine(i);

}

}

输出结果为:7919

43.取oracle数据库TEST表(name,age(出生日期))中年龄大于10周岁的姓名?

答:select name from TEST where age

44.程序部署在tomcat,weblogic那个目录里?

答: Tomcat只支持部分J2EE标准,应用局限性强,不能够安全稳定的支持大并发

技术服务支持而weblogic 是个完善的企业级基础

一:用tomcat作为web容器的程序部署在tomcat安装目录/webapps/

二: weblogic部署的步骤分为以下:

1,启动WebLogic服务。

2,在浏览器地址栏中输入:http://localhost:7001/console 进入WebLogic控制台,默认用户名和密码:weblogic,weblogic

3,在左边的Domain下找Deployments节点,在Deployments节点下找到

Web Application Modules

4,点击Deploy a new Web Application Module...

5,进入通过4进入的页面后,找到你的Web程序所在路径,在这里是通过选择Localhost,C:,或者D 等等进入你的Web所在的上层目录。

6,Web文件夹的图标跟其他的不一样,选中,点击Deploy。如果你的web下的WEB-INF中的lib里的jar包配置没问题。一般发布会成功。

45.写一个得到查询orcle数据库里面的记录的方法?

答: select * from table where …

46.JSP有那些动作元素?

答: jsp:include:在页面被请求的时候引入一个文件。

jsp:useBean:寻找或者实例化一个JavaBean。

jsp:setProperty:设置JavaBean的属性。

jsp:getProperty:输出某个JavaBean的属性。

jsp:forward:把请求转到一个新的页面。

jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。

47.include与forward的区别?

答: jsp 动作:jsp:include:在页面被请求的时候引入一个文件forward:把请求转到一个新的页面。

48.EJB的六大对象及特点?

答: 1.简化的Persistence API

2.元数据注释(Metadata Annotations)

3.改进了的Query Language

4.Defaulting的使用

5.依赖注入(Dependency Injection)

6.Session Beans的简化

49.用冒泡排序法写一个数组中的最大数?

答: int[] array={1,2,6,4,7,9};

int temp;

for(int i=0;i

{

for(int j=0;j

{

if(array[j]>array[j+1])

{

temp=array[j+1];

array[j+1]=array[j];

array[j]=temp;

}

}

}

Console.WriteLine(array[array.Length-1]);

50.JA V A的11个特点?

答:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等

51.Hibernate中cascade作用跟意义?

答:cascade,级联,是和数据库操作相关的.简单说就是级联保存,级联删除.all是级联的作用域.

Cascade(update,delete,all,none)

意义:省去了链接表做删除的繁琐工作,只需通过配置文件就可以轻松让数据库中有关系的表的数据进行修改和删除.

52.写把t1.txt文件的内容写到t2.txt的思路步骤?

答: File.copy ( "c:\t1.txt" , "c:\t2.txt" )

Response.write ( "文件的拷贝工作已经成功完成!" )

53.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.servle.ServletContext对象。这有助于查找有关servlet 引擎和servlet环境的信息

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

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

54.什么是面向对象?简述

答: 面向对象编程的概念:面向对象的程序设计(Object-Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”

中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言

面向对象的三大特性:封装,继承,多态

55.你知道的几种架构?

答: B/S架构,C/S架构

56.引用和值类型的区别,用代码说明?

答: 1: static void Main(string[] args)

{

int val = 100;

Console.WriteLine("该变量的初始值为{0}",val);

test(val);

Console.WriteLine("该变量此时的值为{0}",val);

}

static void test(int val)

{

val = 200;

}

这时,我们会发现,两次输出的值都是100,说明值类型在经过传参赋值的情况下影响不到Main()方法里val 的值.

然后我们将转换成引用类型

class objectTest

{

public int val;

}

class Program

{

static void Main(string[] args)

{

objectTest obj = new objectTest();

obj.val = 100;

Console.WriteLine("该变量的初始值为{0}",obj.val);

test(obj);

Console.WriteLine("该变量此时的值为{0}",obj.val);

}

static void test(objectTest obj)

{

obj.val = 200;

}

}

这次的输出就变了,初始值为100,传参后的值为200.因为我们将一个类objectTest实例成对象传递,对象是引用类型,传的是内存地址

https://www.doczj.com/doc/7c3797265.html,中怎样处理异常的?

答: .NET 提供了两种处理异常的方法。第一种是非结构化异常处理,它符合Visual Basic 早期版本中的异常处理规则。第二种是结构化异常处理,类似于Microsoft? Visual C#? 或Microsoft? Visual C++? 中的异常处理方式。

通过try{}catch{}finally{}之类的方式捕获异常,通过throws和throw抛出异常.

https://www.doczj.com/doc/7c3797265.html,和你以前知道的语言有什么优点?

答: 1:与浏览器无关

2:易于设置断点和调试

3:丰富的控件库

4:编译语言,执行效率高

5:代码后置

https://www.doczj.com/doc/7c3797265.html,中垃圾回收机制?

答: .NET运行库采用的方法是垃圾收集器。

这是一个程序,其目的是清理内存,方法是所有动态请求的内存都分配到堆上(这对所有的语言都一样,但在.NET中,CLR维护它自己的托管堆,以供.NET应用程序使用),当.NET 检测到给定进程的托管堆已满,需要清理时,就调用垃圾收集器。垃圾收集器处理目前代码中的所有变量,检查对存储在托管堆上的对象的引用,确定哪些对象可以从代码中访问——即哪些对象有引用。没有引用的对象就不能再从代码中访问,因而被删除.

60.编程:有一个10000的数组,由10000随机往里存入A-Z的字母组成,怎么实现?答: char[] a = new char[10000];

random r= new random();

for(int i=0;i<10000;i++)

{

char b = (char)(65 + r.next(26));

a[i] = b;

}

61.写一个存储过程或触发器?

答:use master

Go

Create trigger update_transInfo

On transInfo

For update

As

If update(transMoney)

Begin

Print …交易失败….?

Raiserror(…安全警告:交易金额不能修改?,16,1)

Rollback transaction

end

go

update transInfo set transMoney=?10000?

go

62.JSP传递参数的方法有哪些

答: 表单,隐藏域,URL重写,COOKIE等.

63.在jbuilder和eclipse中make 和rebuilder 有什么区别?如何编译和运行java文件? 答:make在前次编译的基础上,对改变的部分编译; rebuild则删除所有class后对全部src重新编译。

64.简述sturts-config

答: structs-config:是structs的初始化配置,structs需要通过structs-config来编译运行,structs- config中定义了structs的结构以及一些方法。

65.xml的作用,举例一些元素与作用,并描述如何定义一个全局异常点。

答:主要用来做配置文件

目录引导页面

main.jsp

SESSION失效时间设置

60

定义全局异常点:

type= "https://www.doczj.com/doc/7c3797265.html,mon.waf.exceptions.InvalidiItemsCatalogNameException "

scope= "request "

path= "error.jsp "/>

66.如果在一个try里面有return的时候,会不会执行finally里面的东西,如果执行是在return 后面执行还是什么时候执行?

答:会执行,在return后执行.

67.在浏览器的菜单高级里面把cookie设置成高级的时候,限制用户访问,这时候session还会起作用吗?如果客户端还是想访问的话,应该采取什么方法?

答:不起作用.如果客户端还想访问的话,就把cookie设置为中或低.

68.项目模块介绍

答:这个看自己发挥了.比如说OA项目里有日程模块,通讯录模块,各个模块都实现了什么功能之类.

69.&&和&的区别,哪个返回布尔值?

答:&是两个数字按位与,返回数字

&&是两个逻辑(bool)值求与,返回逻辑(bool)值

70.存储过程与触发器

答:存储过程是SQL语句和控制流语句的预编译集合,它储存在数据库中,可有应用程序通过一个调用执行,而且允许用户声明变量、逻辑控制语句.

触发器是在对表进行插入、更新或删除操作时自动执行的存储过程.

71.怎么防止用户因为退出不点退出按纽直接关闭浏览器带来的不必要的服务器压力?(除了设置session的有效期)

答:设置服务器每隔一段时间检查一次session状态,如发现处在滞留状态,则清空.

72.页面的制作

答:javascript+CSS+html

73.你谈谈对XML的认识,XML的作用?

答: 1: 有助于有服务器之间传输结构化数据

2: 是一种元语言,可以描述其他语言

3: 允许通过使用自定义格式,标识、交换和处理数据库可以理解的数据

4: 基于文本的格式,允许开发人员描述结构化数据并在各种应用之间发送和交换这些数据

74.委托是什么,事件跟委托是不是一回事?

答:委托是一种安全地封装方法的类型,它与C 和C++ 中的函数指针类似。

与C 中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。

委托具有以下特点:

委托类似于C++ 函数指针,但它是类型安全的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

事件显然不是一种委托,事件是类在发生其关注的事情时用来提供通知的一种方式。例如,

封装用户界面控件的类可以定义一个在用户单击该控件时发生的事件。控件类不关心单击按钮时发生了什么,但它需要告知派生类单击事件已发生。然后,派生类可选择如何响应。事件使用委托来为触发时将调用的方法提供类型安全的封装

75.String s =new String("xyz");创建了几个String object ?

答:2个

76.能用foreach遍历访问的对象需要实现____接口或声明___方法的类型。

答:能用foreach遍历访问的对象必须是集合或数组对象,而这些都是靠实现超级接口IEnumerator或被声明GetEnumerator 方法的类型。

77.C#的三元运算符是什么?

答:?:

比如int a=a>b?10:20

78.GC是什么

答:C#的一种垃圾回收机制

79.equals和==的区别

答:==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

80.写一个单例模式例子

答: public class MyBean {

private static MyBean instance = null;

private MyBean(){

//do something

}

public static MyBean getInstance(){

if(instance == null){

instance = new MyBean();

}

return instance;

}

}

81.写JDBC连接数据库的例子,要注意哪些问题?

答:1:要配置好连接数据库语句,url,uid,pwd之类,指明连接哪种数据库

2:要即时close()

82.你使用过哪些版本管理器,check in和check out的作用

答:在软件开发中为避免多名程序员对同一对象进行修改,为此PB提供了check-out(检出)和check-in(检入)机制.程序可以将公用的"公共库"中的对象check-out到私有的"工作库"中进行修改,在此期间其他人不能对已被check-out的对象进行修改,修改完成后可以把经过修改的对象check-in到公共库中.

83.对hiberante的了解

答:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

84.对struts的了解

答: Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),

包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。

但Struts几乎没有涉及M(Model),所以Struts可以采用JA V A实现的任何形式的商业逻辑。

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts 的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

85.对spring的了解

答: Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,

用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;

DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web 应用的框架或与其他流行的Web框架进行集成。

86.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?

答: 在地址中嵌入参数,在隐藏控件中写入参数,ViewState,

QueryString、FormsAuthentication、this.Server.Transfer

java高级工程师_面试题和答案

一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. private static int x=100; 3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++; 6. HasStatic hs2=new HasStatic( ); 7. hs2.x++; 8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -; 11. System.out.println(“x=”+x); 12. } 13. } A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; System.out.println(“i is “+i); } B、 int j=3; while(j) { System.out.println(“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D、 int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 4. 给出下面代码段, 哪行将引起一个编译时错误?( D )

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

JAVA笔试题答案在最后

测试题(笔试)Java 面向对象重庆足下科技有限公司

不定项选择题(40题,每题2.5分,总分100分,测试时间2小时) 1) 当试图编译并运行下面程序时会出现什么结果()(单选) class A{ public int getNumber(int a){ return a+1; } } class B extends A{ public int getNumber(int a, char c){ return a+2; } public static void main(String[] args){ B b=new B(); System.out.println(b.getNumber(0)); } } a) 编译错误 b) 运行错误 c) 1 d) 2 2) 当编译并运行下面程序时会出现什么结果( )(单选) public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } a) 编译错误 b) 运行错误 c) 输出0 d) 输出“null” 3) final、finally、finalize三个关键字的区别是()(多选) a) final是修饰符(关键字)可以修饰类、方法、变量 b) finally在异常处理的时候使用,提供finally块来执行任何清除操作 c) finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做 必要的清理工作 d) finally和finalize一样都是用异常处理的方法

java基础笔试题(答案已整理)

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.doczj.com/doc/7c3797265.html,ng包的()方法比较二个对象是否相等返回true.。(b) A:toString() B:equals() C:compare D:以上都不正确 3:下列对Java 的变量与函数说法正确的是多选(ace )。 A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口 4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。(d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c) A:隐藏B:覆盖C:重载D:Java不支持此特性 6:()是一组常量和抽象方法的集合。(d) A:实例B:类C:包D:接口 7:下面关于数组说法正确的是多选(abcde)。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26 个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。(b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:设x=5;则y=x--和y=--x的结果,使y分别为。(c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float类变量,x=10/4;则x 的值是。(b) A:2 B:2.0 C:2,5 D:编译错误 11:.下面方法中,用于调度线程使其运行的是?多选(bc ) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪种情况能实现自动转换多选(ace )。 A)byte 型转换成int 型B)int 型转换成byte 型 C)float 型转换成double型D)double 型转换成int 型E)char型转换成int 型 13:下列那些是正确的JAVA字符串?多选(abd )。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14:在使用super 和this关键字时,以下描述正确的是。(a) A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B:super()和this()不一定要放在构造方法内第一行

Java工程师面试题(含答案)

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

JAVA笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用

10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;} 10. } A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=3 12.关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2.private static int x=100; 3.public static void main(String args[ ]){ 4.HasStatic hs1=new HasStatic( ); 5.hs1.x++; 6.HasStatic hs2=new HasStatic( ); 7.hs2.x++; 8.hs1=new HasStatic( ); 9.hs1.x++; 10.HasStatic.x- -; 11.System.out.println(“x=”+x); 12.} 13.} A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 13.以下选项中循环结构合法的是( C ) A、while (int i<7) { i++;

Java基础知识笔试题及答案2

1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.doczj.com/doc/7c3797265.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString()B.equals()C.compare()D.以上所有选项都不正确3.使用()方法可以获得Calendar类的实例。 A.get()B.equals()C.getTime()D.getInstance() 4.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 5.关于Map和List,下面说法正确的是()。 A.Map继承List B.List中可以保存Map或List C.Map和List只能保存从数据库中取出的数据 D.Map的value可以是List或Map 6.给定如下Java代码,编译运行的结果是()。 Import java.util.*; public class Test { public static void main(String[] args) { LinkedList list=new LinkedList(); list.add(“A”); list.add(2,”B”); String s=(String)list.get(1); System.out.println(s); }

A.编译时发生错误B.运行时引发异常C.正确运行,输出:A D.正确运行,输出:B ###############################################################3 3.所有异常的父类是()。 A.Error B.Throwable C.RuntimeException D.Exception 4.下列()操作不会抛出异常。 A.除数为零B.用负数索引访问数组 C.打开不存在的文件D.以上都会抛出异常 5.能单独和finally语句一起使用的块是()。 A.try B.throws C.throw D.catch 6.在多重catch块中同时使用下列类时,()异常类应该最后列出。 A.Exception B.ArrayIndexOutOfBoundsException C.NumberFormatException D.ArithmeticException 7.执行下面的代码会引发()异常。 String str=null; String strTest=new String(str); A.InvalidArgumentException B.IllegalArgumentException C.NullPointerException D.ArithmeticException 8.这段代码的输出结果是()。 try{ System.out.print(“try,“); return; } catch(Exception e){ System.out.print(“catch,“); } finally { System.out.print(“finally”);

Java软件开发工程师笔试题(答案)

Java软件开发工程师笔试题(答案) Java工程师笔试题 1,填空(此大题10项,每空1分,共20分) 1。Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间 3。当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。 4。JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的 5。如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口 6。在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface 7。在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改 8。面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。Socket通常也叫socket,用来描述__ ip和_ _ interface 2,多项选择题(这个大题20项,每项2分,共40分)

1。在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void 2。在JA V A中,已经定义了两个接口b和c。要定义实现这两个接口的类,下面的语句是正确的() a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c 3。可以在JA V A接口()中定义 A)静态方法b)常量c)构造函数d)抽象方法 4。假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是() a)a(x)b)this . a(x)c)this(x)d)super(x) 5。如果x = 1,y = 2,z = 3,表达式y+= z-/++x的值为()a)3b)3.5°c)4d)5 6。下列关于继承的陈述中哪一个是正确的?( )a)子类只继承父类的公共方法和属性:b)子类继承父类的非私有属性和方法: C)子类继承父类的方法,但不继承父类的属性:d)子类继承所有的属性和方法。 7。在爪哇。使用JDBC时对于对同一个SQL语句的多次调用,使用()通常会提高效率 a)语句b)可调用语句c)准备语句d)prarmeters语句8。以下方法无法控制Servlet的生命周期:a)服务b)销毁c) dopost d) init9。可以分配给字节变量的值的范围是()0 ~ 65535 b) (-128) ~ 127 c) (-32,768) ~ 32,

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java笔试题答案详解

java笔试题以及答案详解一 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说确的选项有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。

4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.doczj.com/doc/7c3797265.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1;

}while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 详解: 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 详解: 8.下列语句正确的是() A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 详解:

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.doczj.com/doc/7c3797265.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

Java基础语法考试题

学士后Java阶段测试-U1单元-笔试试卷1 考试时间 60分钟 选择题(共50题,每题2分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()(多选)。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重 载。(多选) public class Test{ public void cal(int x, int y, int z) {} ________________ } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面Java代码的运行结果是()。 class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { health = 10; sex = "雄"; System.out.println("执行构造方法。");

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.doczj.com/doc/7c3797265.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量 c 的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main 方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

相关主题
文本预览
相关文档 最新文档