选择题:
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接口中有哪些方法。