java笔试题

选择题:

1.下列语句哪一个是正确()

A、java程序经编译后会产生machine code。

B、java程序编译后会产生byte code。

C、java程序编译后会产生DLL。

D、以后都不正确。

2、下列说法正确的有()

A、class中constructor不可忽略

B、constructor必须与class同名,但方法不能与class同名

C、constructor在一个对象被new时执行

D、一个class只能定义一个constructor

3、提供java存取数据库能力的包是()

A、java.sql

B、java.awt

C、java.lang

D、java.swing

4、下列运算符合法的是()

A、&&

B、<>

C、if

D、:=

5、执行如下程序代码()

a=0;c=0;

do{

--c;

a=a-1;

}while(a>0);

后,C的值是()

A、0

B、1

C、-1

D、死循环

答案:B;C;A;A;C

6、下列哪一种叙述是正确的()

A、abstract修饰符可修饰字段、方法、类。

B、抽象方法的body部分必须用一对大括号{}包住

C、声明抽象方法,大括号可有可无。

D、声明抽象方法不可写出大括号。

7、jsp指令中isELIgnored="boolean"的意思是()

A、决定是否实现Servler的单线程模式

B、决定该页面是否是一个错误处理页面

C、决定是否支持EL标识

D、没有具体意义

8、按照MVC设计模式,JSP用于实现()

A、Model

B、View

C、Controller

D、容器

9、下面哪个不是表单标记()

A、INPUT

B、RADIO

C、CHECKBOX

D、TR

10、下列哪种说法是正确的()

A、实例方法可直接调用超类的实例方法

B、实例方法可直接调用超类的类方法

C、实例方法可直接调用其他类的实例方法

D、实例方法可直接本类的类方法

答案:6:D  7:C  8:B  9:D  10:D

二、多选题

1、下面哪些是对称加密算法()

A、DES

B、AES

C、DSA

D、RSA

2、JAVA接口的修饰符可以为()

A、private

B、protected

C、final

D、abstract

3、下列标识符不合法的有()

A、new

B、$Usdollars

C、1234

D、car.taxi

4、下列说法错误的有()

A、java面向对象语言容许单独的过程与函数存在

B、java面向对象语言容许单独的方法存在

C、java语言中的方法属于类中的成员(member)

D、java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同

5、下列说法正确的有()

A、环境变量可在编译source code时指定

B、在编译程序时,所能指定的环境变量不包括class path

C、java一次可同时编译数个java源文件

D、java.exe能指定便以结果要置于那个目录

答案:1.AB 2:CD3:ACD 4:ABC 5:BCD

判断题:

1、java程序中的起始类名称必须与存在该类的文件名相同(正)

2、Unicode是用16位来标识一个字的(正)

3、原生类中的数据类型均可任意转换(错)

4、java支持多重继承(错)

5、方法的重载是指子类和父类具有相同的名字,相同的参数表,但返回类型可以不相同(错)

6、在编译java源程序时,计算机根本不会去识别各个变量名的具体含义,因此命名规范对编写java程序不是必要的(错)

7、抽象类中不能创建对象(正)

8、java语言中,类的成员变量在整个类内都有效,其有效性与它在类体中的位置无关,方法中的局部变量的有效性与它在方法体中的位置无关(错)

9、异常是一种特殊的运行错误的对象(正)

10、异常通常是指Error类和Exception(错)

11、线程的启动是通过引用其start()方法而实现的(正)

12、关键词synchronized只能对方法进行修饰(错)

13、死锁的产生原因是因为多个线程间存在资源竞争(正)

14、若所有用户线程都终止了,java程序就会结束(正)

15、Map接口是自Collection接口继承而来(错)

16、Arrays类主要是对数组进行操作(正)

17、文件缓冲流的作用是提高文件的读/写效率(正)

18、当DataInputStream对象读到文件结束,则返回-1(错)

19、基于TCP和基于UDP的网络编程不存在任何区别(错)

20、安全套接字和普通套接字在流处理上不存在区别(正)

数据库:

现为管理岗位业务培训信息,建立如下三个表:

S(S#, SN, SD, SA)字段分别代表学号,学员姓名,所属单位,学员年龄

C(C#, CN)字段代表课程编号,课程名称

SC(S#, C#, G)代表学号,所选修的课程编号,学习成绩

请编写sql语句:

1,使用标准sql嵌套语句查询选修课程名称为‘税收基础’的学员学号和姓名

Select  SN, SD FROM  WHERE  [S#]   IN  (SELECT  [S#]  FROM  C, SC  WHERE  C.[C#]= SC.[C#]  AND  CN ='税收基础')

2.使用标准sql嵌套语句查询选修课程编号为'C2'的学员姓名和所属单位

SELECT   S.SN , S.SD   FROM  S , SC  WHERE  S.[S#] = SC.[S#]  AND  SC.[C#]='C2'

问答题:

1,关系型数据库和非关系型数据库区别

2.触发器的作用

3,什么是存储过程,用什么来调用

4.什么是事物,什么是锁?

5.在数据库中查询语句很慢,怎么优化

a、建立索引

b、减少表之间关联

c、 优化sql,不做全表查询,数据量大的表排在前面

d、尽量减少返回字段

e、尽量使用preparedStatement来查询,不要用Statement。

综合题:

1,描述一下jvm加载class文件的原理机制?

答:JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。
由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。加载完成后,Class对象还不完整,所以此时的类还不可用。当类被加载后就进入连接阶段,这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤。最后JVM对类进行初始化,包括:1)如果类存在直接的父类并且这个类还没有被初始化,那么就先初始化父类;2)如果类中存在初始化语句,就依次执行这些初始化语句。

2,java中会存在内存泄漏吗

答:理论上Java因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是Java被广泛使用于服务器端编程的一个重要原因);然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,因此也会导致内存泄露的发生。例如Hibernate的Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close)或清空(flush)一级缓存就可能导致内存泄露。下面例子中的代码也会导致内存泄露。

3,简述final  finally ,finalize区别

  • final:修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词。将变量声明为final,可以保证它们在使用中不被改变,被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取不可修改。被声明为final的方法也同样只能使用,不能在子类中被重写。
  • finally:通常放在try…catch…的后面构造总是执行代码块,这就意味着程序无论正常执行还是发生异常,这里的代码只要JVM不关闭都能执行,可以将释放外部资源的代码写在finally块中。
  • finalize:Object类中定义的方法,Java中允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在销毁对象时调用的,通过重写finalize()方法可以整理系统资源或者执行其他清理工作。

4,Servlet接口中有哪些方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kunzai6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值