自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker安装步骤

其他系统参照如下文档。

2023-10-16 14:55:36 106

原创 linux如何执行定时任务

linux如何执行定时脚本任务

2023-02-08 13:06:32 784 1

原创 Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案

Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案

2023-01-18 10:01:24 1678

原创 Mysql根据出生日期计算年龄

简单粗暴,直接上sqlSELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(u.birthday)), '%Y')+0 AS age完事~~

2022-02-27 20:43:35 2715

原创 Mysql数据库地区表 递归查询 省市区

直接上sql,简单粗暴!!SELECT t1.area_name AS '省', t2.area_name AS '市', t3.area_name AS '区' FROM ( SELECT * FROM base_area_new WHERE area_type = 1 AND version = 2 AND data_status = 1 ) AS t1 INNER JOIN ( SELECT * FROM base_area_new WHERE area_type = 2 AND ver

2022-02-27 20:03:30 3145

原创 通过sql实现传入父级id查询出所有的子集

通过sql实现传入父级id查询出所有的子集SELECT t3.* FROM ( SELECT t1.*, t2.*, IF(FIND_IN_SET(parent_id, @pids) > 0, @pids := CONCAT(@pids, ',', id), '0') AS isChild FROM ( SELECT * FROM rule_enti

2021-12-31 14:15:19 1200

原创 docker logs 查看docker容器日志详解

docker logs 查看docker容器日志详解通过docker logs命令可以查看容器的日志。命令格式:$ docker logs [OPTIONS] CONTAINER Options: --details 显示更多的信息 -f, --follow 跟踪实时日志 --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟) --tail string

2021-12-17 13:15:26 934 1

原创 MyBatis 批量插入几千条数据,请慎用Foreach

MyBatis 批量插入几千条数据,请慎用Foreach近日,项目中有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗在往MyBatis中批量插入数据。mapper configuration是用foreach循环做的,差不多是这样。(由于项目保密,以下代码均为自己手写的demo代码)<insert id="batchInsert" parameterType="java.util.List"> insert into USER (id, name) valu

2021-12-17 11:12:33 180

原创 域名跨域问题处理

server { listen 443 ssl; server_name testlaberpbac.shenhanhealth.com; client_max_body_size 500M; ssl_certificate /ssl/4016712__shenhanhealth.com.pem; ssl_certificate_key .

2021-12-16 12:50:00 156

原创 Linux基础命令

Linux基础命令查看操作系统版本:lsb_release -a如果 -bash: lsb_release: 未找到命令yum install -y redhat-lsblinux开放指定端口命令1、开启防火墙 systemctl start firewalld2、开放指定端口firewall-cmd --zone=public --add-port=1935/tcp --permanent命令含义:--zone #作用域--add-port=1935/tcp

2021-12-10 13:53:09 81

原创 52条SQL语句,性能优化

52条SQL语句,性能优化,干货必收藏本文会提到 52 条 SQL 语句性能优化策略。1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:&lt

2021-11-02 09:59:14 88

原创 Jenkins自动化部署实战

一、docker安装jenkins1、docker拉取镜像docker pull jenkins/jenkins:lts2、新建文件夹mkdir -p /mydata/jenkins_home3、运行镜像docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home/:/var/jenkins_home jenkins/jenkins:lts4、如果没有启动成功,给对应目录加权限chown -R 1000 /myd

2021-08-25 23:00:52 96

原创 Nacos和Eureka的区别

1、ACP原则nacos支持AP(可用性 | 分区容错性) 和 CP(一致性 | 分区容错性)两种eureka只支持 AP (可用性 | 分区容错性)什么是P(分区容错性)?2、配置中心nacos有自己的配置中心,提供管理界面eureka需要配合config实现配置中心,且不提供管理界面3、连接方式nacos支持动态刷新,在控制器(controller)上加 @RefreshScope 注解即可,采用Netty连接,是长连接eureka本身不支持动态刷新,需要配合MQ完成动态

2021-07-21 09:10:51 6266

原创 MyCat笔记

MyCat1、分库分表2、读写分离原理:需要搭建数据库主从模式,让主数据库(master)负责处理增、删、改 事务性操作,让从数据库(slave)负责处理查询操作。mycat配合数据库本身的复制功能,可以解决读写分离的问题。...

2021-07-20 15:15:25 77

原创 String、StringBuffer、StringBuilder的区别

StringString的值是不可变的,所以每次对String进行操作的时候,都会创建新的对象。当对字符串进行修改的时候,需要使用stringbuffer和stringbuilder与string(不可变字符串)相比,stringbuffer和stringbuilder类的对象可以被多次修改,并不会产生新的未使用的对象。三者继承结构三者的区别1、字符上string不可变字符串;stringBuffer 可变字符串,线程安全,执行效率低;stringBuilder 可变字符序列,线程不

2021-06-29 16:39:00 62

原创 线程学习1.1

1.1 线程相关概念进程 进程(Process)是正在操作系统中运行的一个程序线程 线程(Thread)是进程的一个执行单元,或者理解为进程的一个执行分支进程是线程的容器,一个进程至少有一个线程最终实现:cmpxchg = cas 修改变量值lock cmpxchg 指令 (cmpxchg是非原子性的,但加了lock,就代表在cas修改变量值过程中,不允许其他线程访问,保证了原子性)...

2021-06-26 15:47:01 60

原创 Synchronized和lock的区别

Synchronized和Lock的区别1、synchronized的实现原理Java中的每一个对象都可以作为锁,这是synchronized的实现基础;普通同步方法,锁的是当前对象;静态同步方法,锁的是当前类的class对象;同步代码块,锁的是括号里面的对象。2、具体区别1、synchronized是java的一个关键字,在jvm层面上,而lock是一个接口;2、synchronized在发生异常时会自动释放当前占有的锁,因此不会出现死锁;而Lock发生异常的时候,不会主动释放

2021-06-21 22:23:08 57

原创 MongoDB基本介绍和实际应用场景

MongoDB1. 简介MongoDB是开源的、无模式、分布式的非关系性文档型数据库,是NoSql的一种,类似的还有Redis、HBase等。它支持的数据结构比较松散,是一种类似于JSON的BSON格式,实际上是二进制的JSON。2. 适用场景1、数据量存储达到TB,甚至PB级别的海量数据时;2、数据库需要承载高并发读写需求时;3、对数据库有高扩展性和高可用性的需求时。这些应用场景的共同特点是:1、数据量大2、写入操作频繁3、价值较低的数据,对事务性要求不高这里回顾下事务的四大

2021-06-20 22:26:22 351

原创 设计模式-单例模式(创建型模式)

单例模式饿汉式package com.design.single;/** * @author MYM_ZUOYAN * @version 2.0 * @date 2021/6/19 9:56 * 单列模式-饿汉式 * * 饿汉式特点:一上来就把所有的资源加载,会浪费空间 */public class Hungry { //可能会浪费空间 private byte[] data1 = new byte[1024 * 1024]; private byte[]

2021-06-19 15:11:25 62

原创 23种设计模式-概述

2021-06-19 09:43:54 96

原创 Volatile的作用

volatile1. volatile的作用保证某一值 x 的值在更新后,每个线程所取到的 x 的值都是最新的。volatile保证了可见性、有序性,但不能保证原子性。2. volatile和synchronized区别1、volatile是轻量级,只能修饰变量。synchronized是重量级,还可修饰方法2、volatile只能保证数据的可见性、有序性,不能用来同步,因为多个线程并发访问volatile修饰的变量不会发生阻塞,synchronized既保证了可见性、还可保证原子性,因

2021-06-18 15:21:22 321

原创 JVM之Native、方法区、栈、堆

Native栈栈:先进后出,后进先出,类似桶队列:先进先出

2021-05-19 22:42:56 112

原创 JVM的体系架构

1、JVM与操作系统、硬件体系关系图2、JVM结构体系类加载器作用:加载Class文件双亲委派机制:安全先从最内层的包开始找一直找到根(ROOT)然后执行根也就是类加载器收到类加载的请求将这个请求一直向上委托给父类加载器去完成,直到启动类加载器启动类加载器检查是否能加载这个类,能加载就结束,使用当前的加载器,否则抛出异常(Class Not Found),通知子加载器进行加载重复步骤3...

2021-05-18 22:58:30 58

原创 JVM的学习方式

JVM探究我们目前学习的虚拟机是HotSpot

2021-05-18 22:04:10 56

原创 git 提交代码问题

遇到 Push to origin/master was rejected 提交问题用这个命令一键解决:git push -u origin master -f

2021-05-16 22:32:46 65

原创 lunix后台启动seata

# 1. 进入seata的bin目录下(这里是我的) cd /home/seata/seata/bin # 2. 后台启动命令(seata0.7版本后) nohup ./seata-server.sh -p 8091 -h 127.0.0.1 -m file >nohup.out 2>1 &就这么简单!!

2021-05-03 10:00:44 1106

原创 Linux配置Nginx+FastDFS+通过Http或Https访问文件

1. 下载四个压缩包wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gzwget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gzwget https://github.com/happyfish100/fastdf

2021-04-24 14:45:51 579

原创 汇编语言之二进制(原码、反码、补码)

原码反码补码的关系二进制位运算与运算(and &)两个都为1,则为11 0 0 1 1 0 1 01 1 0 0 0 1 1 0------------------1 0 0 0 0 0 1 0或运算(or | )一个为1,则为11 0 0 1 1 0 1 01 1 0 0 0 1 1 0------------------1 1 0 1 1 1 1 0异或运算(xor ^)不一样就是11 0 0 1 1 0 1 01

2021-04-22 22:59:14 1655

原创 docker-compose下载与安装

下载curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose授权sudo chmod +x /usr/local/bin/docker-compose查看版本cd /usr/local/bindocker-compose version..

2021-04-14 13:32:34 464

原创 Java后台根据地理位置获取经纬度信息(百度地图)

1. 引入依赖包<!-- 引入HttpClient依赖 --><dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version></dependency>2. 在yml中配置百度地图AK和地理编码

2021-04-09 16:43:21 2560 2

原创 Linux 监听微服务Jar包宕机后自动重启脚本

1. 编写脚本在jar目录下创建脚本,例如:sys.shwhile : do run=$(ps -ef |grep "Kenner-service-sys-1.0-SNAPSHOT-exec.jar" |grep -v "grep") if [ "$run" ] ; then echo "The service is alive!" else echo "The service was shutdown!" echo "Starting service ..." nohup java

2021-04-07 11:26:31 1361 2

原创 canal caching_sha2_password Auth failed

环境版本:canal:1.1.5mysql:Server version: 8.0.19 Homebrew启动canal服务sh bin/startup.sh报错花了一上午的时间终于找到原因:因为本人使用mysql版本为8.0,而创建用户时默认的密码加密方式为caching_sha2_password,所以修改为mysql_native_password 就行首先找到conf/example/instance.properties文件中canal.instance.dbUsern.

2021-03-26 08:55:00 531

原创 用Navicat查看MySql安装路径(Windows与linux通用)

在Navicat中执行命令:show VARIABLES like '%char%';就这么简单!

2021-03-25 10:37:53 1386

原创 使用Docker镜像搭建FastDFS(Linux和Ubuntu都通用)

Ubuntu使用Docker安装FastDFS1.第一步安装docker#安装dockeryum install -y docker-io#启动dockerservice docker star #查看docker版本docker -v2.拉取镜像#拉取镜像docker pull qbanxiaoli/fastdfs3.启动fastdfs#启动镜像docker run -d --restart=always --privileged=true --net=host --nam

2021-03-19 13:24:59 444

原创 springcloud多环境配置

springcloud分布式配置中心

2021-03-15 23:07:45 72

原创 服务注册中心:Eureka与Zookeeper对比

2021-03-13 14:02:07 61

原创 SpringCloud学习笔记

SpringCloud与Dubbo对比springcloud学习文档网站数据库函数:DATABASE(), 意思指获取本数据名

2021-03-05 17:43:44 44

原创 Vue+ElementUI

Vue+ElementUI项目工程创建工程# 创建初始化vue项目 vue init webpack hello_vue# 进入工程目录 cd hello_vue# 安装 vue-router npm install vue-router --save-dev# 安装 element-ui npm i element-ui -s# 安装所有依赖 npm install# 安装sass加载器 cnpm install sass-loader node-sass --sa

2021-03-03 16:28:40 70 1

原创 Vue搭建与第一个vue-cli项目

Vue搭建与第一个vue-cli项目安装Node.js地址:https://nodejs.org/zh-cn/download/安装Git(可跳过)安装淘宝镜像加速器npm install cnpm -g安装Vue-licnpm install vue-cli -g查看可以基于哪些模板创建vue应用程序vue list创建一个vue-cli应用程序创建一个基于webpack模板的vue应用程序vue init webpack

2021-03-03 14:42:15 107

原创 GIT分支说明

GIT分支说明# 列出所有本地分支git branch# 列出所有远程分支git branch -r# 新建一个分支,但依然停留在当前分支git branch [branch-name]# 新建一个分支,并切换至该分支git checkout -b [branch]# 合并指定分支到当前分支git merge [branch]# 删除分支git branch -d [branch-name]# 删除远程分支git push origin --delete [bran

2021-03-02 09:43:10 55

空空如也

空空如也

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

TA关注的人

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