自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker

Docker参考资料官方文档:https://docs.docker.com/docker-for-windows/【官方文档超级详细】仓库地址:https://hub.docker.com/【发布到仓库,git pull push】b站教程:https://www.bilibili.com/video/BV1og4y1q7M4?【这个教程非常简洁!且深入!基于企业应用场景!推荐!以下笔记都基于该课程】前期基础linux基本命令,类似cd,mkdir等Docker概述Docker为什

2022-11-08 23:45:50 5371

原创 内存溢出问题排查操作

内存溢出问题排查1、内存溢出介绍内存溢出(OOM)指的就是在应用系统中存在无法回收的内存或者使用的内存过多,最后是的程序运行要用到的内存大于能提供的最大内存,有时候需要重启软件甚至重启电脑才可以释放一部分的内存让程序能够正常运行通常情况下是程序的代码陷入了死循环或者是程序中产生了大量的大对象没有进行及时的回收导致在多次GC后内存资源依然紧张,一般情况下集中在char[],String,HashMap,ConcurrentHashMap这些之中,可能是频繁的使用static表示的字段,或者对String

2022-03-30 19:36:07 7142 1

原创 SaToken技术分享文档

SaToken技术分享1.什么是SaTokenSa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题,简化了相对Shiro或者SpringSecurity的复杂的前置配置,比如自定义的Realm或者全局过滤器这些。SaToekn与Shiro以及SpringSecurity对比相同点:都具备认证、授权、加密、会话、缓存、rememerMe等功能,都是一种安全认证框架。SpringSec

2022-03-23 21:03:01 5073

原创 Python导入App出现问题ImproperlyConfigured

概述:settings.py文件中的INSTALLED_APPS中添加自定义子应用时,需要将子应用所在目录加入导报路径sys.path(如果子应用本身就在项目根路径下就不需要)。要么就要设置子应用的配置类的name值带上导包路径。相关报错:django.core.exceptions.ImproperlyConfigured: Cannot import ‘users’. Check that ‘meiduo_project.apps.users.apps.UsersConfig.name’ is .

2021-12-19 18:23:41 710

原创 Linux安装Python环境

本文基于如下Linux系统版本:1、默认情况下,Linux会自带安装Python,可以运行python --version命令查看,如图:我们看到Linux中已经自带了Python2.7.5。再次运行python命令后就可以使用python命令窗口了(Ctrl+D退出python命令窗口)。2、查看Linux默认安装的Python位置看到/usr/bin/python和/usr/bin/python2都是软链接,/usr/bin/python指向/usr/bin/python2,而/usr/bi

2021-11-30 20:07:56 11420 1

原创 基于Docker搭建Redis主从节点

基于Docker搭建Redis主从节点基于之前的文章,我想快速的过一下这几个问题,本文基于 Docker + Redis 5.0.5 版本,通过 cluster 方式创建一个 6 个 redis 实例的主从集群,当然文章会指出相应的参数说明,这样即便是创建 9 个实例的集群方式也是一样的。1、拉取 Redis 镜像基于 Redis:5.0.5 版本,执行如下指令:docker pull redis:5.0.52、创建 6 个 Redis 容器创建 6 个Redis 容器:redis-nod

2021-11-29 16:05:47 284

原创 搭建redis单例集群

基于Docker的Redis单例集群搭建环境:Docker + ( Redis:5.0.5 * 3 )1、拉取镜像docker pull redis:5.0.52、创建Redis容器创建三个 redis 容器:redis-node1:6379redis-node2:6380redis-node3:6381docker create --name redis-node1 -v /data/redis-data/node1:/data -p 6379:6379 redis:5.0.

2021-11-29 16:02:59 212

原创 Minio文件批量上传

//minio文件批量上传@Value("${minio.endpoint}") private String ENDPOINT; @Value("${minio.bucketName}") private String BUCKETNAME; @Value("${minio.accessKey}") private String ACCESSKEY; @Value("${minio.secretKey}") private String S

