自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring 线程池的使用和配置

线程池

2022-07-29 16:03:43 1313 1

原创 HashMap 默认初始大小设置

HashMap默认初始容量是16,长度始终保持2的n次方,加载因子为0.75,扩容增量:原容量的1倍。如果我们直接设置初始大小为实际存储的数量的话,HashMap并不会使用我们传进来的 initialCapacity 直接作为初识容量。JDK 会默认帮我们计算一个相对合理的值当做初始容量。所谓合理值,其实是找到第一个比用户传入的值大的 2 的幂。比如传7的话,JDK 会通过计算,帮我们创建一个容量为 8 的 Map,传9的话,JDK 会通过计算,帮我们创建一个容量为16的 Map。实际存储的数量 &gt

2022-05-25 10:21:17 7867

原创 VUE 动态删减输入框

1.实现样式2.实现代码 <el-form ref="form" :rules="rules" :model="form" label-width="100px"> <el-row style="border:1px solid;border-radius:10px;margin-top:15px"> <p style="margin-left:15px">货物信息</p> <el

2022-03-24 17:03:28 1705

原创 快递鸟对接

快递鸟对接 ,电子面单,余量查询,取消面单,即使查询轨迹,物流跟踪推送回调

2022-03-15 13:43:42 1224

原创 MyBatis条件不同批量修改或插入参考写法

<update id="updateSkuStock"> UPDATE pms_sku_stock SET stock = CASE id <foreach collection="itemList" item="item"> WHEN #{item.productSkuId} THEN stock - #{item.productQuantity} .

2022-03-11 10:23:10 425

原创 Sleuth--链路追踪

一.链路追踪介绍        在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题:如何快速发现问题?如何判断

2022-02-09 11:24:22 977

原创 Gateway--服务网关

目录一.网关简介二.Gateway简介三.Gateway 入门使用1.引入依赖2.添加配置3.启动项目,通过网关访问四.Gateway结合Nacos 使用1.添加依赖2.在主类上增加注解3.修改配置文件五.Gateway核心架构1.基本概念2.执行流程3.断言3.1.内置路由断言工厂3.2.自定义路由断言工厂4.过滤器4.1.局部过滤器4.1.1.内置局部过滤器4.1.2.自定义局部过滤器4.2.全局过滤器4.2.1.内置全局过滤器4.2.2 自定义全局过滤器六.网关限流一.网关简介在没有网关的情况下:

2022-02-09 09:00:26 676

原创 SpringCloud Feign整合Sentinel

目录一.引入依赖二.在配置文件中开启Feign对Sentinel的支持三.创建容错类四.为被容器的接口指定容错类五.修改controller六.获取具体错误信息一.引入依赖 <!--sentinel客户端--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactI

2022-01-17 13:16:27 603

原创 服务容错-SpingCloud Sentinel 功能规则学习二

目录一.Sentinel的概念和功能1.基本概念2.重要功能二.Sentinel规则1.流控规则1.1. 简单配置1.2.配置流控模式1.2.1 直接流控模式1.2.2 关联流控模式1.2.3 链路流控模式1.2.3.1 编写一个service,在里面添加一个方法message1.2.3.2 在Controller中声明两个方法,分别调用service中的方法message1.2.3.3 禁止收敛URL的入口 context1.2.3.4. 控制台配置限流规则1.2.3.5 测试1.3.配置流控效果2

2022-01-17 11:12:11 749

原创 服务容错-SpingCloud Sentinel简介环境搭建和服务集成学习一

目录一.高并发带来的问题1.雪崩效应二.容错思路1.隔离2.超时3.限流4.熔断5.降级三.常见的容错组件四.Sentinel1.简介2.微服务集成Sentinel2.1 安装Sentinel控制台2.2 微服务中集成2.2.1在pom.xml中加入下面依赖2.2.2修改 yml ,在里面加入有关控制台的配置2.2.3 规则持久化2.2.3.1 简介2.2.3.2 处理类2.2.3.3 配置一.高并发带来的问题在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因

2022-01-14 14:18:55 202

原创 Feign实现服务调用

