Docker学习(四)Docker搭建Tomcat 发表于 2020-02-08 | | 阅读次数: 前言涉及到的命令,可以参考上一篇Docker学习(三)认识Docker和常用命令 可以参考docker官方网站 业务场景公司采购了一台新的硬件服务器,领导说,BK这台服务器用tomcat搭建一台web服务器吧,这个任务看起来简单,但是很繁琐 安装linux系统 下载jdk,tomcat, 安装j ... 阅读全文 »
Docker学习(三)认识Docker和常用命令 发表于 2020-02-08 | | 阅读次数: Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST API:通信层,基于WEB容器提供http协议服务 docker CLI: 提供常用的docker命令 基于HTTP协议,docker的 ... 阅读全文 »
Docker学习(二)Centos7环境安装Docker 发表于 2020-02-08 | | 阅读次数: 前言windows10 64位专业版本才可以使用dockerCentos安装可以参考 ,基于安装完成的Centos进行今天的docker安装 Docker学习(一)环境准备安装centos7 环境准备 安装docker持久化包和yum工具包install -y yum-utils devi ... 阅读全文 »
Docker学习(一)环境准备安装centos7 发表于 2020-02-08 | | 阅读次数: 前言Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 本系列文章我们以linux作为我们的运行平台,首先先准备一台linux服 ... 阅读全文 »
聊聊内存屏障 发表于 2019-09-05 | | 阅读次数: 在之前文章聊聊JMM,说到了内存屏障,内存屏障在Java语言实现一致性内存模型上起到了重要的作用,本文我们一起聊一聊内存屏障 内存屏障是什么 在cpu执行指令的过程中,对于同一个线程中没有数据依赖的指令可以重新排序优化,有数据依赖的指令按照顺序串行执行,来保证单线程程序运行的正确 ... 阅读全文 »
聊聊JMM 发表于 2019-09-03 | | 阅读次数: 什么是JMMJMM (Java Memory Model )Java内存模型是一个语言级别的内存模型抽象,它屏蔽了底层硬件实现内存一致性需求的差异,提供了对上层的统一的接口来提供保证内存一致性的编程能力。 Java作为一个跨平台的语言,Java内存模型作为一个中间层模型,它适配不同的底层硬件系统,设 ... 阅读全文 »
聊聊CacheLine 发表于 2019-08-31 | | 阅读次数: 文章聊聊缓存一致性协议中我们提到过,缓存里面最小的单位是缓存行/缓存条目,但是缓存中的具体存储结构是什么样的,缓存行中有存放的是什么?在缓存中是如何寻找指定是还是还存在?本篇我们就聊聊一下Cache Line 缓存中的组构 文章中出现的缓存和Cache,指的是高速缓存,在后面提到的缓存都指的是 ... 阅读全文 »
聊聊CPU的LOCK指令 发表于 2019-08-30 | | 阅读次数: 在多线程操作中,可能最经常被提起的就是数据的可见性、原子性、有序性。不管是硬件方面、软件方面都在这三方面做了很足的工作,才能保证程序的正常运行。 之前发表过一篇文章聊聊缓存一致性协议 如果感兴趣的话可以去阅读一下,里面谈到了缓存一致性的实现和处理过程,读完之后可以仔细去细想一下缓存一致性协议到 ... 阅读全文 »
聊聊缓存一致性协议 发表于 2019-08-30 | | 阅读次数: 什么缓存一致问题 在谈缓存一致性协议之前我们先了解一下缓存一致性问题是什么,它是怎么出现的。 现在处理器处理能力上要远胜于主内存(DRAM),主内存执行一次内存读写操作,所需的时间可能足够处理器执行上百条的指令,为了弥补处理器与主内存处理能力之间的鸿沟,引入了高速缓(Cache),来保存一些CP ... 阅读全文 »
疯狂的String 发表于 2019-08-28 | | 阅读次数: 在java中字符串是我们比较常用的一个类型,字符串是不可变的,类被声明为final , 存储字符的char[] value数据也被声明为final ,我们对String真的了解么?我们看一下String是有多么的疯狂。本文中是在JDK8下面测试,不同的JDK可能会有不一样的结果。 测试一下123 ... 阅读全文 »