2021-11-12 11:20:45 4616

原创 Docker安装MySql

Docker安装MySql1、下载镜像最新版本docker pull mysql指定版本docker pull mysql:8.0.162、在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权mkdir -p /usr/mysql/conf /usr/mysql/datachmod -R 755 /usr/mysql/3、创建配置文件vim /usr/mysql/conf/my.cnf在配置文件里面添加内容[client]#socket = /usr/mysql/m

2021-11-09 23:52:13 674

原创 Minio快速了解企业应用

对象存储服务可以用来存储各类文件,mall项目中的图片存储采用的是OSS,今天我们来讲下如何自己搭建一个对象存储服务来存储图片。MinIO简介MinIO 是一款基于Go语言的高性能对象存储服务,在Github上已有19K+Star。它采用了Apache License v2.0开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。本文将使用 MinIO 来自建一个对象存储服务用于存储图片。安装及部署MinIO的安装方式有很多,这里我们使用它在Do.

2021-10-26 18:50:09 721

原创 hutool使用

Hutool常用工具类的使用Hutool是一个Java工具包,它帮助我们简化每一行代码,避免重复造轮子。如果你有需要用到某些工具方法的时候,不妨在Hutool里面找找,可能就有。本文将对Hutool中的常用工具类和方法进行介绍。安装在pom.xml中进行使用<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId>

2021-10-23 20:16:13 488

原创 JUC基础知识理解

JUC并发编程进程与线程UC就是java.util.concurrent工具包 这是一个处理线程的工具包在JDK1.5进行使用的进程是计算机关于某数据集合上的一次运行活动 是系统资源分配和调度的基本单位线程是操作系统能够进行运算调度的最小单位是包含在进程之中的 是进程中实际运作的单位用火车进行必须的话 进程就是整个火车 线程就是火车里面的每一个车厢总结:进程就是系统中正在运行的一个应用程序 程序一旦运行就是进程 进程是资源分配的额最小单位线程是系统分配处理器时间资源的基本单位 或者说进程之内

2021-09-25 15:25:58 132

原创 记录快速操作

对象转集合Arrays.asList(resourceInfo)Collections.singletonList 简单粗暴

2021-09-24 09:17:49 127

原创 Docker安装MySql

Docker安装MySql1、下载镜像最新版本docker pull mysql指定版本docker pull mysql:8.0.162、在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权mkdir -p /usr/mysql/conf /usr/mysql/datachmod -R 755 /usr/mysql/3、创建配置文件vim /usr/mysql/conf/my.cnf在配置文件里面添加内容[client]#socket = /usr/mysql/m

2021-09-18 23:13:42 217

原创 Spring原码讲解

Spring核心讲解1、Spring框架概述Spring是轻量级的开源的JavaEE框架Spring可以解决企业应用开发的复杂性Spring有许多组成部分 核心IOC和AOPIOC:控制反转 把创建对象的过程交给Spring进行管理AOP: 面向切面 不修改源代码进行功能增强方便解耦 简便开发AOP编程支持方便unit测试可以方便和其他框架进行集合支持事务处理以及降低API的开发难度2、入门案例1、下载Spring52、选择地址进行下载3、复

2021-09-16 23:27:04 185

原创 ArrayList源码详解

1. ArrayList 简介ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。ArrayList继承于 AbstractList ,实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口。public class ArrayList<E&gt

2021-09-09 00:34:07 95

原创 Centos7的安装与克隆

Centos7的安装与克隆一、搭建虚拟机环境1、打开VMware,文件–>新建虚拟机2、选择稍后安装操作系统3、下一步选择版本为Linux Centos64位4、下一步设置虚拟机的名称和存储的位置5、下一步设置处理器的数量和内存这里建议 处理器的数量为2 核心数量为2 内存数量设置为2048MB 网络的连接方式为NAT 并且单独创建一个新的虚拟磁盘 磁盘大小为设置为100G比较合适6、设置这个虚拟机最后要保存的位置7、全部设置好了之后使用ISO的映射文件 设置对应