一.什么是FeignFeign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。Feign默认集成了 Ribbon, 所以在Nacos下使用Fegin默认就实现了负载均衡的效果。二.Feign的使用1.加入依赖<!--fegin组件--><dependency> <groupId>org.springframework.cloud</groupId&g

2022-01-14 10:55:55 5374 2

原创 客户端负载均Ribbon

一.简介负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。根据负载均衡发生位置的不同,一般分为服务端负载均衡和客户端负载均衡。服务端负载均衡指的是发生在服务提供者一方,比如常见的nginx负载均衡而客户端负载均衡指的是发生在服务请求的一方,也就是在发送请求之前已经选好了由哪个实例处理请求。在微服务调用关系中一般会选择客户端负载均衡,也就是在服务调用的一方来决定服务由哪个提供者执行。二.Ribbon实现负载均衡Ribbon是Spring Cloud的一

2022-01-14 10:24:48 76

原创 Nacos环境搭建和使用

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。一.环境搭建1.安装Nacos下载地址: https://github.com/alibaba/nacos/releases下载zip格式的安装包,然后进行解压缩操作2.启动nacos#切换目录> cd nacos/bin#命令启动 Linux 单实例非集群模式启动命令> startup.cmd -m standalone.

2022-01-14 09:59:46 1157

原创 RocketMQ环境搭建学习内容一

一.环境搭建1.下载RocketMQ下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.4.0/.官方快速使用教程 https://rocketmq.apache.org/docs/quick-start/下载下来后在linux中进行解压安转># unzip rocketmq-all-4.4.0-bin-release.z># mv rocketmq-all-4.4.0-bin-release ../rocket

2022-01-12 14:11:50 934

原创 压测时服务器的检测

一.CPU负载情况通过top命令进行查看top - 15:52:00 up 42:35, 1 user, load average: 0.15, 0.05, 0.015:52:00 指的是当前时间up 42:35 指的是机器已经运行了多长时间1 user 指的是当前机器有1个用户在使用load average: 0.15, 0.05, 0.01 的是CPU在1分钟、5分钟、15分钟内的负载情况假设是一个4核的CPU,此时如果你的CPU负载是0.15,这就说明,4核CPU中连一个

2021-12-29 14:40:27 1276

原创 压测性能指标

一.QPS和TPSQPS:Queries Per Second,顾名思义:“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS:是Transactions Per Second的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。二.IOPSIOPS:可以视为是每秒的读写

2021-12-29 10:10:06 3655

原创 Sysbench数据库测压工具使用教程

一.下载安装> curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash> sudo yum -y install sysbench> sysbench --version如果上面可以看到sysbench的版本号,就说明安装成功了。二.使用我们需要在自己的数据库里创建好一个测试库,我们可以取个名字叫做test_db,同时创建好对应的测试账号

2021-12-29 09:48:46 1141

原创 JMeter使用教程

一.下载配置启动1.下载地址: https://jmeter.apache.org/2.进入bin目录,修改jmeter.properties文件中的语言支持为language=zh_CN,然后点击jmeter.bat启动软件二.简单配置使用1.添加线程组setUP线程组:在测试任务ThreadGroup 运行前先被运行。通常用在运行测试任务前,做初始化工作。例如建立数据库连接初始分化工作、用户登录tearDown线程组:在测试任务线程组运行结束后被运行。通常用来做清理测试脏数据、登

2021-12-29 09:08:49 980

原创 一.MQ基础概念和优劣势

1.MQ概述MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。2.MQ 的优势和劣势2.1优势应用解耦:提高系统容错性和可维护性异步提速:提升用户体验和系统吞吐量削峰填谷:提高系统稳定性使用了 MQ 之后,限制消费消息的速度为1000,这样一来,高峰期产生的数据势必会被积压在 MQ 中,高峰就被“削”掉了,但是因为消息积压,在高峰期过后的一段时间内,消费消息的速度还是会维持在1000,直到消费完积压的消

2021-09-26 13:48:03 534

原创 idea 项目内存溢出OutOfMemory

一.设置idea堆大小值二.设置VM options调整jvm-Xms2048m -Xmx2048m -Xmn1433m -XX:PermSize=512m -XX:MaxPermSize=512m设置堆大小为2gXmn 年轻代大小PermSize:永久代大小

2021-09-14 10:37:02 533

原创 JVM-常见垃圾回收机制已经各自的特点

一.Serial和Serial Old垃圾回收器分别用来回收新生代和老年代的垃圾对象。工作原理就是单线程运行,垃圾回收的时候会停止我们自己写的系统的其他工作线程,让我们系统直接卡死不动,然后让他们垃圾回收,这个现在一般写后台Java系统几乎不用。二.ParNew和CMS垃圾回收器ParNew现在一般都是用在新生代的垃圾回收器,CMS是用在老年代的垃圾回收器,他们都是多线程并发的机制,性能更好,现在一般是线上生产系统的标配组合。G1垃圾回收器统一收集新生代 和老年代,采用了更加优秀的算法和

2021-09-10 15:11:42 150

原创 JVM-内存溢出

可能发生内存溢出的区域Metaspace区域 栈内存 堆内存一.Metaspace区域在jvm参数配置中通过以下参数分配限制大小-XX:MetaspaceSize=512m-XX:MaxMetaspaceSize=512mMetaspance区域内存溢出的主要两个原因:第一种原因,上线系统Metaspace区域直接用默认的参数,即根本不设置其大小。这会导致默认的Metaspace区域可能才几十MB而已,此时对于一个稍微大型一点的系统,因为他自己有很多类,还依赖了很多..

2021-07-08 17:30:44 226

原创 JVM运行原理和GC原理

一.新生代gc新生代分成了Eden和2个Survivor,默认比例是8:1:1。当Eden内存存不下新对象时会触发Young GC;Young GC会采用复制算法,从GC Roots(方法的局部变量、类的静态变量)开始追踪,标记出来存活的对象。然后把存活对象都放入在第一个Survivor区域s0中。接着垃圾回收器就会直接回收掉Eden区里剩余的全部垃圾对象,在整个这个垃圾回收的过程中全程会进入Stop the Wold状态,也就是暂停系统工作线程,系统代码全部停止运行,不允许创建新的对象。..

2021-07-08 14:53:23 283

原创 JVM 优化问题整理

cms old gc 回收机制使用的是标记清理法-XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=5CMSFullGCsBeforeCompaction 设置为5则说明在5次old gc后才会进行内存碎片压缩,所以这样对导致在第一次或第二次之后产生大量的内存碎片,造成连续可使用空间过小,没办法存入新进入的完整对象,这时就容易造成频繁的进行old gc。设置 XX:CMSFullGCsBeforeCom...

2021-07-07 16:19:06 206

原创 JVM-jmap和jhat使用介绍

这两个工具可以帮助我们观察线上JVM中的对象分布,了解到你的系统平时运行过程中,到底哪些对象占据了主角位置,他们占据了多少内存空间,让你对你的系统运行有更加细致的了解。一.jmap1. heapjmap -heap PID会打印出来堆内存相关的一些参数设置,然后就是当前堆内存里的一些基本各个区域的情况比如Eden区总容量、已经使用的容量、剩余的空间容量,两个Survivor区的总容量、已经使用的容量和剩余的空间容量,老年代的总容量、已经...

2021-07-05 15:21:18 297

原创 JVM-jstat使用及分析思路

一.jstat的命令使用在window上找到jdk的安装路径在bin目录中打开win的cmd通过jps命令查看本机jvm进程通过 jstat -gc PID 查看Java进程(其实本质就是一个JVM)的内存和GC情况各参数介绍:S0C:这是From Survivor区的大小S1C:这是To Survivor区的大小S0U:这是From Survivor区当前使用的内存大小S1U:这是To Survivor区当前使用的内存大小EC:这是Eden区的大小EU:这是Ed..

2021-07-05 14:38:41 654

原创 JAVA 参数类型枚举使用

