自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 设计模式05——代理模式

代理模式

2023-10-10 16:40:15 68

原创 设计模式02——工厂模式

工厂模式

2023-10-06 11:31:58 67

原创 设计模式01——单例模式

设计模式之单例模式

2023-10-03 17:49:22 105

转载 Random、ThreadLocalRandom分析

文章目录背景前言Random 的性能问题ThreadLocalRandomUnsafe功能不安全性ThreadLocalRandom 的实现疑问使用场景内存布局背景前言最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random类。但出于对性能的极致追求,就考虑使用 ThreadLocalRandom类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe有部分代码,整个流程下来,学到了不少东西,也通过搜索和提问解决了很多疑惑,于

2022-03-15 17:03:45 331

原创 Mysql锁以及事务隔离级别

文章目录一、锁分类二、数据的隔离级别三、MVCC机制一、锁分类从性能上分为:悲观锁和乐观锁从对数据库操作分为:读锁(共享锁)和写锁(排他锁)从对数据操作分为:表锁和行锁二、数据的隔离级别脏读:事务A读取到事务B未提交的数据不可重复读:事务A读取到事务B已经修改的数据幻读:事务A读取到事务B已经新增的数据隔离级别脏读不可重复读幻读读未提交√√√读已提交×√√可重复读××√可串行化×××三、MVCC机制.

2022-03-06 10:44:09 430

原创 docker 删除镜像

1.删除镜像docker rmi -f openjdk-f:强制删除2.批量删除我们可以通过linux中的grep和awk过滤得到镜像ID。// 获取openjdk对象,并过滤出标签不是11的镜像id。docker images | grep openjdk | grep -v "11" | awk '{print $2}'之后执行删除命令docker rmi -f $(docker images | grep openjdk | grep -v "11" | awk '{print

2022-02-19 15:12:57 903

原创 类加载器及双亲委派模式

文章目录一、类加载器二、双亲委派模式一、类加载器BootStrapClassLoader:加载JAVA_HOME/lib下的jar和class文件ExtClassLoader:加载JAVA_HOME/lib/ext下的jar和class文件AppCLassLoader:加载classpath下的类文件自定义加载器二、双亲委派模式加载顺序:1 → 2 → 3 → 4 → 5 → 6向上委派一直到最顶层加载器,向下查找一直到发起加载的加载器为止- 向上委派:查找缓存中是否加载了此类

2022-02-11 22:02:51 386

原创 jekins+git+docker+harbor+k8s一键发布服务

文章目录1. 参数化构建过程git凭证git全局参数2.构建触发器3. 高级选项4. 通过 Pipeline Script 脚本1. 参数化构建过程git凭证git全局参数在这边配置git参数,以后构建时候使用2.构建触发器由于本项目手动触发,这边不设置。3. 高级选项略4. 通过 Pipeline Script 脚本脚本:pipeline { agent any tools { jdk 'jdk8' } paramete

2022-01-26 13:59:40 169

原创 centos7安装docker、docker-compose

文章目录一、安装docker-ce二、安装docker-compose一、安装docker-ce从镜像仓库安装:更新yum包:sudo yum update设置镜像仓库:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo更新yum索引:sudo yum makecache fast安装最新docker-ce:sudo yum i

2022-01-20 18:53:27 780

原创 EalsticSearch单字段多值条件查询

文章目录前言一、业务场景二、解决方案or 查询and 查询前言本文ElasticSearch版本为7.3.1一、业务场景前端传入两个字段 and or,分别代表:or=4,5,6 代表字段满足 4or5or6and=7,8,9 代表字段满足 7and8and9二、解决方案or 查询GET /index/_search{ "query": { "bool": { "filter": [ {"terms": {"keyword": ["4","5",

2021-01-15 15:55:26 1619

原创 ElasticSearch修改索引字段

文章目录一、业务场景二、解决方案1. 新建索引2.执行reindex操作,把旧索引的数据复制到新索引3.删除旧索引4.重命名新索引一、业务场景公司之前已经对 标签(tagNames) 进行了分词,现在要对该字段做一个精确匹配。{ "properties": { "tagNames": { "type": "text", "analyzer": "ik_max_word", "search_analyzer

2021-01-15 15:33:19 683

原创 Node.js环境搭建及vue项目启动

文章目录一、安装node.js1.安装python环境2.安装node.js二、设置nodejs 全局路径和缓存路径1.创建全局路径和缓存路径文件夹2.设置三、安装 yarn1.yarn安装2.检查安装3.设置镜像加速四、运行vue项目一、安装node.js1.安装python环境推荐安装python2.7.x版本 python官网:https://www.python.org/安装完,添加系统环境变量2.安装node.jsnode.js 官网: http://nodejs.cn/downl

2020-12-24 14:19:00 365

原创 Executor线程池原理

文章目录前言Executor线程池1.状态2.具体实现ThreadPoolExecutor详解1.ThreadPoolExecutor创建参数①.corePoolSize②.maximumPoolSize③.keepAliveTime④.unit⑤.workQueue⑥.threadFactory⑦.handler 饱和策略2.执行过程总结前言实现线程的三种方式实现Runnable接口继承Thread类实现Callable接口Executor线程池1.状态RUNNING:能够接收新

2020-12-23 17:26:04 89

原创 JDK1.8 CopyOnWriteArrayList 的理解

文章目录前言一、CopyOnWriteArrayList二、使用步骤1.引入库2.读入数据总结前言在很多应用场景中,读操作可能会远远大于写操作。由于读操作根本不会修改原有的数据,因此如果每次读取都进行加锁操作,其实是一种资源浪费。我们应该允许多个线程同时访问 List 的内部数据,毕竟读操作是线程安全的。一、CopyOnWriteArrayList示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import

2020-12-15 14:02:37 444 1

原创 springboot2.4+liquibase 基于配置快速使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、liquibase是什么?二、基本使用1.项目结构2.引入依赖3.项目配置4.运行结果总结前言本文只记录liquibase快速使用,最佳实践参考:Spring Boot使用Liquibase最佳实践提示:以下是本篇文章正文内容,下面案例可供参考一、liquibase是什么?Liquibase是一个数据库表结构迭代演进变更的管理工具。开发人员可以不是直接针对某个特定的数据库编写SQL的创建、更新或删除数据库对

2020-12-01 14:40:23 661

空空如也

空空如也

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

TA关注的人

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