哪里可以找到java线程安全对象概念描述?
我听过很多次,java应用程序结构创建的现代概念之一就是有效的线程安全对象概念。这意味着我们只在应用程序中使用最终实体类。我在哪里可以找到这一概念的全面指南?如何使用DAO和DTO方法将这个概念应用到基于hibernate和spring的普通MVC web应用程序中 你的问题真的很广泛 您可以从开始,这将只是一个漫长旅程的开始,它将带领您了解java的内部结构,然后深入到现代CPU的内部结构 这背后有以下几点:哪里可以找到java线程安全对象概念描述?,java,multithreading,spring,hibernate,Java,Multithreading,Spring,Hibernate,我听过很多次,java应用程序结构创建的现代概念之一就是有效的线程安全对象概念。这意味着我们只在应用程序中使用最终实体类。我在哪里可以找到这一概念的全面指南?如何使用DAO和DTO方法将这个概念应用到基于hibernate和spring的普通MVC web应用程序中 你的问题真的很广泛 您可以从开始,这将只是一个漫长旅程的开始,它将带领您了解java的内部结构,然后深入到现代CPU的内部结构 这背后有以下几点: 状态-某些值等于某个“X”,例如名称John 多变的状态——某个时刻,某个值是Jo
- 状态-某些值等于某个“X”,例如名称John
- 多变的状态——某个时刻,某个值是John,现在应该是Donald
- 执行流-逐个执行的程序步骤的顺序
- 线程-流的执行器
- 多线程-您的代码有多个并行执行的流
在spring/hibernate的情况下,您不能使所有内容都是不变的,所以您将创建使用同步块改变状态以在单个线程中执行的代码。可能在java代码中,也可能在db代码中。查找不可变对象…最终实体类…没有意义。
final
类是一个不能扩展的类,但我认为您所说的是一个不可变的类(即,只有final字段的类)。不可变类本质上是线程安全的,因为在实例完全构建之前,无法在线程之间共享它的实例,并且在实例构建之后也无法修改它。“线程安全”是关于管理共享的、可变的状态。如果一个对象是不可变的,那么当它被共享时就不会有“线程安全”问题。我在哪里可以找到综合指南。。。?如果您还没有完成Java并发教程,那么这将是一个很好的开始: