标签:java面试
五:swing
17.弹出式选择(choice)菜单和列表(List)有什么区别?
choice是以一种紧凑型的形式展示的,需下拉才能看见,一次选择一个,而List同时可以选择多个元素可见,支持选中一个或者多个元素。
布局管理器用来在容器中组织组件
18.滚动条(Scrollbar)和滚动面板(JScrollPane)有什么区别?
crollbar 是一个组件,不是容器。而 ScrollPane 是容器。 ScrollPane 自己处理滚动事件
19.哪些Swing方法是线程安全的?
repaint(),revalidate(),invalidate()
20.说出三种支持重绘(painting)组件
Canvas、Frame,Panel、Applet支持重绘
21. Window和Frame有什么区别?
Frame类继承了Window类,它定义了一个可以有菜单栏的主应用窗口。
22.GUI组件如何来处理自己的事件?
GUI 组件可以处理它自己的事件,只要它实现相对应的事件监听器接口,并且把自己作为事
件监听器。
六:JDBC
23:JDBC简介
JDBC允许用户在不同的数据之间做选择的一个抽象层,JDBC允许Java写数据库应用程序,而不必关心特点数据库的细节。
24:驱动(Driver)在JDBC中的角色
JDBC 驱动提供了特定厂商对 JDBC API 接口类的实现,驱动必须要提供 java.sql 包下面这些类
的实现: Connection, Statement, PreparedStatement,CallableStatement, ResultSet 和 Driver。
25:Class.forName()方法有什么作用?
这个方法是用来载入跟数据库建立连接的驱动。
26.PreparedStatement 比 Statement 有什么优势?
PreparedStatement 是预编译的,比Statement性能会更好,同时,不同的查询参数值,PreparedStatement 可以重用的。
27.什么时候使用 CallableStatement?用来准备 CallableStatement 的方法是什么?
CallableStatement用来执行存储过程,存储过程是由数据库存储和提供的,存储过程可以接收输入参数,也可以有返回结果,准备的方法是
CallableStatement.prepareCall();
28.数据连接池什么意思?
像打开关闭数据库连接,这种和数据库的交互是很费劲的,尤其是当客户端数量增加的比较快的时候,会消耗大量的资源,成本会大的吓人,可以在应用起来的时候,建立多个数据库连接,并且维护在一个池子里,连接请求由池中的连接提供,在使用完毕之后,把连接归还到池中,以满足之后的需求。
七:远程方法调用
29. 什么是RMI?
Java 远程方法调用(Java RMI)是 Java API 对远程过程调用(RPC)提供的面向对象的等价形式,
支持直接传输序列化的 Java 对象和分布式垃圾回收。远程方法调用可以看做是激活远程正在运行的对象上的方法的步骤。 RMI 对调用者是位置透明的,因为调用者感觉方法是执行在本地运行的对象上的。看下 RMI 的一些注意事项。
30.RMI 体系结构的基本原则是什么?
RMI 体系结构是基于一个非常重要的行为定义和行为实现相分离的原则。 RMI 允许定义行为
的代码和实现行为的代码相分离,并且运行在不同的 JVM 上。
31.RMI 体系结构分哪几层?
RMI 体系结构分以下几层:
存根和骨架层(Stub and Skeleton layer):这一层对程序员是透明的,它主要负责拦截客户端发出的方法调用请求,然后把请求重定向给远程的 RMI 服务。
远程引用层(Remote Reference Layer): RMI 体系结构的第二层用来解析客户端对服务端远程
对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。
传输层(Transport layer):这一层负责连接参与服务的两个 JVM。这一层是建立在网络上机器
间的 TCP/IP 连接之上的。它提供了基本的连接服务,还有一些防火墙穿透策略。
32.RMI 中的远程接口(Remote Interface)扮演了什么样的角色?
远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。实现了远程接口的类应该声明被实现的远程接口,给每一个远程对象定义构造函数,给所有远程接口的方法提供实现。
33.让 RMI 程序能正确运行有哪些步骤?
为了让 RMI 程序能正确运行必须要包含以下几个步骤:
编译所有的源文件。
使用 rmic 生成 stub。
启动 rmiregistry。
启动 RMI 服务器。
运行客户端程序。
34.Serialization 和 Deserialization。
Serialization 是提供了一种对象序列化机制,把对象表示成一连串的字节,包含了对象的数据信息和类型信息,序列化可以看成是为了把对象存储在磁盘上或者从磁盘上读出来讲对象扁平化,而Deserialization就是反向操作。
后续将有更多Java技术干货分享,对您有所启发,志同道合的您一定想点个赞、关注我吧!