2021-08-29 17:33:42 486

原创 虚拟机磁盘扩展你会吗?

话不多说进入主题文章目录前言一、操作步骤1.添加新的磁盘2.在虚拟机里面配置磁盘总结前言在我们使用虚拟机的时候经常会遇到磁盘空间不足的情况,所以在这里对磁盘扩展进行一个总结,方遍后面的总结与学习。一、操作步骤1.添加新的磁盘在VMware里面通过点击硬盘之后–>添加–>下一步–>SCSI–>创建新虚拟磁盘–>设置磁盘的大小(建议50G)、将虚拟磁盘拆分成多个文件–>下一步–>完成即可2.在虚拟机里面配置磁盘1、lsblk命令查看如下

2021-01-14 10:18:37 287

原创 RocketMQ Docker安装步骤详解

RocketMQ Docker安装步骤详解前提:服务器的防火墙已经关闭或者后面自行关闭防火墙总共需要下载三个rocketmq-namesrvrocketmq-brokerrocketmq-console-ng安装rocketmq-namesrvdocker run --name namesrv -p 9876:9876 -e "MAX_POSSIBLE_HEAP=100000000" -d rocketmqinc/rocketmq sh mqnamesrv安装broker创建一个文件夹

2021-01-12 17:28:34 395 3

原创 Hystrix的熔断降级到底有多难

3、服务的熔断降级(HyStrix)能够保障一个依赖出现问题的情况下,不会导致整体的服务失败,避免级联故障,以提高分布式系统的弹性是用来处理分布式系统的延迟和容错的开源库服务降级 fallback服务器忙,不让客户端等待并且立刻返回一个友好的提示,调用方法返回一个符合预期的可处理的备选的相应​ 程序运行时异常,超时,服务熔断触发服务降级,线程池/信号量打满也会导致服务降级服务熔断 beak当访问量达到最大服务访问的时候,直接拒绝访问,拉闸限电,然后调用服务降级的方法返回友好的提示

2020-12-13 23:32:38 292

原创 Ribbon和OpenFeign是如何实现的

2、服务的负载与调用(Ribbon,OpenFeign)1、Ribbon的使用与原理ibbon是基于Netflix Ribbon实现的一套客户端(消费者使用的),负载均衡的工具Ribbon:负载均衡+RestTemplate调用在引入eureka的时候就会自动的引入RabbionRibbon的核心组件是IRule​ Irule:根据特定的算法在服务列表里面选取一个要访问的服务注意:自定义配置类不能够放在@ComponentScan扫描的当前包下以及子包下,否则这个自动配置的类就会被所有的客户端

2020-12-08 20:48:40 545 1

原创 Eureka与Zookeepr你了解哪一个

1、服务的注册和发现(Eureka,Zookeepr)因为传统的rpc远程调用框架中,管理每个服务和服务之间的关系比较复杂,所以需要进行服务治理管理这些依赖,能够实现服务调用,负载均衡,容错等机制实现服务的发现与注册Eureka1.1 Eureka Server提供服务的注册服务<!--eureka-server--> <dependency> <groupId>org.springframework.cloud</

2020-12-08 20:46:45 117

原创 SpringCloud基础环境搭建

一 、第一部分是什么能干什么去哪里下怎么使用了解一个新技术的步骤版本设置SpringBoot2.x与SpringCloudH版本https://start.spring.io/actuator/info查看具体版本的对应情况SpringCloudAlibaba设置的版本<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <

2020-12-08 20:43:42 164

原创 一小时带你理解Vuex