一、定义接口类public interface BaseEnum { String getCode(); String getParam();}二、使用工具public class EnumUtil { public static <E extends Enum<?> & BaseEnum> Optional<E> codeOf(Class<E> enumClass, String cod..

2021-02-24 09:36:52 2483

原创 linux 服务器数据库备份只保留七天内的

在 /home/dbback 目录下创建databaseBackup.shvim databaseBackup.sh 写入下面信息,将数据库账号密码 库名修改为自己的#!/bin/bashbaseDir="/home/dbback/";cd "$baseDir";echo "开始备份数据库";echo `mysqldump -u账号 -p密码 库名 | gzip > /home/dbback/库名_$(date +%Y%m%d_%H%M%S).sql.gz`;e...

2021-01-23 11:49:14 908

原创 JAVA AOP防止重复提交

通过Aop进行防止重复提交, 把pds-sessionId-请求路径作为请求的唯一key,用户发送请求时,判断key是否存在,如果存在则重复提交,不存在,则进行保存,执行完后或者出现异常进行清除。key 超时5秒自动清除一.自定义注解import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;imp...

2021-01-13 16:12:45 670

原创 java @RequesetBoy参数过滤器处理,拦截器进行获取数据

工具类package com.qike.yunyi.component;import com.alibaba.fastjson.JSONObject;import javax.servlet.ServletRequest;import javax.servlet.http.HttpServletRequest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;i...

2021-01-12 10:35:56 528

原创 JAVA springboot 发送邮件

一.引入依赖 <!-- 发送邮件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>二.配置信息sprin...

2021-01-09 15:14:48 139

原创 element-ui 省市区插件

插件官网 :https://www.npmjs.com/package/element-china-area-data项目npm 下载组件 npm install element-china-area-data -S

2020-12-22 11:39:02 2794

原创 springboot 数据库链接账号密码加密

一.引入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>二...

2020-12-22 10:53:03 828

原创 JAVA 数组删除元素

String jj = "1231231;123123;123123;123123;123123;123123;123123;123123;123123"; String[] split = jj.split(";"); List<String> strings = new ArrayList<>(Arrays.asList(split)); strings.remove(0); String join...

2020-12-17 11:33:34 406

原创 vue element tree树形

<template> <div class="app-container"> <el-card class="filter-container" shadow="never"> <el-tree :data="servcieCategoryData" style="margin-bottom: 20px" show-checkbox default-expand...

2020-11-26 19:37:53 280

原创 vue 后台管理系统引入地图选点插件获取经纬度

地图插件文档:https://elemefe.github.io/vue-amap/#/下载引入插件npm install --save vue-amap在main全局引用插件// 引入vue-amapimport VueAMap from 'vue-amap';// 初始化vue-amapVue.use(VueAMap);VueAMap.initAMapApiLoader({ // 高德的key key: '677274fb6ded17ce1610543fc...

2020-11-26 15:04:44 2413 3

原创 JAVA 二维码图片下生成文字

二维码图片下添加文字package com.qike.utils;import com.qike.exception.GlobalRuntimeException;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;public class Image...

2020-11-26 10:24:02 1079

原创 JAVA 自定义生成二维码

一.加入依赖 <!-- 条形码、二维码生成 --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>2.2</version> </dependency> <dependency> <gro...

2020-11-26 10:20:17 662

原创 vue-element-admin 按钮级别的权限判断

vue-element-admin按钮级别的权限判断参照官网进行创建权限控制jshttps://panjiachen.github.io/vue-element-admin-site/zh/guide/essentials/permission.html#%E6%8C%87%E4%BB%A4%E6%9D%83%E9%99%90选用第一种注册全局,在main中进行注册// 权限框架注册全局import permission from '@/directive/permissio...

2020-11-18 18:03:03 2985

原创 JAVA极光推送详细工具类

一.引入依赖 <jpush-client.version>3.4.6</jpush-client.version> <!-- 极光 --> <dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client&lt...

2020-11-16 19:06:27 577

国家统计局最新省市区镇数据

国家统计局最新省市区镇数据,字段包含(区域code,区域名称,区域级别(1.省2.市3.区4.镇街道),父级code,父级codes)

2020-10-12

空空如也

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

TA关注的人

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