自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【mysql】centos安装mysql8

centos安装mysql8

2022-08-30 11:13:17 491 1

原创 【redis】docker 安装部署 redis

1. 拉取指定版本镜像 docker pull redis:4.0.02. 新建挂载 redis 数据和配置的目录 ## 1.redis数据 mkdir -p /data/redis/data ## 2.redis配置文件 mkdir -p /data/redis/conf3. 添加并修改redis配置文件#bind 127.0.0.1 # 注释掉这部分,这是限制redis只能本地访问 protected-mode no # 默认是yes,yes开启保护模式,限制为

2021-01-19 17:02:51 501

转载 【redis】Redis原理、IO多路复用、集群模式、雪崩、击穿、穿透解析

redis是什么redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。优点:速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) 支持丰富数据类型,支持string,list,set,sorted set,hash 支持事务,操作都是原子性,所谓的原子性就是对数据的...

2021-01-18 18:15:43 283

原创 【linux】linux 进程相关命令

1.ps ps -ef | grep xxxxx通过名称获取进程的pid等信息;2.netstatnetstat -lnp | grep portnetstat -tunplp | grep portnetstat -anp| grep port通过端口获取进程的pid等信息;3.lsoflsof -i:port通过端口获取进程的pid等信息;lsof -i | grep pid根据进程pid查端口;4...

2020-11-02 15:36:59 172

原创 【跨域】springboot 解决前后端跨域

方式一:package com.hzl.admin.api.config;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.ann...

2020-09-29 11:23:32 220

转载 【maven】maven settings.xml 中 mirror 和 repository 的区别

一、概述maven的settings.xml文件里面有proxy、server、repository、mirror的配置,在配置仓库地址的时候容易混淆proxy是服务器不能直接访问外网时需要设置的代理服务,不常用 server是服务器要打包上传到私服时,设置私服的鉴权信息 repository是服务器下载jar包的仓库地址 mirror是用于替代仓库地址的镜像地址二、源码解析执行流...

2020-09-25 16:48:59 3336

原创 【websocket】 websocket 详解

前言随着 Web 的发展,用户对于 Web 的实时推送要求也越来越高,在 WebSocket 出现之前,大多数情况下是通过客户端发起轮询来拿到服务端实时更新的数据,因为 HTTP1.x 协议有一个缺陷就是通信只能由客户端发起,服务端没法主动给客户端推送。这种方式在对实时性要求比较高的场景下,比如即时通讯、即时报价等,显然会十分低效,体验也不好。为了解决这个问题,便出现了 WebSocket 协议,实现了客户端和服务端双向通信的能力。介绍 WebSocket 之前,还是让我们先了解下轮询实现推送的方式。

2020-09-17 18:09:16 663

原创 【spring】spring cache 使用详解

Spring缓存抽象Spring从3.1开始定义了一系列抽象接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们进行缓存开发。Spring Cache 只负责维护抽象层,具体的实现由你的技术选型来决定。将缓存处理和缓存技术解除耦合。依赖引入Spring cache 抽象由spring-context相关组件实现。非Spring Boot 项目可通过引入该模块进...

2020-09-10 11:59:14 915

原创 【redis】springboot 集成 redis

目前java操作redis的客户端有jedis跟Lettuce。在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce。关于jedis跟lettuce的区别:Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server。 Jedis在实现上是直接连接的redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接 L..

2020-09-10 11:57:36 140

转载 【mysql】mysql 锁机制

mysql锁数据库系统角度:表级锁: 开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低 行级锁: 开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高 页级锁: 开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般开发人员角度:悲观锁:是悲观的认为每次都会发生并发冲突,屏蔽一切可能违反数据完整性的操作,在可能出现并发的地方加上锁机制,按串行化一一执行通俗解释是指总是假设最坏的情况,每次去拿数据的时候都..

2020-09-02 15:09:49 223

转载 【mysql】mysql 事务

MySQL锁详解一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化...

2020-09-02 15:08:50 100

转载 【mysql】explain 用法分析

概要描述:id:选择标识符 select_type:表示查询的类型。 table:输出结果集的表 partitions:匹配的分区 type:表示表的连接类型 possible_keys:表示查询时,可能使用的索引 key:表示实际使用的索引 key_len:索引字段的长度 ref:列与索引的比较 rows:扫描出的行数(估算的行数) filtered:按表条件过滤的行百分...

2020-09-01 16:09:34 109

转载 【mysql】mysql 索引

一、什么是索引?为什么要建立索引?       索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。       例如:有一张person表,其中有2W条记录,记录着2W个...

2020-09-01 16:05:32 107

转载 【mysql】mysql 基础语法全解

一:sql分类及语法1.sql分类:(1)DDL:数据库定义语言,用于定义表,列,索引等数据库对象. create,drop,alter等(2)DML:数据库操纵语言,增删改查数据库的记录insert,delete,update,select等(3)DCL:数据库控制语言,定义了数据库的表,字段,用户的访问权限和安全级别 grant,revoke等2.DDL语句(1)创建数据库:create database test1;(2)删除数据库:drop database test1;(3)创建表

