Java方向常见面试题.doc
《Java方向常见面试题.doc》由会员分享,可在线阅读,更多相关《Java方向常见面试题.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、优质文本方向常见面试题1中动态与静态的区别? 动态用动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态用伪码实现,定不会检查所含文件的变化,适用于包含静态页面2. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?答:多线程有两种实现方法,分别是继承类与实现接口同步的实现方面有两种,分别是与创立新执行线程有两种方法。一种方法是将类声明为 的子类。该子类应重写 类的 方法。接下来可以分配并启动该子类的实例; ; ( ) = ; () . p = (143); ();创立线程的另一种方法是声明实现 接口的类。该类然后实现 方法。然后可以分配该类的实例,在创
2、立 时作为一个参数来传递并启动。 ; ( ) = ; () . p = (143); (p)();3. 有那些根本数据类型是不是根本数据类型,他们有何区别。不是根本数据类型,是一个对象。根本数据类型不是对象,是一个内存值,如。4. 写一个方法,实现字符串的反转,如:输入,输出 = (); ()();5. 编码转换,怎样实现将2312编码的字符串转换为8859-1编码的字符串。 (“中(“2312,8859-1);6和的区别?:表示恢复不是不可能但很困难的情况下的严重错误,比方说内存溢出,不可能指望程序能处理这种错误;:表示一种设计或实现问题。它表示程序运行正常,从来不发生的情况。7.是否可以继
3、承类?不可以。是类。8.给我一个最常见的运行时异常 答:9. 接口是否可继承接口, 抽象类是否可实现() 接口, 抽象类是否可继承具体类答:接口可以继承接口。抽象类可以实现接口。抽象类可以继承具体类( )。10. 构造器是否可被?可以,通过子类覆盖。11的方法是否可以同时是,是否可以同时是,是否可以同时是?答:不可以与合用不可以与合用不可以与合用12有没有?有,但没有用13. 数组有没有()这个方法?有没有()这个方法?答:数组有这个属性,没有()方法有()这个方法,没有属性15. 和的区别?是字符串常量;它们的值在创立之后不能改变。是线程平安的可变字符序列。可将字符串缓冲区平安地用于多个线程
4、。可以在必要时对这些方法进行同步。 上的主要操作是 和 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。 方法始终将这些字符添加到缓冲区的末端;而 方法那么在指定的点添加字符。一个可变的字符序列。此类提供一个与 兼容的 ,但不保证同步。该类被设计用作 的一个简易替换,用在字符串缓冲区被单个线程使用的时候这种情况很普遍。如果可能,建议优先采用该类,因为在大多数实现中,它比 要快。在 上的主要操作是 和 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符
5、追加或插入到字符串生成器中。 方法始终将这些字符添加到生成器的末端;而 方法那么在指定的点添加字符。将 的实例用于多个线程是不平安的。如果需要这样的同步,那么建议使用 。 a = a假设a指向地址0x0001,a = b重新负值后a指向地址0x0002,但0x0001地址中保存的a依旧存在,但已经不再是a所指向的。从外表上看类型的对象改变了值,但事实是他不能改变值,只能改变指向的地址那么不同,直接改变指向的地址中保存的值还有 s1 = (a); s2 = (a);s1(s2)为什么是 s1 = (a); s2 = (a);s1(s2)为什么是类中没有重新定义这个方法,因此这个方法就来自类,而类
6、中的方法是用来比较地址的,所以等于.类中重新定义了这个方法,而且比较的是值,而不是地址。所以会是。16之间的区别?修饰符关键字如果一个类被声明为,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 的,又被声明为的。将变量或方法声明为,可以保证它们在使用中不被改变。被声明为的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为的方法也同样只能使用,不能重载 再异常处理时提供 块来执行任何去除操作。如果抛出一个异常,那么相匹配的 子句就会执行,然后控制就会进入 块如果有的话。 方法名。 技术允许使用 () 方法在垃圾收集器将对象从内存中去除出去之前做必要
7、的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 类中定义的,因此所有的类都继承了它。子类覆盖 () 方法以整理系统资源或者执行其他清理工作。() 方法是在垃圾收集器删除对象之前对这个对象调用的。17. 和的区别?重定向:这个方式的重定向是通过效劳器收到请求后发送一个状态头给客户,客户再请求一次而实现的,因此它的效率可能要低一些,而且上一页面的资料和状态将不会被重定向到新的页面。转发:这种重定向其实是效劳器控制权的转向,客户端发来的请求将交由新的页面进行处理,而且使用这种重定向,可以将一个页面的资料和状态传到被重定向的页面。而且客户端浏览器的地址栏也不会显示
8、转向后的地址。重定向的速度比转发要慢,因为浏览器得发出一个新的请求。18和以及之间的关系是什么?是客户端的程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果。 是效劳器端的程序,用于实现效劳器功能的扩充,响应客户端请求。一般用在中的控制器中,其作用是很强大的,但是如果将它用在表现层将会非常不方便。 那么是对简化,用于方便输出动态页面,实质上就是。一般用作中的视图。19与的区别?答:模式,指与 。特点是平安、快捷、准确。模式,指与。具有节省投资、跨地域广的优点。速度上没什么区别,领域上,更适合于一些远程数据库的管理,但受限于浏览器功能,对于要求效率、防止繁琐来说,还是不错的。
9、 与 区别: 答:是建立在局域网的根底上的是建立在广域网的根底上的. 1硬件环境不同: 答: 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门效劳器提供连接和数据交换效劳. 建立在广域网之上的, 不必是专门的网络硬件环境,例与 上网, 租用设备. 信息自己管理. 有比更强的适应范围, 一般只要有操作系统和浏览器就行 2对平安要求不同 答: 一般面向相对固定的用户群, 对信息平安的控制能力很强. 一般高度机密的信息系统采用 结构适宜. 可以通过发布局部可公开信息. 建立在广域网之上, 对平安的控制能力相对弱, 面向是不可知的用户群. 3对程序架构不同 答: 程序可以更加注重流
10、程, 可以对权限多层次校验, 对系统运行速度可以较少考虑. 对平安以及访问速度的多重的考虑, 建立在需要更加优化的根底之上. 比有更高的要求 结构的程序架构是开展的趋势, 从的系列的 2000 2000等, 全面支持网络的构件搭建的系统. 和推的 构件技术等,使 更加成熟. 4软件重用不同 答: 程序可以不可防止的整体性考虑, 构件的重用性不如在要求下的构件的重用性好. 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子 5系统维护不同 答:系统维护是软件生存周期中,开销大, 重要 程序由于整体性, 必须整体考察, 处理出现的问题以及
11、系统升级. 升级难. 可能是再做一个全新的系统 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6处理问题不同 答: 程序可以处理用户面固定, 并且在相同区域, 平安要求高需求, 与操作系统相关. 应该都是相同的系统 建立在广域网上, 面向不同的用户群, 分散地域, 这是无法作到的. 与操作系统平台关系最小. 7用户接口不同 答: 多是建立的平台上,表现方法有限,对程序员普遍要求较高 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大局部难度减低,减低开发本钱. 8信息流不同 答: 程序一般是典型的中央集权的机械式
12、处理, 交互性相对低 信息流向可变化, 等信息、流向的变化, 更象交易中心20. &和的区别答:&是位运算符。是布尔逻辑运算符。21. 和的区别答:都属于接口的类,实现了将惟一键映射到特定的值上。 类没有分类或者排序。它允许一个 键和多个 值。 类似于 ,但是不允许 键和 值。它也比 慢,因为它是同步的。 22. 和 的区别答: 是个下的类,它包含有各种有关集合操作的静态方法。 是个下的接口,它是各种集合结构的父接口。23. () 和 () 有什么区别? 搞线程的最爱 答:()方法是使线程停止一段时间的方法。在 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而
13、且没有被调度为放弃执行,除非(a)“醒来的线程具有更高的优先级;(b)正在运行的线程因为其它原因而阻塞()是线程交互时,如果线程对一个同步对象x 发出一个()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。 24. 和的区别。的方法是否可以改变返回值的类型? 答:方法的重写和重载是多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 ()。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽了。如果在一个类中定义了多个同名的方法,它们或有不同
14、的参数个数或有不同的参数类型,那么称为方法的重载()。的方法是可以改变返回值的类型。 25. , , 是否继承自接口? ,是 不是 26. 接口是否可继承接口? 抽象类是否可实现()接口? 抽象类是否可继承实体类( )? 接口可以继承接口。抽象类可以实现()接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。 27. 启动一个线程是用()还是()? 启动一个线程是调用()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由调度并执行。这并不意味着线程就会立即运行。()方法可以产生必须退出的标志来停止一个线程。28. 和对象的区别小结封装,继承,多态1的对象可以分配在(堆
15、中)和(堆栈中),而的对象只能在;因此,对象都是全局的,当没有引用时,由负责回收,生命周期不明确,所以没有析构函数,资源管理要靠 ; 2,中的对象在调用方法退出后会调用析构函数,中的对象时自动调用析构函数,所以会有 ; 3中类的非静态方法都是虚拟的,而必须明确指出哪些方法是; 4没有指针,对象是全局的,分配在中,创立和赋值都很简单;的多态要靠指针,虚拟函数表();因此引申出了拷贝构造函数,赋值构造函数,当然这和也有关系。5支持多重继承,这是的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很。29. 共有以下9种根本内置组件可与的6种内部
16、组件相对应: 用户端请求,此请求会包含来自请求的参数 网页传回用户端的回应 网页的属性是在这里管理 与请求有关的会话期 正在执行的内容 用来传送回应的输出 的构架部件 网页本身 针对错误网页,未捕捉的例外30. 是什么? 为什么要有? (根底)是垃圾收集器。 程序员不用担忧内存管理,因为垃圾收集器会自动进行管理。31. 文档定义有几种形式?它们之间有何本质区别?解析文档有哪几种方式? 此题三个答题点:a:两种形式b:本质区别本身是的,可以被解析器解析(这也是从上开展的根本目的)c:两种主要方式.32. 简述和的异同?主要相同点:能完成所实现的所有功能.(其它不重要)主要不同点:有比更精确的线程
17、语义和更好的性能(在相同点中答复此点也行)会自动释放锁.而一定要求程序员手工释放.并且必须在从句中释放,如果没有答出在中释放不得分.就如没有在中关闭一样.连最根本的资源释放都做不好,还谈什么多线程编程.33. 标准规定中禁止的操作有哪些? 共有8点,答出以下3-4点得总分值.1.不能操作线程和线程(线程指非线程对象的方法如等)2.不能操作3.不能实现效劳器功能4.不能对静态属生存取.5.不能使用操作直接存取文件系统6.不能加载本地库.7.不能将作为变量和返回.8.不能循环调用.34中的内置对象及方法表示对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取, , 和数据的有用的方法。 表示
18、对象,并提供了几个用于设置送回 浏览器的响应的方法如,头信息等 对象是的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 表示一个对象。它是用于方便存取各种范围的名字空间、相关的对象的,并且包装了通用的相关功能的方法。 表示一个请求的对象。可以存贮用户的状态信息 表示一个对象。这有助于查找有关引擎和环境的信息 表示一个对象。该对象用于存取实例的初始化参数。 表示从该页面产生的一个实例35.说出四种会话技术,并作出相应的描述 效劳器在一个应答首部传递给浏览器的名称/值对。浏览器保存的时间由的过期时间属性来指定。当浏览器向某个效劳器发送一个请求时,它会检查其保存的,并在请求首部中包含从同
19、一台效劳器上接收到的所有。重写把会话编码在中。这样,即使浏览器不支持,也能够实现会话跟踪。对于复写,效劳器从请求的中提取出会话,并把该请求与相应的会话关联起来,然后在访问会话数据的时候,页面所进行的处理方式就和使用跟踪会话时所使用的方式完全相同。所以的实现要依靠或复写技术。如果想为不支持的浏览器提供会话跟踪,就必须使用行为对应用程序中的所有进行复写。这意味着应用程序中的所有页面至少是那些带有对其他页面引用的页面都必须是页面,这样页面引用才能以动态方式进行编码,如果遗漏了一个,那么效劳就会失去对会话的跟踪。在浏览器和效劳器之间不直接传送所有的状态信息,而只是传递表示符 。浏览器发送,效劳器跟踪与
20、该会话相关联的所有信息。传递可以通过和复写技术,大局部容器都支持这两种技术。效劳器无法分辨用户是否关闭了浏览器,因此关闭浏览器意味着与先前的会话关联的所有会话数据都保存在效劳器上,直到会话超时,效劳器销毁会话对像。隐藏域隐藏表单域是将会话添加到的隐藏表单中(类型为的)。36. 中的异常处理机制的简单原理和应用。当程序违反了的语义规那么时,虚拟机就会将发生的错误表示为一个异常。违反语义规那么包括2种情况。一种是类库内置的语义检查。例如数组下标越界,会引发;访问的对象时会引发。另一种情况就是允许程序员扩展这种语义检查,程序员可以创立自己的异常,并自由选择在何时用关键字引发异常。所有的异常都是的子类
21、。37.到目前为止,你了解的设计模式有那些?并谈谈你的看法38. 静态变量和实例变量的区别? i = 10; 常量; A a; =10可变39中实现多态的机制是什么?方法的重写和重载是多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。40. 什么是序列化,如何实现序列化?序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现接口,该接口没有需要实现的方法, 只是为了标注该对象是可被序
22、列化的,然后使用一个输出流(如:)来构造一个(对象流)对象,接着,使用对象的( )方法就可以将参数为的对象写出(即保存其状态),要恢复的话那么用输入流。41.名词解释, , ,进程, 。是一个企业级消息系统。的功能大致上分为两块,叫做消息制造和消息消耗。 。 是事务效劳的 J2 解决方案。本质上,它是描述事务接口比方 接口,开发人员直接使用该接口或者通过 J2 容器使用该接口来确保业务逻辑能够可靠地运行的 J2 模型的一局部。 具有的三个主要的接口分别是 接口、 接口和 接口。模型明确的事务效劳的好处是对于每个单独的事务总是维持四个 特性。()。 命名和目录接口。 在 J2 中的角色就是“交换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 方向 常见 试题
限制150内