• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

Java常考面试题总结(四)

极客题库 Geekerstar 11个月前 (06-04) 647次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]
本文内容来源于网络收集,内容繁杂,难免有误,如果发现错误的地方或者有任何想讨论的问题请在下面留言。

说出四种支持重绘(painting)的组件。

Canvas, Frame, Panel,和Applet支持重绘。

什么是裁剪(clipping)?

限制在一个给定的区域或者形状的绘图操作叫做裁剪。

MenuItem和CheckboxMenuItem的区别是什么?

CheckboxMenuItem类继承自MenuItem类,支持菜单选项可以选中或者不选中。

边缘布局(BorderLayout)里面的元素是如何布局的?

BorderLayout里面的元素是按照容器的东西南北中进行布局的。

网格包布局(GridBagLayout)里面的元素是如何布局的?

GridBagLayout里面的元素是按照网格进行布局的。不同大小的元素可能会占据网格的多于1行或一列。因此,行数和列数可以有不同的大小。

Window和Frame有什么区别?

Frame类继承了Window类,它定义了一个可以有菜单栏的主应用窗口。

裁剪(clipping)和重绘(repainting)有什么联系?

当窗口被AWT重绘线程进行重绘的时候,它会把裁剪区域设置成需要重绘的窗口的区域。

事件监听器接口(event-listener interface)和事件适配器(event-adapter)有什么关系?

事件监听器接口定义了对特定的事件,事件处理器必须要实现的方法。

事件适配器给事件监听器接口提供了默认的实现。

如果实现事件监听器接口,就需要重新写接口中的所有方法,会造成不必要的代码浪费。

适配器是一种设计模式,用抽象类实现接口所有方法,可以没有语句,只需要重写关注的方法。

所有的适配器抽象类都采用了接口的适配器模式来实现。

步骤:适配器抽象类实现所需接口(没有具体的语句实现),自定义类继承抽象类,重写所需的单击事件(其他事件不必重写,有默认的实现)。

GUI组件如何来处理它自己的事件?

GUI组件可以处理它自己的事件,只要它实现相对应的事件监听器接口,并且把自己作为事件监听器。

Java的布局管理器比传统的窗口系统有哪些优势?

Java使用布局管理器以一种一致的方式在所有的窗口平台上摆放组件。

因为布局管理器不会和组件的绝对大小和位置相绑定,所以他们能够适应跨窗口系统的特定平台的不同。

Java的Swing组件使用了哪种设计模式?

Java中的Swing组件使用了MVC(视图-模型-控制器)设计模式。

什么是JDBC?

JDBC是允许用户在不同数据库之间做选择的一个抽象层。

JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节。

解释下驱动(Driver)在JDBC中的角色。

JDBC驱动提供了特定厂商对JDBC API接口类的实现,驱动必须要提供java.sql包下面这些类的实现:Connection, Statement, PreparedStatement,CallableStatement, ResultSet和Driver。

Class.forName()方法有什么作用?

初始化参数指定的类,并且返回此类对应的Class 对象

PreparedStatement比Statement有什么优势?

在开发中使用PreparedStatement,不要使用statement,为什么呢?

1、PreparedStatements是预编译的,PreparedStatements实例包涵已编译的sql语句,所以其执行呢速度要快于statement对象。

2、PreparedStatements作为statement的子类,继承了statement的所有方法,三种方法,excute,excuteQuery和excuteUpdate已被更改以使之不再需要参数。

3、PreparedStatements的代码可读性,可维护性强于statement.

4、极大的提高了安全性 。

什么时候使用CallableStatement?用来准备CallableStatement的方法是什么?

CallableStatement用来执行存储过程。

存储过程是由数据库存储和提供的。

存储过程可以接受输入参数,也可以有返回结果。

非常鼓励使用存储过程,因为它提供了安全性和模块化。

准备一个CallableStatement的方法是:CallableStatement Connection.prepareCall();

数据库连接池是什么意思?

像打开关闭数据库连接这种和数据库的交互可能是很费时的,尤其是当客户端数量增加的时候,会消耗大量的资源,成本是非常高的。

可以在应用服务器启动的时候建立很多个数据库连接并维护在一个池中。

连接请求由池中的连接提供。

在连接使用完毕以后,把连接归还到池中,以用于满足将来更多的请求。

什么是RMI?

RMI Remote Method Invoke 远程方法调用

RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建和服务对象相同的方法

RMI好处是不必写任何网络和IO代码,客户程序调用远程方法(真正的服务所在)跟运行在本地JVM上对对象正常方法调用一样

远程方法调用的过程:

3、注册远程对象 (将远程对象注册到RMI registry中)

4、定义使用远程调用的客户端

5、客户端获取stub对象,需要用到RMI Registry中寻找stub

6、运行服务器和客户程序

RMI体系结构的基本原则是什么?

RMI体系结构是基于一个非常重要的行为定义和行为实现相分离的原则。

RMI允许定义行为的代码和实现行为的代码相分离,并且运行在不同的JVM上。

RMI体系结构分哪几层?

RMI体系结构分以下几层:

存根和骨架层(Stub and Skeleton layer):这一层对程序员是透明的,它主要负责拦截客户端发出的方法调用请求,然后把请求重定向给远程的RMI服务。

远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。

传输层(Transport layer):这一层负责连接参与服务的两个JVM。这一层是建立在网络上机器间的TCP/IP连接之上的。它提供了基本的连接服务,还有一些防火墙穿透策略。

本文内容来源于网络收集,内容繁杂,难免有误,如果发现错误的地方或者有任何想讨论的问题请在下面留言。

丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:Java常考面试题总结(四)
喜欢 (0)
[247507792@qq.com]
分享 (0)
Geekerstar
关于作者:
本站技术支持

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00