小编Şer*_*cet的帖子

只能有两个文本值之一的元素?

我正在构建一个有fuel_system元素的DTD .

我想限制<fuel_system>标签之间的文字.它必须只是carburetedfuel-injected.我怎样才能做到这一点?

我没有提到类似这样的东西=>属性类型(化油器,燃油喷射),因为我想在<fuel_system>标签中强制使用此规则,而不是属性fuel_system.

xml dtd

8
推荐指数
2
解决办法
6179
查看次数

Java Spring Bean中的实例变量

我正在开发一个Java Spring MVC项目,我犹豫在Java Spring Bean中使用实例变量。我想问一些有关此主题的问题。

我在Java Spring Bean中使用了一个实例变量,其类型为String。

private String abc = "hell";
Run Code Online (Sandbox Code Playgroud)

众所周知,Java Spring的默认范围是Singleton,它们是在项目启动时构造的。它是单个实例,我的实例变量必须是线程安全的。

我在Bean的方法中使用了此变量“ abc”,当多个线程访问它们时,是否会破坏每个线程的数据一致性?

例如,线程1到达bean并采用abc变量将其更改为“ hello”。那时,线程1引用了abc变量点“ hell”还是“ hello”?我对这个话题感到困惑。

我将String abc变量设置为ThreadLocal对象,以提供每个线程拥有其自己的abc变量ThreadLocal

因为每个线程都拥有自己的变量,并且在完成工作后返回线程池,该线程池由容器管理。但是,返回池时,ThreadLocal对象不会被破坏,并且会导致内存泄漏。

而且,String对象是不可变的,因此在理论上它会引起多线程问题吗?

每个线程自己拥有自己的String变量吗?例如,线程1触发,然后启动方法调用,并创建单独的String变量“ abc”,而线程2触发,然后创建新的String变量“ abc”,它们是否会相互破坏“ abc”变量?

我真的很想知道这种用法的概念,并渴望学习答案。

java heap spring multithreading thread-safety

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

dtd ×1

heap ×1

java ×1

multithreading ×1

spring ×1

thread-safety ×1

xml ×1