JAVA笔试题 java笔试题大全带答案

JAVA笔试题

JAVA笔试题

1. 请简述String和StringBuffer的区别

a)String是不变的字符串常量,每次赋值的时候都会生成新的String引用

b)StringBuffer使用的是同一个实例,每次改变的是stringbuffer对象的内容

ayList,Vector, LinkedList,set的区别

a)arraylist,linkedlist是非同步的,允许为空, vector是同步的,线程安全的,不允许为空

b)ArrayList 和Vector是采用数组方式存储数据, LinkedList使用双向链表实现存储

c) List 队列里边的元素是有顺序的,可重复的,根据下标可以获取元素。set是个接口,set里边的元素是不可重复的,而且没有指定的顺序,就是个集合。

rLoad和Override的区别,Overloaded的方法是否可以改变返回值的类型?

a)Overload是重写(覆盖),子类的方法跟父类方法名字一样,子类的方法把父类的覆盖了。

b)Override是重载,不同的方法参数、返回值不一样,紧紧返回值不一样的两个函数不叫重载,编译不会通过的。

nymous inner class是否可以extends(继承)其他类,是否可以实现接口?

a)匿名内部类在实现时必须借助一个类或一个接口,从这个层次上讲它是可以继承其他类也可以实现接口的,但若是通过extends或implements关键字那是不可能的

5. nd(11.5)与nd(-11.5)的返回结果

a)nd(11.5)返回(long)12,nd(-11.5)返回(long)-11;

6. 数组有没有length()这个方法?String有没有length()这个方法?

a)数组没有length()这个方法,有length的属性。String有有length()这个方法。

7. 线程的基本概念,线程的基本状态以及状态之间的关系

a)线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身.Java中的线程有四种状态分别是:运行,就绪,挂起,结束.

8. Sleep()与wait()区别

a)sleep()不释放同步锁,wait()释放同步缩.sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起

9. Forward和redirect的区别

a)容器中控制权的转向,url不变,效率较高,能得到request的共享资源;后者则是完全的跳转,改变url,效率较低,不能得到共享资源

中动态include与静态include的区别?

a)静态include的结果是把其他jsp引入当前jsp,两者合为一体不会检查所含文件的变化,适用于包含静态页面

b)动态include的结构是两者独立,直到输出时才合并( 每个jsp生成一个class),适合用于包含动态页面,并且可以带参数

11.列举JSp的内置对象及方法

a)request,response,out,pageContext,session,applicaton,config,page

vlet的生命周期,如何实现servlet的单线程模式

a)实例化:Servlet容器创建Servlet类的实例。

b)初始化:该容器调用init()方法,通常会申请资源。

c)服务:由容器调用service()方法,(也就是doGet()和dopost())。

d)破坏:在释放Servlet实例之前调用destroy()方法,通常会释放资源。

e)不可用:释放内存的实例。

13.简述Struts1与struts2的区别

a)ionstruts1使用抽象编程,不是接口.必须继承action类,struts2可以实现接口,可是不实现接口.

b)2.线程 struts1只有一个并且是单例模式,必须是线程安全的.struts2为每一个请求创建一个action

c)vlet strut1依赖与servlet api 单独测试比较麻烦.struts2不依赖于容器.允许脱离容器,单独测试

d)m strut1得到属性必须用action form接受.struts直接在action里面定义属性接受

e)uts1没有interception,

ing的bean有哪些作用域

a)singleton作用域,当一个bean的作用域设置为singleton, 那么SpringIOC容器中只会存在一个共享的bean实例

b)prototype作用域,每一次请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)都会产生一个新的bean实例

c)request作用域表示该针对每一次HTTp请求都会产生一个新的bean,同时该bean仅在当前HTTprequest内有效

15.简述spring的事务传播行为和隔离级别

16.简述hibernate的缓存机制和延时加载

ernate中的update()和saveorupdate()的区别

a)saveOrUpdate()会根据所给对象的id不同,来选择使用save或者update

ernate中的Session的load()和get()的区别

a)load()方法在你想load的对象不存在时,会throw exception,而get方法就返回一个null给你

中的三种弹出式消息提醒()如:警告,确认,信息输入) 的命令是什么?

a)alert(警告);yesOrNo = confirm(确认?);inputValue =prompt(输入内容提示, 默认值);

如何取当前日期时间/格式为:yyyy-mm-dd hh:mm:ss

var today =new Date()alert((ocaleString().replace(/年|月/g,-)).replace(/日/g,))

21.悲观锁和乐观锁各是什么.

a)在更新的过程中,数据库处于加锁状态,任何其他的针对本条数据的操作都将被延迟。本次事务提交后解锁。

b)短暂的时间里不会有事务来修改此数据库的数据!

22.为什么使用数据库索引,使用索引需要注意哪些事项

a)索引通常能提高select/update/的性能,会降低的速度

rt s1=1; s1=s1+1;有什么错?short s1=1; s1+=1;有什么错?

s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1=(short)(s1+1)
short s1=1; s1+=1正确

24.构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

25.运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的`运行时异常。

or和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况

tic Nested Class 和 Inner Class的不同。

Static NestedClass是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化.而通常的内部类需要在外部类实例化后才能实例化

28.构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

a中的异常处理机制的简单原理和应用。
当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullpointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是wable的子类。

31.描述一下JVM加载class文件的原理机制?
JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的Java运行时系统组件.它负责在运行时查找和装入类文件的类
32.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口

33.线程的基本概念、线程的基本状态以及状态之间的关系
线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身.Java中的线程有四种状态分别是:运行、就绪、挂起、结束

文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
a:两种形式 dtdschema,b:本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),c:有DOM,SAX,STAX等

35.简述synchronized和k的异同 ?
主要相同点:Lock能完成synchronized所实现的所有功能
主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除