版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档java工程师笔试题一、填空题(本大题10小题,每空1分,共20分)i.java语言的三大特性即是:继承 、 封装 、 多态 。2 .在java中,char型采用 unicode 编码方案,这样,无论是中文字符还是英文字符,都是占用_2个字节的内存空间。3 .形式参数指的是方法被定义 时的参数行,实际参数是方法被调用_时所传递进去的变量或值。4 .jsp内置对象中,application 对象是 代表应用程序上下文,它允许jsp页面与包括在同一应用程序中的任何 webfi件共享信息,而 session 对象则是每个客户专用的。5 .如果想把一个对象写入一个流,那么这个类就必须实现ser
2、alizable接口。6 .程序中实现多线程的方法有两种:继承thread类和实现runable 接口。7 .多线程中,可以通过调用相应的 setpriority()方法来修改一个线程 的相对优先级。8 .面向对象编程的五大设计原则,分别是 单一职责、开放封闭、里氏替换、 依赖倒置 、 接口分离9 .通过ajax ,客户端获取的数据主要有两种类型:文本型和 xml10 . socket通常也称为套接字,用于描述 ip 和接口二、选择题(本大题20小题,每小题2分.共40分)。1 .在java中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用()关键字来声明父类的这些方法:a)
3、final b) static c) abstract d) void2 .在java中,已定义两个接口 b和c,要定义一个实现这两个接口的类,以下语 句正确的是()。a) interface a extend b,c b) interface a implements b,cc) class a implements b,c d) class a implements b, implements c3. 在java接口中可以定义()。a) 静态方法b) 常量 c) 构造方法d) 抽象方法4. 假设a 有构造方法a (int a), 则在类 a 的其他构造方法中调用该构造方法和语句格式应为(
4、) 。a) a(x) b) this.a(x) c) this(x) d) super(x)5. 设 x = 1 ,y = 2 , z = 3, 则表达式y+=z-/+x的值是 ( ) 。a) 3 b) 3.5 c) 4 d) 56下列关于继承的说法哪个正确?( ) 。a) 子类只继承父类public 方法和属性:b) 子类继承父类的非私有属性和方法 :c) 子类继承父类的方法,而不继承父类的属性 :d) 子类将继承的所有的属性和方法.7. 在java中.在使用jdbc寸。对于多次调用同一条sql语句的情况,使用() 通常会提高效。a) statementb) callablestatemen
5、tc) preparedstatement d) prarmeterstatement8. 下列不能控制一个servlet 的生命周期方的法是:a) service b) destroy c) dopost d) init9. 能够给一个byte 型变量赋值的范围是( ) 。a) 0 65535b) (-128)127c) (-32, 768)32, 767 d) (-256)25510. java 语言中 int 类型数据占用多少位 ?( ) 。a) 32 b) 64 c) 16 d) 2011. servletcontext 对象是如何创建的 ?( ) 。a)由servlet容器创建,对于
6、每个http青求.servlet 容器都会创建一个servletcontext 对象b)由javaweb应用本身为自己创建一个 servletcontext 对象c)由servlet容器创建,对于每个javeweb应用,在启动时,servlet容器都会创建一个 servletcontext 对象12. 在 jsp 中不能在不同用户之间共享数据的方法是( ) 。a) 通过cookie b)利用文件系统c) 利用数据库d)通过servletcontext 对象13. 以下哪个不是collection 的子接口 ?( )。a) list b) set c) map d) sortedset14. 下
7、面正确的创建 socket 的语句是 ( )。a) socket a = new soeket(80):b) socket b = new socket(130. 3. 4. 5, 80):c) serversocket c = new socket(80)d) serversocket d = new socket (130. 3. 4, 5, 80)15. 下面的说法正确的是( ) 。a)带有页作用域的对象在一个 web应用程序的每个jsp中都存在.8) 指令指定与一个特定的 jsp 请求不相关的全局信息。c)当jsp容器遇到开始定制标签和结束定制标签时,分别调用 doinitbody 方
8、法和 doafterbody 方法。d) 动作只在翻译时处理一次。16. 为了区分重载多态中同名的不同方法, 要求 :( )。a) 参数名不同 b) 采用不同的形式参数列表c) 返回值类型不同 d) 选项 a, b, c 都对17. 下面是有关子类调用父类构造函数的描述正确的是:( )。a) 子类定义了自己的构造函数. 就不会调用父类的构造函数b)子类必须通过super关键字调用父类有参数的构造函数先调用子类类的构造c) 如果子类的构造没有通过super 调用父类构造函数,那么子类会自己的构造函数,再调用父类不含参数的构造函数。d) 创建子类的对象时, 先调用子类自己的构造函数, 然后调用父函
9、数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表中选择记录的以下代码片段,识别其遗漏的代码行。() connection con = null:class. forname(sun.jdbc.odbc.jdbc
10、odbcdriver):con=drivermanager.getconnection(jdbc:odbc:ss , sa , );resultset rs=stat.executequery(select * from employee);a) statement stat=createstatement();b) statement stat=con.createstatement ();c) preparedstatement stat=con.createstatement():d) preparedstatement stat=createpreparedstatement();三、
11、问答题 (本大题 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 分)答案
12、:一、填空题1 . 封装 、 继承 、 多态2 .unicode 23 . 定义 调用4 .application session5.seralizabe6.runnable7.setpriority()8 . 单一职责原则(srp) 、开放封闭原则(ocp) 、里氏替换原则(lsp) 、依赖倒置原则(dip) 、接口隔离原则(isp)9 .xml10.ip 地址 接口二、选择题1 .c2 .c3.bd4 .c5 .a6.b7 .c8 .c9.b10 .a11 .c12 .a13 .c14 .c15 .d16.b17.b18.b19.c6欢迎下载 。精品文档20.b三、简答题(参考答案)1 .
13、 arraylist和vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以 便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,vector由于使用了 synchronized方法(线程安管,通常性能上较 arraylist 差,而linkedlist使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。2 .创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例 模式。支持多线程调用,考虑线程安全,只需要加锁即可。public cl
14、ass singletonprivate static singleton instance = null;private singleton()private static synchronized void syncinit() if(instance = null) instance = newsingleton(); public static singleton getinstance() if(instance = null) syncinit(); return instance; 3 . jvm中类的装载是由 classloader和它的子类来实现的,java classloa
15、der是 一个重要的java运行时系统组件。它负责在运行时查找和装入类文件的类。4 .解决办法:a.利用javascript ,在客户端进行校验。b.程序判断c.使用preparedstatement连接数据库。(参数化)d.利用框架技术5 . hibernate是一个开放源代码的对象关系映射框架,它对jdbc1行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数 据库。hibernate可以应用在任何使用jdbc勺场合,既可以在java的客户端 程序使用,也可以在 servlet/jsp 的wetg用中使用。一级缓存就是session级别的缓存,一个sessio
16、n做了一个查询操作,它会把这 个操作的结果放在一级缓存中,如果短时间内这个session (一定要同一个session )又做了同一个操作,那么 hibernate 直接从 一级缓存中拿,而不会再去连数据库,取数据;二级缓存就是sessionfactory级别的缓存,顾名思义,就是查询的时候会把查 询结果缓存到二级缓存中,如果同一个sessionfactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果, 而不会再去连接数据库;6 .插入排序、希尔排序、冒泡排序、快速排序、直接排序、归并排序下面以快速排序为例:1. public class quickso
17、rt 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. public quicksort()5. quick(a);6. for(int i=0;ia.length;i+)7. system.out.println(ai);8. 9. 10. public int getmiddle(int list, int low, int high) 11. int tmp =listlow; /数组的第一个作为中轴12. while (low high)13. while (low = tmp) 14. high-;15. 16.17. listlow =listhigh; /比中轴小的记录移到低端18. while (l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论