这篇文章最初出现在Thorben Janssen的Java EE博客上,每周都会发布Java新闻: Thoughts-on-java.org 。
本杰明·温特贝格(Benjamin Winterberg)发布了Java 8并发教程的第三部分。 这次,他深入研究了原子变量和ConcurrentMap接口。 如果您想了解更多有关通过使用java.concurrent.atomic包中的类来执行原子操作或ConcurrentMap接口的好处的信息,请查看本文。
Heinz Kabutz发表了他的Java专家通讯的新一期,他在清理ThreadLocals之前将它们放回池中: Cleaning ThreadLocals 。
认真的Java开发人员都不应错过此新闻通讯!
Java EE
作为Java Weekly的常规读者,您可能已经了解Vlad Mihalcea的博客以及他关于Hibernate的精彩文章。 他目前正在撰写有关不同CacheConcurrencyStrategies的文章:
- Hibernate READ_ONLY CacheConcurrencyStrategy如何工作?
- Hibernate NONSTRICT_READ_WRITE CacheConcurrencyStrategy如何工作?
- Hibernate READ_WRITE CacheConcurrencyStrategy如何工作?
大多数Java EE项目都使用JPA与数据库进行交互,这对于大多数用例都是一个很好的解决方案。 唯一的缺点是JPQL功能集有限,通常会导致对复杂查询使用本机SQL查询及其未类型化的ResultSet。 如果您想避免这种情况,还可以将jOOQ框架用于本机查询。
微服务
保护由多个分布式微服务组成的应用程序要比保护良好的旧式整体Web应用程序复杂得多。 没有HTTP会话可保留所需的信息,并且安全上下文需要在所有服务之间传播。 Stian Thorgersen写了一个很好的高级解释,说明了如何使用Keycloak解决这些问题。
Kubernetes可能是目前协调Docker容器的最受欢迎的解决方案。 如果您不熟悉它,则应该看看James Strachan在Kubernetes上为开发人员撰写的文章。 他很好地介绍了Kubernetes的核心概念。
这个和那个
检查您的Java知识,并向您的同事挑战Java Deathmatch 。 在这个小游戏中,您将获得五个不同的代码段,并且需要执行一些小任务,例如查找错误或描述输出。
录音
第一届vJUG读书会于5月26日举行,讨论了约书亚·布洛赫(Joshua Bloch)的书《有效的Java》的前100页。 您可以在Youtube上观看会话的录制。
翻译自: https://jaxenter.com/java-weekly-2315-threadlocals-microservices-deathmatch-117707.html