Java面试题汇总及答案2021最新(JavaWeb含答案下载)

Java面试题汇总及答案2021最新(JavaWeb含答案下载)

为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Java程序员在面试中需要掌握或者可能被问到的绝大部分知识点。**

额外还为大家整理了一千多本编程电子书籍。也一起给大家分享出来。

这套汇总的Java面试题包括: Java基础面试题、Java容器面试题、Java多线程面试题、Java反射面试题、Java对象拷贝面试题、JavaWeb面试题、Java异常面试题、Java网络面试题、Java设计模式面试题、Spring/Spring MVC面试题、Spring Boot/Spring Cloud面试题、Hibernate面试题、Mybatis面试题、RabbitMQ面试题、Kafka面试题、Zookeeper面试题、MySql面试题、Redis面试题、JVM面试题 、以及各大企业的真实Java面试题。如下图所示,需要的直接获取!

适宜阅读人群

  • 需要面试的初/中/高级 java 程序员

  • 想要查漏补缺的人

  • 想要不断完善和扩充自己 Java 技术栈的人

  • Java 面试官

更多2021最新Java面试题全部答案都已经给大家整理好了,大家需要的可以自行下载

更多2021最新Java面试题下载地址链接,请点击此处跳转下载

JavaWEB面试题

1.说下原生 jdbc 操作数据库流程?

第一步: Class.forName()加载数据库连接驱动;
第二步: DriverManager.getConnection()获取数据连接对象;

第三步:根据 SQL 获取 sql 会话对象,有 2 种方式 Statement、 PreparedStatement ;
第四步:执行 SQL 处理结果集,执行 SQL 前如果有参数值就设置参数值 setXXX();
第五步:关闭结果集、关闭会话、关闭连接

2.什么要使用 PreparedStatement?

1、 PreparedStatement 接口继承 Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行
速度要快于 Statement 对象。

2 、 作 为 Statement 的 子 类 , PreparedStatement 继 承 了 Statement 的 所 有 功 能 。 三 种 方
法 execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数

3、在 JDBC 应用中,在任何时候都不要使用 Statement,原因如下:

一、代码的可读性和可维护性.Statement 需要不断地拼接,而 PreparedStatement 不会。
二、 PreparedStatement 尽最大可能提高性能.DB 有缓存机制,相同的预编译语句再次被调用不会再次需要
编译。
三、最重要的一点是极大地提高了安全性.Statement 容易被 SQL 注入,而 PreparedStatementc 传入的内容不会和 sql 语句发生任何匹配关系。

3.关系数据库中连接池的机制是什么?

前提:为数据库连接建立一个缓冲池。
1:从连接池获取或创建可用连接
2:使用完毕之后,把连接返回给连接池
3:在系统关闭前,断开所有连接并释放连接占用的系统资源
4:能够处理无效连接,限制连接池中的连接总数不低于或者不超过某个限定值。

其中有几个概念需要大家理解:
最小连接数是连接池一直保持的数据连接。如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接
资源被浪费掉。

最大连接数是连接池能申请的最大连接数。如果数据连接请求超过此数,后面的数据连接请求将被加入到等待队
列中,这会影响之后的数据库操作。

如果最小连接数与最大连接数相差太大,那么,最先的连接请求将会获利,之后超过最小连接数量的连接请求等
价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。

上面的解释,可以这样理解:数据库池连接数量一直保持一个不少于最小连接数的数量,当数量不够时,数据库会
创建一些连接,直到一个最大连接数,之后连接数据库就会等待。

4.http 的长连接和短连接

HTTP 协议有 HTTP/1.0 版本和 HTTP/1.1 版本。 HTTP1.1 默认保持长连接(HTTP persistent connection,也
翻译为持久连接),数据传输完成了保持 TCP 连接不断开(不发 RST 包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。

在 HTTP/1.0 中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次 HTTP 操作,就建立一次连接,任
务结束就中断连接。 从 HTTP/1.1 起,默认使用的是长连接, 用以保持连接特性。

5.HTTP/1.1 与 HTTP/1.0 的区别

1 可扩展性
a) HTTP/1.1 在消息中增加版本号,用于兼容性判断。
b) HTTP/1.1 增加了 OPTIONS 方法,它允许客户端获取一个服务器支持的方法列表。
c) 为了与未来的协议规范兼容, HTTP/1.1 在请求消息中包含了 Upgrade 头域,通过该头域,客户端可以让服务器知道它能够支持的其它备用通信协议,服务器可以据此进行协议切换,使用备用协议与客户端进行通信。

2 缓存
在 HTTP/1.0 中,使用 Expire 头域来判断资源的 fresh 或 stale,并使用条件请求(conditional request)来判断资源是否仍有效。 HTTP/1.1 在 1.0 的基础上加入了一些 cache 的新特性,当缓存对象的 Age 超过 Expire 时变stale 对象, cache 不需要直接抛弃 stale 对象,而是与源服务器进行重新激活(revalidation)。

3 带宽优化
HTTP/1.0 中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来
了。例如,客户端只需要显示一个文档的部分内容,又比如下载大文件时需要支持断点续传功能,而不是在发生断连后不得不重新下

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_56432360

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值