自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL—SQL优化笔记整理

SQL 优化第一节 准备数据1、修改配置为了能够看出 SQL 优化前后的性能差异,我们需要较为大量的数据。生成这些数据我们需要用到 MySQL 中的自定义函数。但是 MySQL 默认关闭了自定义函数功能,所以我们需要通过修改配置文件来开启这项功能。# 使用 vim 编辑器打开配置文件vim /etc/my.cnf在配置文件末尾增加如下内容:# 设置为 1 表示开启这项功能log_bin_trust_function_creators=1然后重启 MySQL 服务:systemctl

2022-03-13 21:28:03 4111 3

原创 Golang获取当天时间范围

Golang获取当天时间范围2022-05-19 00:00:00 +0800 CST 2022-05-19 23:59:59 +0800 CST// GetCurrentTimestamp 获取当天的时间范围 //Time类型 2022-05-19 00:00:00 +0800 CST 2022-05-19 23:59:59 +0800 CSTfunc GetCurrentTimestamp() (beginTime, endTime time.Time) { t := time.Now()

2022-05-19 18:49:14 646

原创 CompletableFuture异步编排实现商品查询

CompletableFuture异步编排问题:查询商品详情页的逻辑非常复杂,数据的获取都需要远程调用,必然需要花费更多的时间。假如商品详情页的每个查询,需要如下标注的时间才能完成获取sku的基本信息 1.5s获取sku的图片信息 0.5s获取spu的所有销售属性 1ssku价格 1.5s …那么,用户需要4.5s后才能看到商品详情页的内容。很显然是不能接受的。如果有多个线程同时完成这4步操作,也许只需要1.5s即可完成响应。1 CompletableFutu

2022-03-25 22:06:40 752

原创 分布式锁优化过程、Redisson,AOP实现缓存

分布式锁优化过程、Redisson,AOP实现缓存一 分布式锁优化过程1 本地锁的局限性我们学习过synchronized及lock锁,这些锁都是本地锁。接下来写一个案例,演示本地锁的问题1.1 编写测试代码在TestController中添加测试方法public interface RedisTestService { /** * redis的锁测试demo1 */ public void lockDemo1();}@Servicepublic

2022-03-23 20:57:29 1562

原创 Docker安装FastDfs和上传图片入门小程序

Docker安装FastDfs和上传图片入门小程序1.搭建FastDfs拉取镜像docker pull morunchang/fastdfs运行trackerdocker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh–net=host 和虚拟机使用同一套网络运行storagedocker run -d --name storage --net=host -e TRACKER_IP=服务器IP:22

2022-03-19 16:35:21 3558 1

原创 SpringMVC运行原理

SpringMVC运行原理第一节 启动过程1. Servlet 生命周期回顾生命周期环节调用的方法时机次数创建对象无参构造器默认:第一次请求 修改:Web应用启动时一次初始化init(ServletConfig servletConfig)创建对象后一次处理请求service(ServletRequest servletRequest, ServletResponse servletResponse)接收到请求后多次清理操作destroy

2022-03-16 22:44:46 1075

原创 MyCat入门配置详解和常见九种数据分片算法

MyCat入门配置详解和常见九种数据分片算法第一节 分库分表概述1、为什么要拆分?①MySQL 实例内部结构[1]单一架构[2]复制架构尽管搭建了复制架构,但是实际上从逻辑上来说仍然只有一个 db_hr 数据库。②性能瓶颈MySQL 工作过程中的性能瓶颈主要来自于下面三个方面(同等硬件条件下):数据存储量:单表 1000 万条数据达到极限;500 万条开始性能明显下降;300 万条开始就应该考虑拆分。I/O 瓶颈:关系型数据库以硬盘作为主要存储介质,所以必然存在 I/O 瓶颈。访

2022-03-15 18:20:15 4109

原创 MySQL 复制架构

MySQL 复制架构第一节 概述1.1 数据拓展热备份:数据库在运行的过程中,对数据进行备份操作。相对的,还有冷备份,冷备份需要停机,然后对数据进行备份操作。多活:所谓的多活,就是让数据库机器节点会存在多个,避免单点情况的出现。故障切换:当一台数据库物理机出现异常状况时,可以自动的切换到其他物理机上。读写分离:当存在多台数据库物理机,将读写操作分别交给不同的机器完成。负载均衡:假设当存在多台数据库物理机接收读请求时,多个请求会均匀的分配到不同的机器上,避免大量请求压在某一台机器上。1.2

2022-03-14 18:15:08 3161 1

原创 MySQL 索引的原理

索引的原理1、数据页假设有一张数据库表:emp_id(主键)emp_age(非主键)emp_name(非主键)121tom222jerry323bob424harry525lily………………对于 InnoDB 存储引擎来说,最小的存储单位就是:页。那么存放原始数据的页就称为数据页。一个数据页默认的大小是:16KB。如果我们假设一条记录所占空间的字节数是 1KB,那么这个数据页大致能够存储 16 条记录。那么如果这个

