Docker的基本使用

Docker概述

Docker 是一个基于 Go 语言开源的应用容器引擎。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中。

阅读全文

Redis分布式锁(高级篇系列四)

分布式锁概述

分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。

阅读全文

Redis保证原子性(高级篇系列三)

原子性应该是数据库不可避免的一个话题,在Redis中,它是怎么保证原子性的呢?本篇中我们来了解一下什么是原子性,Redis是怎么保证原子性的。

原子性

原子性是指一个操作是不可中断的,要么全部执行成功要么全部执行失败

阅读全文

JVM之对象的内存布局(系列五)

前言

本篇中我们会介绍对象的实例化内存布局和怎么去访问定位,这里面的细节和JVM的结构和功能也是息息相关的,下面我们一起来了解一下。

JVM内存架构

这里的内存架构画的是JDK 7版本的,JDK 8之后方法区的画法有所改变。

阅读全文

JVM之方法区(系列四)

方法区的理解

Java虚拟机规范中是这样定义方法区的: 它存储了每个类的结构信息,例如运行时常量池、字段、方法数据、构造函数和普通方法的字节码内容,还包括一些在类、实例、接口初始化时用到的特殊方法。

阅读全文

JVM之堆(系列三)

堆的核心概述

一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。
Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。
堆内存的大小是可以通过启动参数调节的。

阅读全文