[译]Java Memory Model(Java内存模型)JMM与硬件内存模型

翻译自:Java Memory Model

  • Java内存模型
  • 硬件内存结构
  • JMM以及硬件内存结构的对应关系
    • 共享对象的可见性
    • 线程竞争情况

Java内存模型(后面简称JMM)定义了Java虚拟机如何通过计算机内存(RAM)进行工作的。JVM是整个计算机的模型,所以JVM中存在着内存模型(即JMM) – AKA(不知道怎么翻译)

如果你想要设计正确的并发程序,那理解JMM就很重要了。JMM定义了不同的线程什么时候以及怎样才能看到其他线程写入的共享变量值,并且在必要的情况下,如何去同步(synchronize)的访问这些共享的变量。

原来的JMM是不足的,所以在java 1.5的时候JMM被重新设计,并且这个模型现在依然在Java8中运行着。

Continue reading “[译]Java Memory Model(Java内存模型)JMM与硬件内存模型”

[docker]4. docker-compose简单实用

我们知道,Docker可以把环境+应用打包成一个镜像,然后通过镜像注入参数去启动无数个容器。然而,我们之前都是一个一个去操作的,当我们需要操作多个镜像并且是多态机器上面部署的时候,这种方式会显得特别无力。所以docker-compose的诞生就是为了解决这个问题。

一. 安装

1.1MacOS

OSX系统相对简单,只要安装了docker软件,那么docker-compose就已经自带在其中。可以通过docker-compose —version查看。

Continue reading “[docker]4. docker-compose简单实用”