八、Vuex是一个专门为Vue.js应用程序做开发的状态管理模式,采用的是集中式管理所有组件的状态,并以一种相应的规则状态以一种可预测的方式发生改变,Vuex集成到Vue的官方调试工具devtools extension,提供了注入零配置的time travle的调试,通俗的说就是将其看成需要多个组件共享的变量全部存储在一个对象里面npm install vuex --save安装vuejs.devtoos插件里面每一个方法的作用1.state – 存放状态2.getters – stat

2020-12-08 20:38:14 68

原创 Tabbar你会用吗

七、Tabbar7.1 在assets里面创建了img和css文件在main.js里面可以引入指定的css文件然后在App.vue里面进行引入<style>@import url('./assets/css/base.css');</style>通过插槽来对属性进行插入TobarItem.vue<template> <div class="tab-bar-item"> <slot name="tab-bar-ico">

2020-12-08 20:32:36 167

原创 Vue-router你真的了解了吗

六、Vue-router6.1 如何实现改变url的情况下页面不进行刷新location.hash="xxx"设置一个值history.pushState({},'','')6.2 创建路由 掌握基本的结构在使用脚手架创建的时候使用路由,能够在src下创建一个route文件,里面的index.js来配置路由信息,并且在main.js里面进行导入在components里面创建两个组件about.vue和home.vue<template> <div>

2020-12-08 20:29:24 129

原创 VueCli的安装

五、VueCli的使用5.1 全局安装vueclinpm install -g @vue/cli//查看版本vue --version这里安装的是最新的版本,所以要想要使用vc2.x的版本要自己下载2的版本如果脚手架安装失败,那么就要在C:\Users\Administrator\AppData\Roaming\ 路径下吧npm-cache文件删除拉取2.x的版本npm install -g @vue/cli-init# `vue init` 的运行效果将会跟 `[email protected]`

2020-12-08 20:27:56 133

原创 你知道什么是Vue模块化开发吗

三、模块化开发主要是以ES6的模块化开发进行设计3.1 使用ES6的export进行导出var name = '小明'var age = 18var flag = truefunction sum(num1, num2) { return num1 + num2}if (flag) { console.log(sum(20, 30));}// 1.导出方式一:export { flag, sum}// 2.导出方式二:export var num1 = 100

2020-12-08 20:24:58 1222

原创 深入了解Vue的组件化开发

二、组件化开发组件使用的三个步骤:创建组件的构造器 Vue.extend()方法创建组件的构造器注册组件 Vue.component()注册组件使用组件在Vue的实力范围内使用组件(el指定的范围内进行使用)在开发中基本使用的是局部组件很少使用全局组件2.1 创建局部组件与全局组件<script src="../js/vue.js"></script> <div id="app"> <span>{{message}}&lt

2020-12-08 20:23:16 183

原创 Vue的基本指令你了解多少

VUE笔记1、引入vue.js<script src="../js/vue.js"></script> <div id="app">{{message}}</div> <script> //let (变量) const(常量) // function test(){ // console.log('其实在vue.js里面设置了vue的方法这样就可以直接进行new Vue了

2020-12-08 20:18:50 277

原创 集合之ConcurrentHashMap

1小时让你了解ConcurrentHashMapConcurrentHashMap 可以做到既是线程安全的,同时也可以有很高的效率,得益于使用了分段锁。实现原理JDK 1.7:ConcurrentHashMap 是通过数组 + 链表实现,由 Segment 数组和 Segment 元素里对应多个 HashEntry 组成value 和链表都是 volatile 修饰,保证可见性ConcurrentHashMap 采用了分段锁技术,分段指的就是 Segment 数组,其中 Segment 继承于

2020-12-05 09:37:20 69

原创 三分钟让你彻底了解HashMap

三分钟让你彻底了解HashMapHashMap原理在jdk1.7之前是数组+链表 出现hash冲突的都存放在链表里面在jdk1.8开始是数组+链表+红黑树 出现hash冲突的时候先存放链表里面 当链表的长度超过8的时候并且数组的长度大于64的时候才会转换为红黑树底层主要有五个参数:threshold:表示容器所能容纳的 key-value 对极限。loadFactor:负载因子。modCount:记录修改次数。size:表示实际存在的键值对数量。table:一个哈希桶数组,键值对

