Java编程

上海java就业班培训

答案:Java内存模型包含了一系列的规则和指导原则。Java语言是跨平台的,Java的内存模型确保了Java在不同的操作系统、CPU、内存架构上有确定的行为,特别是在多线程的情况下,一个线程所做的变动对其他线程是否可见是很重要的,这叫做先行发生关系。

java运行时内存分为“线程共享”和“线程私有”两部分,以下哪些属于“线程共享”部分A 程序计算器。

ThreadLocal 这是 Java 提供的一种保存线程私有信息的机制,因为 其在整个线程生命周期内有效,所以可以方便地在一个线程关联的不同 业务模块之间传递信息,比如事务 ID、Cookie 等上下文相关信息。ThreadLocal 为每一个线程维护变量的副本,把共享数据的可见范围限 制在同一个线程之内,其实现原理是,在 ThreadLocal 类中有一个 Map,用于存储每一个线程的变量的副本。

上海java就业班培训

Java内存模型    Java线程之间的通信采用的是共享内存模型,这里提到的共享内存模型指的是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主存之间的抽象关系:线程之间的共享变量存储在主存中(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,并不真实存在。它涵盖了缓存,写缓冲区,寄存器以及其他的硬件和编译器优化。

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注