【发布时间】:2015-12-31 20:44:08
【问题描述】:
我经常听说 Java 应用程序结构创建的现代概念之一是有效的线程安全对象概念。这意味着我们只在我们的应用程序中使用最终实体类。我在哪里可以找到该概念的综合指南?如何使用 DAO 和 DTO 方法将这个概念应用于基于 hibernate 和 spring 的普通 MVC Web 应用程序?
【问题讨论】:
-
寻找不可变对象
-
...最终实体类...,没有意义。
final类可能无法扩展,但我认为您在谈论的是 immutable 类(即,只有最终 fields 的类) .不可变类本质上是线程安全的,因为在实例完全构造之前无法在线程之间共享它的实例,并且在构造实例之后无法修改实例. “线程安全”就是管理共享的、可变的状态。如果一个对象是不可变的,那么共享时就不存在“线程安全”问题。 -
我在哪里可以找到综合指南...? 如果您还没有学习过 Java 并发教程,那将是一个很好的起点:docs.oracle.com/javase/tutorial/essential/concurrency
标签: java multithreading spring hibernate