2020-09-01 15:28:57 385

原创 【golang】golang项目打包部署

方式一:本地编译打包cmd控制台到项目main.go文件目录下,交叉编译// filename : 文件名set GOOS=windows set GOARCH=amd64 go build -o "filename"# orset GOOS=linux set GOARCH=amd64 go build -o "filename"上传到linux中赋予执行权限chmod 777 main项目执行nohup ./filename &..

2020-07-22 16:44:51 1727

转载 【quartz】quartz api 详解

Quartz APIScheduler- 与调度程序交互的主要API。 Job - 由希望由调度程序执行的组件实现的接口。 JobDetail - 用于定义作业的实例。 Trigger(即触发器) - 定义执行给定作业的计划的组件。 JobBuilder - 用于定义/构建JobDetail实例,用于定义作业的实例。 TriggerBuilder - 用于定义/构建触发器实例。J...

2020-07-22 14:40:02 1767

原创 【quartz】springboot 集成 quartz 实现动态管理定时任务

maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency&...

2020-07-22 14:38:06 469

原创 【supervisor】supervisor 管理 springboot

一.supervisor介绍supervisor是一个进程管理的python系统,可以方便的监控,管理linux系统中运行的进程服务supervisor主要包括supervisord和supervisorctlsupervisord是supervisor的服务端,它负责自行调用启动子程序,响应来自客户端的命令,重新启动崩溃或退出的子进程,记录其子进程stdout和stderr 输出以及生成和处理与子进程生存期中的点相对应的“事件”。supervisorctl是supervisor的命令行客户端(co

2020-06-29 11:49:49 488

原创 【java】java多线程1_进程,线程,线程实现方式的概述

一.线程的生命周期及五种基本状态Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.s...

2020-06-22 23:09:27 161

转载 【https】https 背后的原理及流程

1.https通信流程服务器端的公钥和私钥,用来进行非对称加密客户端生成的随机密钥,用来进行对称加密一个HTTPS请求实际上包含了两次HTTP传输,大致如下:客户端向服务器发起HTTPS请求,连接到服务器的443端口 服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。 拿着自己的公匙以及其他信息(比如说企业名称啊什么的)去CA申请数字证书。CA将会把我们的申请信息(包含服务器的公匙)和数字签名(就是传过去的信息进行加密

2020-06-01 17:14:02 624 1

原创 【java】==操作符与equals的区别

==如果比较的是基本数据类型,则直接比较其存储的 “值”是否相等;正在上传…重新上传取消如果比较的是引用类型的变量,则比较的是所指向的对象的地址正在上传…重新上传取消equals如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址,,这个和==号比较对象或者引用类型是一样的效果正在上传…重新上传取消例如String、Date等类对equal...

2020-04-24 11:29:57 249

原创 【version】软件开发版本命名规则

以下规约根据实际开发经验及参考阿里巴巴java开发手册而成,总体的设计方向如下,具体可根据实际情况做灵活变化。groupIdGroupID 格式:com.{公司/BU }.业务线 [.子业务线],最多 4 级。 说明: {公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。 正例:com.taobao.jsto...

2020-04-16 11:19:00 1830

转载 【java web】Filter Servlet Inteceptor Listener 区别与联系

一,区别1.使用范围Filter是Servlet中定义的,所以只能用于Web程序中; Interceptor是Spring定义的,既可以用于web程序中,也可以用于其他程序中(Application、Swing);2.实现机制拦截器是基于j...

2020-04-15 17:53:37 141

原创 【vs code】shell 语法提示,检查,运行调试

在vscode中编写shell脚本非常方便,可以使用如下shell插件方便开发,调试。1.shellman: 语法提示2.shell-format: 格式化3.shellcheck: 语法错误检查配置如下:https://storage.googleapis.com/shellcheck/shellcheck-stable.zip下载解压后设置如下:"shellch...

2020-04-05 02:04:08 7347

原创 【docker】 Dockerfile 命令详解

Dockerfile基础命令指令:FROM功能描述:设置基础镜像语法:FROM &lt; image&gt;[:&lt; tag&gt; | @&lt; digest&gt;]说明:FROM指定构建镜像的基础源镜像,如果本地没有指定的镜像,则会自动从 Docker 的公共库 pull 镜像下来。 FROM必须是 Dockerfile 中非注释行的第一个指令,即一个 Dock...

2020-04-03 15:13:18 306

原创 【docker】docker 数据卷

容器中管理数据主要有两种方式:主要是建立宿主机与docker容器的联系,体现在docker容器中的产生的数据保存,配置配置文件等创建数据卷docker volume create my-vol数据卷列表docker volume ls查看数据卷具体信息docker volume inspect my-vol删除数据卷docker volume rm my-vol...

2020-03-31 16:32:51 574

原创 【javascript】js中json格式转换

/*var str = '[{"name":null,"url":null,"cover":null},{"name":null,"url":null,"cover":null}]'; var obj = eval('(' + str + ')'); var obj2 = JSON.parse(str);

2020-03-23 16:37:46 294

转载 【tcp/ip】tcp/ip 协议简说

1、什么是TCP/IP 如果要了解一个人,可以从他归属的集体聊起来。我们的HTTP协议就属于TCP/IP协议家族中的一员,了解HTTP协议再整个网络流程中的地位,也能更加充分的理解HTTP协议。 要想了解什么是TCP/IP协议,就要知道为什么有这个协议。中国人和中国人说话,要遵循汉语的的语法结构,使用汉语的发音。当我们和外国人交流时,就要适用外国的语言了,遵循外国的语...

2020-03-23 14:39:16 326

转载 【git】git 环境配置与常规使用

一、 全局配置1. 配置文件git全局配置文件.gitconfig默认在当前系统用户文件夹下,window可运行%USERPROFILE%查找,Mac系统在cd ~查找。具体配置可参考如下,其中:【user】: 用户提交时显示在log里的信息【alias】: 常用git命令简写【core】: window系统和类linux系统回车键转换【push】: 默认对应远端(当本地分支名...

2020-03-23 14:36:15 338

原创 【tomcat】centos7 安装部署 tomcat

1、解压tar -zxvf apache-tomcat-8.5.37.tar.gz2、启动tomcat,显示tomcat started就是成功启动 启动- startup.sh 停止-shutdown.sh./startup.sh Using CATALINA_BASE: /root/apache-tomcat-8.5.37 Using CATALINA_H...

2020-03-22 15:59:27 106

原创 【mysql】centos7安装mysql57

安装命令:1. rpm -qa|grep -i mysql2. yum -y remove yum -y remove mysql-community-client-5.6.38-2.el7.x86_64 卸载不掉的用 rpm -ev 3. wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rp...

2020-03-20 21:11:11 289

原创 【mysql】mysql 数据存在更新,不存在插入

-- 一下两种根据所列添加字段中,存在更新,不存在则添加记录-- 删除更新REPLACE INTO golf_game_plan ( create_time, modify_time, user_id, plan_date )VALUES ( now( ), now( ), 11363, '2019-09-13 00:00:00' ); -- 唯一索引更新INSERT IN...

2020-03-18 16:57:28 365

转载 【java】java语言之闭包

一、为什么需要闭包闭包的价值在于可以作为函数对象或者匿名函数,持有上下文数据,作为第一级对象进行传递和保存。 闭包广泛用于回调函数、函数式编程中。二、JAVA中的闭包在JAVA中,闭包是通过“接口+内部类”实现,JAVA的内部类也可以有匿名内部类。1、内部类在JAVA中,内部类可以访问到外围类的变量、方法或者其它内部类等所有成员,即使它被定义成private了,但是外部类...

2020-03-17 16:21:48 189

原创 【java】Java遍历HashMap的五种方式

1、单独遍历key,valuefor(String k:maps.keySet()){ System.out.println(k+":"+maps.get(k)); } for(String value:maps.values()){ System.out.println(value); }2...

2020-03-09 11:41:04 363

转载 【springboot】maven依赖实现的两种方式

继承spring-boot-starter-parent项目<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RE...

2019-10-12 15:52:19 601

原创 【Mybatis】归纳总结

Mybatis1.什么是MybatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记...

2019-10-12 10:02:00 183

原创 【springmvc】springmvc 接收参数归纳总结

基本数据类型java的基本数据类型有八个(byte,short,int,long,float,double,char,boolean),选择以这些基本类型入参,不管是单个参数还是多个参数使用的方式方法都一样,总之就是怎么样都是可以接受到的。Content-Type:application/x-www-form-urlencoded1、@PathVariable(get,post请求方式...

2019-10-11 14:58:29 557

转载 【java】java 数据类型1:int和Integer的区别

一,Integer与intInteger是int的包装类,int则是java的一种基本数据类型 Integer变量必须实例化后才能使用,而int变量不需要 Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 Integer的默认值是null,int的默认值是0二,关于Integer和int的比较1、由于...

2019-07-30 15:03:02 128

原创 【nexus】centos7 nexus3 搭建私服

nexus安装部署

2019-02-27 17:12:54 1166

原创 【docker】docker 安装部署 nginx

1.拉取nginx镜像1.docker search nginx2.docker pull nginx2.运行nginx镜像docker run -d -p 80:80 --name mynginx nginx3.配置部署nginx镜像3.1 了解nginx镜像的配置文件位置日志文件位置:/var/log/nginx 配置文件位置: /etc/nginx 资源存放...

2018-12-17 20:14:18 194

空空如也

空空如也

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

TA关注的人

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