自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_40293674的博客

博文主要参考网上资料,视频笔记,结合个人见解,仅供学习、交流使用,如有侵权,请联系博主删除。

  • 博客(16)
  • 收藏
  • 关注

原创 zookeeper 分布式锁解析

一、代码演示 1.1 依赖 <dependencies> <dependencie> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>4.0.1</version> </dependencie> </dependencies>

2020-12-03 16:47:00 405

原创 MySQL Buffer Pool 解析

1.简介 buffer pool 就是一个缓存,将磁盘中的数据缓存到内存中,对数据的操作改为通过内存进行操作,然后刷盘的操作,提升性能。 innodb_buffer_pool_size 控制缓存池的大小。 2.内部架构 3. 描述信息 4.free 链表 当我们初始化 buffer pool 之后,会不断的有数据被从磁盘中缓存到 buffer pool 里,但是我们要怎么知道那些缓存页还没有被使用呢 ? free 链表的主要作用就是维护空闲的缓存页的节点信息 free 链表维护了处于空闲状态的缓存页对

2020-06-15 14:43:39 868 1

翻译 Docker Compose

一、设置 1.创建目录: $ mkdir composetest $ cd composetest 2.在当前目录下创建 app.py 文件: import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host='redis', port=6379) def get_hit_count(): retries = 5 while True: t

2020-05-29 16:04:18 356

原创 Java Condition 解析

condition.await() 1. 代码总览 public final void await() throws InterruptedException { if (Thread.interrupted()) throw new InterruptedException(); Node node = addConditionWaiter();

2020-05-28 17:11:57 239

原创 Docker 数据持久化

1、简介 1.1 如何定义 在 mysql 的 dockerfile 中,有 VOLUME /var/lib/mysql 这样一行,表示该数据持久化在 container 的哪个位置中 1.2 查看详情 docker volume ls :查看 volume 列表 docker volume inspect 86953ba27b374c560e7fd30b98c794de759b02de04edd8b3d324086c3e711879 :查看volume 的详情 [root@10-9-172-32

2020-05-18 14:32:46 290 3

原创 Docker 实战 - 搭建 Percona XtraDB Cluster MySQL

一、PXC 1、拉取镜像 docker pull percona/percona-xtradb-cluster:5.7.21 docker images 查看一下 :会有 percona/percona-xtradb-cluster 这样一个 Images 我们每次运行的时候,要输入 Image 的名字,这个太长了,我们可以使用 tag 给他打个标签,方便使用 docker tag percona/percona-xtradb-cluster:5.7.21 pxc 然后 docker images 会发现

2020-05-16 16:57:31 921 3

原创 Docker 部署 SpringBoot 项目

Docker 部署 SpringBoot 项目 1、准备一个 SpringBoot 项目 项目十分简单,随便写了一个 Controller 返回一个 “hello” 的字符串 2、将项目进行打包 mvn clean package 3、将项目打包上传到服务器 4、在服务器上创建 dockerfile 目录 mkdir dockerfile 5、进入目录内,创建 dockerfile 文件 vi dockerfile 6、创建 Image 编写 dockerfile 文件 # 要引入的资

2020-05-12 09:08:34 286

翻译 Docker配置MySQL主从同步

1、拉取MySQL5.7镜像到本地 docker pull mysql:5.7 # 如果你只需要跑一个mysql实例,不做主从,那么执行以下命令即可,不用再做后面的参考步骤: docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 #然后用shell或客户端软件通过配置( 用户名:root 密码:132456 IP:你...

2020-04-21 16:36:45 477

翻译 Docker 基本操作

1、关于Docker架构 Docker的运行流程原理大概可以参考以下这图,要了解更详细的知识点可参考其官方文档哦。 2、Linux下安装Docker社区版(以centos7为例) yum源使用阿里云的源 cd /etc/yum.repos.d/ #下载阿里云yum源 wget http://mirrors.aliyun.com/repo/Centos-7.repo mv CentOS-Bas...

2020-04-21 16:26:16 142

原创 线程池原理解析

线程池基本 一、优势 避免频繁的创建和销毁线程 提供运行效率 合理设置线程池大小,避免因线程数超过硬件资源瓶颈带来的问题 二、类型 Executors.newFixedThreadPool() 创建固定线程长度的线程池 Executors.newCachedThreadPool() 创建不限个数的线程池,空闲线程会在 60s 后被回收 Executors.newSingleThreadEx...

2020-03-24 17:45:12 402

原创 Java 并发理解

并发 1、线程的生命周期 public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; } 在 Thread 类中有一枚举类 State 定义了...

2020-03-06 16:50:12 290

原创 Synchronized 解析

锁 Synchronized 1、可用范围 类 public void demo() { synchronized (synchronizedDemo.class) { } } public synchronized static void demo() { } 方法 public synchronized void demo() {...

2020-03-06 16:49:41 340

原创 volatile解析

工作模型 缓存一致性协议 (MESI) modify :修改状态,表示共享数据只缓存在当前 CPU 并且是修改状态,也就是缓存的数据与主内存中不一致 shared:共享状态,多个 CPU 缓存中的内容与主内存中内容一致 invalid :失效状态,某个CPU 缓存中的内容进行了修改,对将其余 CPU 缓存中的数据设为 Invalid 状态 exclusively:独有状态,只有某个 CPU 缓存...

2020-03-06 16:49:11 271

原创 ReentrantLock 可重入锁理解

ReentrantLock 可重入锁 1、ReentrantLock 类图结构 由类图可以看出 ReentranLock 实现了 Lock 接口,实现了 Lock 接口中的 lock() 方法。 ReentrantLock 中有一个抽象内部类 Sync,继承自 AbstractQueneSynchronized 这个工具类,也就是所谓的 AQS 队列,Sync 内部类中,对 lock 方法进行了...

2020-03-06 16:48:29 484

原创 设计模式之代理模式

代理模式:为其他对象提供一种代理,以控制对这个对象的访问 举个例子:我想购买火车票,一般那我们会去火车站购买火车票,但是家离火车站可能比较远,那我们可能就会选择去火车票代售处去购买(网上购买),那么火车票代售处就是我们火车站的一个代理,可以代理火车站来完成售票的操作,但是我们火车票代售处那可能会提供一些额外的服务,比如支持电话预约等,火车票代售处提供额外服务的同时,收取一定金额的手续费;如果我们...

2019-02-22 16:56:12 274

原创 Guava Cache学习笔记

Cache 相关参数说明 1、大小:CacheBuilder.maxmumSize(long) CacheBuilder.weigher(Weigher) CacheBuilder.maxmumWeigher(long) 2、时间: expireAfterAccess(long,TimeUnit) ...

2019-02-19 16:39:30 532

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除