2022-03-12 23:57:43 339

原创 MySQL 逻辑架构,引擎和索引与法

MySQL 逻辑架构1、总述和其它数据库有所不同,MySQL 的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,『插件式』的『存储引擎架构』将查询和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。2、连接层最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP 的通信。主要任务是连接处理、授权认证、及相关的安全方案等。该层引入了线程池,为通过认证、安全接入的客户端提

2022-03-12 23:56:00 140

原创 JUC学习笔记(六)线程池

阻塞队列,线程池概念,线程池七个参数,线程池工作机制,拒绝策略,自定义线程池,线程安全的集合等

2022-03-11 18:22:03 1100

原创 JUC学习笔记(五)Lock 底层原理探究

java内存模型,并发编程三大特性,volatile关键字,CAS机制,AQS机制,JSR305

2022-03-10 11:35:53 650

原创 JUC学习笔记(四)特定场景解决方案

特定场景解决方案尚硅谷JUC学习笔记第一节 CountDownLatch效果:指定一个操作步骤数量,在各个子线程中,每完成一个任务就给步骤数量 - 1;在步骤数量减到0之前,CountDownLatch 可以帮我们把最后一步操作抑制住(阻塞),让最后一步操作一直等到步骤被减到 0 的时候执行。1、班长锁门有六名同学在值日,班长负责锁门。班长必须确保所有同学都离开教室再锁门。// 声明一个变量,用来保存同学的数量int stuNum = 6;// 创建CountDownLatch对象Cou

2022-03-10 11:26:40 242

原创 JUC学习笔记(三)Lock API控制多线程

Lock接口,可重入锁,读写锁,线程间通信,Lock与synchronize的对比

2022-03-08 18:10:44 356

原创 JUC学习笔记(二) synchronized 底层原理探究

synchronized 底层原理探究,锁膨胀机制,对象存储结构,监视器对象结构,加锁和解锁流程,可重入性

2022-03-08 17:13:45 282

原创 JUC学习笔记(一)多线程基本知识

多线程知识尚硅谷学习笔记第一节 基础概念1、程序、进程、线程①程序程序从开发到发布的过程:源程序(源代码) → 打包封装 → 应用软件笼统的来说,源程序、应用软件都可以称之为『程序』。相对于进程、线程来说,程序是一个静态的概念。②进程内部视角:程序运行起来就是一个进程。所以相对于程序来说,进程是一个动态的概念。外部视角:站在操作系统的层次上来说,现代的大型操作系统都是支持多进程模式运行的,这样操作系统就可以同时执行很多个任务。③线程在一个进程中,需要同时处理多个不同任务,

2022-03-07 21:44:15 423

原创 JVM 相关参数汇总

JVM相关参数汇总

2022-03-06 20:26:58 99

原创 JVM学习笔记(四)垃圾回收

GC的基本问题,标记垃圾对象,垃圾回收算法,垃圾回收器 ,finalize 机制

2022-03-06 20:00:17 396

原创 JVM学习笔记(三)堆

堆空间组成部分,堆空间工作机制,永久代在各个JDK版本之间的演变,方法区、元空间、永久代之间关系,堆、栈、方法区之间关系,Runtime类使用案例,GC演示,,堆溢出异常,各状态分析,

2022-03-06 19:57:22 300

原创 JVM学习笔记(二)方法区和栈

方法区,元数据,方法栈,栈帧,栈帧存储的数据,栈帧工作机制,栈溢出异常。栈空间的线程私有验证

2022-03-06 19:53:46 513

原创 JVM学习笔记(一)类加载,双亲委派

JDK、JRE、JVM关系回顾, 类加载机制,双亲委派机制,本地接口 Native Interface。执行引擎 Execution Engine。直接内存

2022-03-06 19:50:01 252

原创 RabbitMQ-高级特性

尚硅谷学习笔记-8 RabbitMQ高级特性8.1 消息的可靠投递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。· confirm 确认模式· return 退回模式rabbitmq 整个消息投递的路径为:producer—>rabbitmq broker—>exchange—>queue—>consumerl消息从 producer 到 exch

2022-02-28 19:52:20 2009

原创 RabbitMQ-基础笔记

RabbitMQ1. 消息中间件概述1.1.为什么学习消息队列电子商务应用中,经常需要对庞大的海量数据进行监控,随着网络技术和软件开发技术的不断提高,在实战开发中MQ的使用与日俱增,特别是RabbitMQ在分布式系统中存储转发消息,可以保证数据不丢失,也能保证高可用性,即集群部署的时候部分机器宕机可以继续运行。在大型电子商务类网站,如京东、淘宝、去哪儿等网站有着深入的应用 。队列的主要作用是消除高并发访问高峰,加快网站的响应速度。在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情

2022-02-28 19:47:58 627

原创 把数据库的表结构导出Excel格式

