ImportNew 一周资讯:JDK 9,10与11 中的安全改进

来源:lmportNew - 唐尤华

ImportNew小编为您搜集有关Java业界、资源一周资讯(2018.12.24)。

1. JDK 9, 10 与 11 中的安全改进:来自 javaadvent

解读:TLS 握手流程有以下9步:

客户端:发送”hello”(TLS版本、密码)

服务器:发送”hello”(服务器证书、TLS版本、密码)

客户端:验证服务器证书及加密参数

客户端:发送客户端证书

客户端:发送秘钥

服务器:验证客户端证书

客户端:结束

服务器:结束

客户端与服务器开始交换信息

JDK9 中的安全改进:JSSE(Java Secure Socket Extension) API

支持 DTLS,在 UDP 上进行 TLS 加密

加入 TLS ALPN 扩展,支持在 TLS 握手过程中加入应用协议

对 TCP 进行 OCSP 加固,在 TLS 服务器上进行协议验证,节省带宽。此配置需要在客户端和服务器上同时启用

默认使用 PKCS12 秘钥库:目前使用的 JKS 无法应用到 Java 以外的编程语言

基于 DRBG 实现 SecureRandom

利用 CPU 指令进行 GHASH 与 RSA 加密

协议验证中禁用 SHA-1 协议

实现 SHA-3 哈希算法

JDK10 中的安全改进:

JEP319 Root 证书:在 JDK 的 Cacert 秘钥库中加入 root 证书列表

一些安全相关的 API 标记为移除

JDK 11 中的安全改进:

JEP32:TLS 1.3,在1.2版本基础上增加了许多改进

JDK 的 Cacert 秘钥库中增加了一些、移除了一些 root 证书

2. 用 Java 实现数据库批量更新:来自 javaadvent

解读:批量更新可以获得更好的执行效率。这篇文章介绍了如何通过 JDBC API、Spring JDBCTEMPLATE、JOOQ、Hibernate 实现批量更新。

3. 连接池你造吗:来自 javaadvent

解读:传统 Web 访问存在这样的问题,打开慢,忘记关闭连接会造成内存泄漏。使用数据库连接池是一种改进方法,比如 C3P0 、HikariCP 。那么问题来了,这些连接池解决方案好使吗?这篇文章对比了 C3P0 和 HikariCP 默认值使用情况,最后的结论是“别相信我,也不要相信默认值”。

C3P0:

HikariCP

4. Java8 默认方法介绍以及对 API 设计的影响:来自 javaadvent

解读:在引入默认方法之前,要为 interface 添加实现,必须通过 abstract 类再进行继承。这么做的问题,以 java.util 中的 List 为例,会造成不符合面向对象的设计,比如 static sort() 方法。Java8 引入的默认方法提供了新的解决方法,通过在 List 接口中加入 sort() 方法改进了 API 设计。

5. Eclipse Collection 编程练习的19种解答:来自 javaadvent

解读:Eclipse Collection Java 集合框架对 List、Set 和 Map 进行了优化,提供一套丰富的流式 API。这篇文章中,按照教程 给出了19种解答。

6. Java 安全 API 动画演示:来自 javaadvent

解读:Java 安全动画(Security Animated)项目是一个通过动画、代码段介绍 Java 安全的开源项目。内容涵盖 JDK 安全沙箱模型、JDK 安全开发库、主流框架安全机制(例如 OSGi,、JavaEE、Spring)及安全开发库 (如 BouncyCastle)。

开源项目:

整个演示包含以下章节:

说明:项目 pom.xml 不全,可以关注 issue 解决进展。

【关于投稿】

如果大家有原创好文投稿,请直接给公号发送留言。

① 留言格式:

【投稿】+《 文章标题》+ 文章链接

② 示例:

【投稿】《不要自称是程序员,我十多年的 IT 职场总结》:http://blog.jobbole.com/94148/

③ 最后请附上您的个人简介哈~

看完本文有收获?请转发分享给更多人

关注「ImportNew」,提升Java技能

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181225B1AN1200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券