经典Java面试100例,轻松搞定BAT——高频面试题(下)

JDBC

====

73. 什么是 JDBC**?**

JDBC 是允许用户在不同数据库之间做选择的一个抽象层。 JDBC 允许开发者用 JAVA 写数据库应用程序,而不需要关心底层特定数据库的细节。

74. **解驱动(Driver)**在 JDBC 中的角色。

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

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

这个方法用来载入跟数据库建立连接的驱动。

76. PreparedStatement 比 Statement 有什么优势

PreparedStatements 是预编译的 , 因此 , 性能会更好。同时 , 不同的查询参数值 ,

PreparedStatement 可以重用。

77. 什么候使用 CallableStatement? 用来准****备 CallableStatement 的方法是什么?

CallableStatement 用来执行存储过程。存储过程是由数据库存储和提供的。存储过程可以接受输入参数,也可以有返回结果。非常鼓励使用存储过程,因为它提供了安全性和模块化。准 备 一 个 CallableStatement 的 方 法 是 :CallableStament.prepareCall();

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

像打开关闭数据库连接这种和数据库的交互可能是很费时的,尤其是当客户端数量增加的时候,会消耗大量的资源,成本是非常高的。可以在应用服务器启动的时候建立很多个数据库连接并维护在一个池中。连接请求由池中的连接提供。在连接使用完毕以后,把连接归还到 池中,以用于满足将来更多的请求。

远程方法调用(RMI)

===========

79. 什么是 RMI?

Java 远程方法调用(JavaRMI)是 Java API 对远程过程调用(RPC)提供的面向对象的等价形式,支持直接传输序列化的 Java 对象和分布式垃圾回收。远程方法调用可以看做是激活远程正在运行的对象上的方法的步骤。 RMI 对调用者是位置透明的,因为调用者感觉方法是执行在本地运行的对象上的。看下 RMI 的一些注意事项。

80. RMI 体系构的基本原是什么?

RMI 体系结构是基于一个非常重要的行为定义和行为实现相分离的原则。 RMI 允许定义行为的代码和实现行为的代码相分离,并且运行在不同的 JVM 上。

81. RMI 体系构分哪几

RMI 体系结构分以下几层:

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

远程引用层(Remote Reference Layer): RMI 体系结构的第二层用来解析客户端对服务端远程对象的引用。

这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。

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

82. RMI 中的远程接口**(Remote Interface)**扮演了什么样的角色?

远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口。远程对象必须要直接或者是间接实现远程接口。实现了远程接口的类应该声明被实现的远程接口,给每一个远程对象定义构造函数,给所有远程接口的方法提供实现。

83. java.rmi.Naming 类扮演了什么样的角色?

java.rmi.Naming 类用来存储和获取在远程对象注册表里面的远程对象的引用。 Naming 类的每一个方法接收一个 URL 格式的 String 对象作为它的参数。

84. RMI 的绑定**(Binding)**是什么意思?

绑定是为了查询找远程对象而给远程对象关联或者是注册以后会用到的名称的过程。远程对象可以使用Naming 类的 bind()或者 rebind()方法跟名称相关联。

85. Naming 类的 **bind()**和 **rebind()**方法有什么区别?

bind()方法负责把指定名称绑定给远程对象, rebind()方法负责把指定名称重新绑定到一个新的远程对象。如果那个名称已经绑定过了,先前的绑定会被替换掉。

86.RMI 程序能正确运行有哪些步骤?

为了让 RMI 程序能正确运行必须要包含以下几个步骤: 编译所有的源文件。

使用 rmic 生成 stub。

启动 rmiregistry。启动 RMI 服务器。

运行客户端程序。

87. RMIstub 扮演了什么样的角色?

远程对象的 stub 扮演了远程对象的代表或者代理的角色。调用者在本地 stub 上调用方法,它负责在远程对象上执行方法。当 stub 的方法被调用的时候,会经历以下几个步骤:

初始化到包含了远程对象的 JVM 的连接。序列化参数到远程的 JVM 。

言尽于此,完结

无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。

  • 第一,设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

  • 第二,易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

image

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

image

搜集费时费力,能看到此处的都是真爱!

ingMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

[外链图片转存中…(img-T5K1CAD0-1714217560844)]

搜集费时费力,能看到此处的都是真爱!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值