把数据库的表结构导出Excel格式话不多说先上代码!SELECTCOLUMN_NAME 列名,COLUMN_TYPE 数据类型,DATA_TYPE 字段类型,CHARACTER_MAXIMUM_LENGTH 长度,IS_NULLABLE 是否为空,COLUMN_DEFAULT 默认值,COLUMN_COMMENT 备注FROMINFORMATION_SCHEMA.COLUMNSwhere-- developerclub为数据库名称,只需要修改成你要导出表结构的数据库即可table

2022-02-22 22:37:11 6341 2

原创 计算机网络学习笔记整理

计算机网络OSI七层模型:应用层(Application Layer):只关心业务逻辑,不关心数据的传输比如微信,只关心谁发消息给了谁,不关心发了什么消息表现层(Presentation Layer):负责写上用于传输的数据格式,并转换数据格式会话层(Session Layer):负责管理两个联网实体间的连接传输层(Transport Layer):负责将数据从一个实体(一个服务或应用)传输到另一个实体,但不负责数据传输的方式。功能:数据分隔重组:将数据拆分后按顺序重组

2022-02-20 22:43:45 1832

原创 Linux环境搭建Nacos集群+Ngnix负载均衡

Linux环境搭建Nacos集群1.环境准备​ 需要1个nginx+3个nacos注册中心+1个mysql​ Linux 64bit OS Linux/Unix/Mac //推荐使用Linux系统​ 需要三个或三个以上的Nacos才能构成集群。本次搭建使用的是nacos-server-1.4.2.tar.gz , 下载地址https://github.com/alibaba/nacos/releases/download/1.4.2/nacos-server-1.4.2.tar.gz2.开

2022-02-18 20:38:03 903

转载 Windows 如何查看本地端口被进程占用的情况?

Windows 如何查看本地端口被进程占用的情况?1.查看端口占用情况:1.开始–运行–cmd 进入命令提示符。2.输入 netstat -ano(或netstat -nao) ,即可看到所有进程(这里显示进程的PID)占用端口的情况。3.在任务管理器中找到这个PID所对应的进程,如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-“选择列”。2.查看某个端口被哪些进程占用:1.开始–运行–cmd 进入命令提示符。2.输入netstat -aon|findstr “8069”。显

2022-02-16 21:08:44 3868

原创 阿里云存储OSS学习笔记及入门案例

阿里云存储OSS学习笔记,入门案例,sdk用法

2022-02-11 21:51:25 885

原创 单点登录及JWT学习笔记

单点登录及JWT学习笔记,1、单一服务器模式,2、SSO(Single Sign On)模式,3、Token模式。JWT学习笔记,JWT学习案例,加密解密优化,小结

2022-02-11 21:30:28 206

原创 VScode保存的时候自动格式化

VScode设置保存的时候自动格式化

2022-02-09 20:51:41 2216

原创 java设计模式-享元模式

享元模式案例分析小型的外包项目,给客户A做一个产品展示网站,客户A的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同:有客户要求以新闻的形式发布有客户人要求以博客的形式发布有客户希望以微信公众号的形式发布1)需要的网站结构相似度很高,而且都不是高访问量网站,如果分成多个虚拟空间来处理,相当于一个相同网站的实例对象很多,造成服务器的资源浪费2)解决思路:整合到一个网站中,共享其相关的代码和数据,对于硬盘、内存、CPU、数据库空间等服务器资源都可以达成共享,减少服务器资

2022-02-06 22:24:30 126

原创 java设计模式-组合模式

java设计模式-组合模式

2022-02-06 22:21:39 160

原创 java设计模式-中介者模式

java设计模式-中介者模式。基本介绍,传统案例改进,源码分析,小结。

2022-01-25 20:51:19 187

原创 java设计模式-观察者模式

java设计模式-观察者模式,基本介绍,代码案例,小结。

2022-01-24 10:37:40 210

原创 Docker容器卷学习笔记

Docker容器卷学习笔记1、踩坑cannot open directory .: Permission denied 2、容器卷介绍是什么能干嘛 3、容器卷命令挂载 4、容器和宿主机之间数据共享 5、读写规则映射添加说明 6、卷的继承和共享

2022-01-22 20:26:25 278

原创 java设计模式- 原型模式

java设计模式-原型模式

2022-01-22 18:51:46 58

原创 Docker容器解决没有Vim命令

Docker容器解决没有Vim1、在容器中安装vim2、把文件拷贝出来修改

2022-01-21 18:24:16 3334

原创 docker各命令学习笔记

docker学习笔记之基本命令,镜像命令,容器命令,重要命令记录

2022-01-20 15:55:49 774

原创 跨域问题及解决方案

(原因: CORS 头缺少'Access-Control Allow-Origin') 。状态码: 200跨域产生的问题及解决方案

2022-01-19 21:07:02 2567

原创 Mybatis-plus条件构造器各种用法(三)

Mybatis-plus条件构造器各种用法,QueryWrapper,UpdateWrapper,LambdaXxxWrapper

2022-01-18 21:42:11 328

空空如也

空空如也

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

TA关注的人

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