2020-12-04 10:44:03 86

原创 六小时学会SpringCloud

SpringCloud学习一 、第一部分是什么能干什么去哪里下怎么使用了解一个新技术的步骤版本设置SpringBoot2.x与SpringCloudH版本https://start.spring.io/actuator/info查看具体版本的对应情况SpringCloudAlibaba设置的版本<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodin

2020-12-02 16:44:22 844

原创 MySQL优化你懂多少

MySQL优化docker 容器里面添加vi apt-get update插件式的存储引擎结构将查询处理和他的系统任务以及数据的存储提取向分离主要的两种存储引擎的对比MyISAM和InnoDB优化分析1、性能下降 SQL慢 执行时间长 等待时间长SQL语句写的不好索引失效创建索引 create index idx_name on user(name)或者create index idx_nameEmail on user(name,email)关联查询太多

2020-11-27 21:13:22 95

原创 ActiveMQ你学会了吗

ActiveMQ学习笔记ActiveMQ与RocketMQ之间的区别该文章读完你会了解api发送与接收MQ高可用MQ的集群和容错配置MQ的持久化延时发送和定时投递签收机制Spring整合主要作用就是解耦 异步 削峰大致流程是:发送者把消息发送给消息服务器,消息服务器把消息存放在队列/主题中,在合适的时候 消息服务器会将消息转发给接受者 在这个过程中发送和接受是异步的 也就是发送无需等待 而且发送者和接受者的生命周期没有必然的关系 尤其是在发布p/订阅sub的模式下 也可以实

2020-11-27 00:45:56 216

原创 Redis学习与基本使用

Redis学习笔记NoSql非关系型数据库,随着互联网的发展传统的关系型数据库针对于超大规模和高并发的网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。这种类型的数据的数据在存储的时候不需要固定的模式,无需多余的操作就可以实现横向扩展并且在数据之间没有关系RDBMS VS NoSQLRDBMS高度组织化结构化数据结构化查

2020-11-25 21:06:46 94

原创 Spring Security到底是什么

Spring Security你懂了吗前置知识掌握Spring框架掌握SpringBoot框架掌握JavaWeb框架下面的内容主要是用来介绍用户认证和用户的授权两个安全认证框架对比SpringSecurity能够和Spring进行无缝整合全面的权限控制专门为Web开发而设计的旧版本不能脱离 Web 环境使用新版本对整个框架进行了分层抽取,分成了核心模块和 Web 模块。单独引入核心模块就可以脱离 Web 环境Shiro是一款轻量级的权限控制框架轻量级。 Shi

2020-11-25 13:52:49 1021

原创 到底什么是Shiro

Shiro学习笔记什么是ShiroShiro可以完成:认证、加密、授权、会话管理、与Web集成、缓存等下载: http://shiro.apache.org/从应用程序角度观察Shiro是如何完成工作的Shiro运行流程Application Code->Subject(当前用户)->Shiro SecurityManager(管理各个组件)->RealmSubject应用代码直接交互的对象是 Subject,也就是说 Shiro 的对外API 核心就是 Subject。S

2020-11-24 11:47:18 141

原创 SpringBoot初始化

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、SpringBoot是什么?二、使用步骤1.引入库2.读入数据总结前言了解SpringBoot的基本使用,以及通过脚手架创建SpringBoot的基本应用,对SpringBoot的基本操作流程进行了解一、SpringBoot是什么?是一种能够快速创建Spring项目以及与SpringCloud SpringData集成的一种框架二、使用步骤1.引入库代码如下(示例):import numpy as np

2020-09-02 11:17:21 445 1

空空如也

空空如也

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

TA关注的人

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