自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 【无标题】

乐观锁

2024-07-11 17:05:22 352

原创 MySQL常用SQL 函数有哪些?

1.CONCAT(A, B) – 连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。2、FORMAT(X, D)- 格式化数字X 到D 有效数字。3、CURRDATE(), CURRTIME()- 返回当前日期或时间。4、NOW() – 将当前日期和时间作为一个值返回。5、MONTH(),DAY( ),YEAR(),WEEK(),WEEKDAY() – 从日期值中提取给定数据。6、HOUR(),MINUTE(), SECOND() – 从时间值中提取给定数据。7、DA

2022-04-12 17:11:05 364

原创 mysql 索引优化最终总结

msyql 索引优化最终总结1.列类型尽量定义成数值类型,且长度尽可能短,如主键和外键,类型字段等等2.建立单列索引3.根据需要建立多列联合索引4.当单个列过滤之后还有很多数据,那么索引的效率将会比较低,即列的区分度较低,5.那么如果在多个列上建立索引,那么多个列的区分度就大多了,将会有显著的效率提高。6.根据业务场景建立覆盖索引只查询业务需要的字段,如果这些字段被索引覆盖,将极大的提高查询效率7.多表连接的字段上需要建立索引这样可以极大的提高表连接的效率8.where条件字段上需要建立

2022-04-12 15:26:21 153

原创 三次挥手和四次握手

三次挥手和四次握手面试官: 请你讲一下三次挥手 和四次握手候选者: 好的三次握手:客户端会随机生成出序列号.(这里的序列号一般叫做client_isn),并且把标志位置设置为SYN(意味着要连接),然后把该报文送给服务端客户端发送完SYN 报文以后,自己就进入了syn_sen 状态服务端接收到了客户端的请求后,自己也初始化对应的序列号(server_isn)在确认号字段填上了client_isn +1,把该报文发送给客户端,服务端的状态变成SYN-REVD客户端收到服务端发送的报文后,就知道

2022-04-12 10:40:49 159

原创 二叉树和平衡二叉树

为什么需要树这种数据结构数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从头节点开始遍历)树存储方式的分析能提高数据存储,读取的效率, 比如利用 二叉排序树(Binary Sort

2022-04-07 11:45:39 1085

原创 单链表和双链表

单链表链表是有序的列表,但是它在内存中的存储如下:链表是以节点的方式来存储, 是链式存储 每个节点包含 data 域(存储数据),next 域(指向下一个节点)链表的各个节点不一定是连续存储 链表分为带头节点的链表和 没有头节点的链表,根据实际的需求来确定单链表的应用实例使用带 head 头的单向链表实现 –水浒英雄排行榜管理完成对英雄人物的增删改查操作, 注: 删除和修改,查找 可以考虑学员独立完成,也可带学员完成 1) 第一种方法在添加英雄时,直接添加到链表的尾部第二种方式在添加英

2022-04-06 16:04:02 2070

转载 ArrayList源码分析

ArrayList的数据结构ArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于数组的。ArrayList的线程安全性对ArrayList进行添加元素的操作的时候是分两个步骤进行的第一步先在object[size]的位置上存放需要添加的元素;第二步将size的值增加1由于这个过程在多线程的环境下是不能保证具有原子性的,因此ArrayList在多线程的环境下是线程不安全的。具体举例说明在单线程运行的情况下,如果Size =

2022-04-06 11:29:39 1299

原创 nacos动态配置

昨天说了openfeign实现远程调用,今天继续用nacos作为配置中心实现动态配置依赖上面已经引入了,直接把官方的demo拿来不过要注意,我们如果是yml配置的话千万别忘了指定file-extensionspring: cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension: yml application: name: ruben-provider然后

2022-04-06 10:16:20 4277

原创 Docker常用命令

1.帮助命令docker version #显示docker的版本信息。 docker info #显示docker的系统信息,包括镜像和容器的数量 docker 命令 --help #帮助命令 #帮助文档的地址:https://docs.docker.com/engine/reference/commandline/build/2.镜像命令docker images #查看所有本地主机上的镜像 可以使用docker image ls代替 docker search 搜索镜像 docker pull

2021-02-04 13:16:59 133

原创 国内下载vscode速度慢问题解决

国内镜像: vscode.cdn.azure.cn使用:如下普通下载:把图中下载链接复制:再把框起来的部分替换国内镜像这样你的下载速度将会让你体验到前所未有的感觉

2021-01-30 13:39:00 378

原创 SKU排列算法的实现

public static void main(String[] args) { Object sku [] = new Object[3]; String s1[]={"黑","白"}; String s2[]={"x","xl","xxxl"}; String s3[]={"长","短"}; sku[0]=s1; sku[1]=s2; sku[2]=s3; String [].

2021-01-20 21:30:30 209

原创 Nginx 实现 后端不停机一直维护

#均衡负载 主备 upstream aaa { server 127.0.0.1:8888 max_fails=1 fail_timeout=600s; server 127.0.0.1:9999 backup; } server { listen 80; server_name www.aaa.com; rewrite ^(.*)$ https://$host/$1 perma...

2021-01-20 19:31:11 368

原创 哲学家就餐的问题

1 .问题描述由Dijkstra提出并解决的哲学家就餐问题是典型的同步问题。该问题描述的是五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五只筷子,他们的生活方式是交替的进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐完毕,放下筷子继续思考。2.解题思路因为是五位哲学家,并且每位哲学家的各自做自己的事情(思考和吃饭),因此可以创建五个线程表示五位哲学家,五个线程相互独立(异步)。并对五位哲学家分别编号为0~4。同

2021-01-20 12:37:32 644

原创 Deepin 下修改 MySQL 密码

MySQL 是使用终端命令进行安装的,没有提示设置密码。因此,找到 /etc/mysql/debian.cnf 文件:查看 user 和 password将 user 和 password 记住,这将是我们首次进入 mysql 的账号密码,命令为:mysql -u 用户名 -p登录 mysql用户名为刚才我们查到的 user 字段,密码为 password 字段。下面,进行更改 root 用户的密码操作:use mysql; ## 选择 mysql 数据库update user set

2021-01-19 22:29:19 264

原创 什么是钩子函数

什么是钩子函数?先来看一段百科:钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。emmmm,认认真真读三遍。get关键词,在系统级对所有消息进行过滤,这是什么意思呢?是说钩子函数是在一个事件触发的时候,在系统级捕获到了他,然后做一些操作。一段用以处理系统消息的程序,用以处理系统消息的程序,是说钩子函数是用于处理系统消息的。总结一下:钩子函数

2021-01-16 22:09:49 585

原创 数据库备份MySQL

首先分为备份是冷备份和热备份,冷备份适用myisam引擎,不适合innodb引擎,而且要关闭MySQL。不常用!热备份:份,热备份就是执行MySQL安装目录下的/bin文件夹下的mysqldump备份工具,这是自带必有的。备份命令是:mysqldump是工具 -u是用户名 -p是密码 -A是全部的意思 -d是表结构 -t是表数据 >是重定向的意思 >右边是需要输出的路径和文件名全备份:mysqldump -uroot -p123456 -A > /back/backdb.s

2021-01-13 23:51:28 84

原创 关于window上出现npm ERR! cb()never called!的错误

在运行npm install下载之后报如下错误:npm ERR! cb() never called! npm ERR! This is an error with npm itself. Please report this error at:npm ERR! <https://npm.community>``最后整理了一下,在window和linux 上如何解决这个问题Linux:以管理员模式打开cmd清除你的npm缓存 (mac电脑在npm前加sudo):

2021-01-13 15:19:07 776

原创 关于Guava-RateLimiter详解

常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失败,下图来自网上:本次实战,我们用的是guava的RateLimiter,场景是spring mvc在处理请求时候,从桶中申请令牌,申请到了就成功响应,申请不到时直接返回失败。实例1、添加guava jar包 <de

2020-12-23 16:24:23 318

原创 搞清楚XXL-JOB的来龙去脉

概述​ 首先我们要知道什么是XXL-JOB?​ 官方简介:XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用​ XXL-JOB的有点特性:​ 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;​ 2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;​ 3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA;

2020-12-23 16:14:21 728

原创 如何实现SSO服务

WebSocket的实现原理一、什么是websocketWebsocket是应用层第七层上的一个应用层协议,它必须依赖 HTTP 协议进行一次握手 ,握手成功后,数据就直接从 TCP 通道传输,与 HTTP 无关了。即:websocket分为握手和数据传输阶段,即进行了HTTP握手 + 双工的TCP连接。下面我们分别来看一下这两个阶段的具体实现原理:1、握手阶段客户端发送消息:GET /chat HTTP/1.1Host: server.example.comUpgrade: websock

2020-12-23 15:41:07 1038

原创 DevOps到底是什么?

DevOps是什么?其实DevOps是两个英文字的缩写,Development(开发)和Operations(运维),同时DevOps其实是一个文化和概念,并不是特定指某一个做法。这个其实和敏捷(Agile)是一个概念,敏捷也是一个文化和概念。敏捷基本核心概念是把周期缩短,通过快速开发,通过失误提前发现问题,提前做调整,也就是Fail Fast的概念。摘抄自网络的一句话,非常有代表意义,敏捷执行下来能够带来的一个好处所有系统都有bug,但是当bug被修复的速度超过客户能够发现和反馈的时候,就不算是b

2020-12-22 20:49:17 1673

原创 设计模式之责任链模式(Chain of Responsibility)

引入责任链模式责任链模式描述的就是如何推卸责任,说的简洁点,就是踢皮球哈哈。举个例子,有时候,出了某件事,我们去解决,找到A,结果A踢皮球,说这不关我的事,去找B解决,然后我们就去找B,结果B也说,这跟我没关系,快去找C,就这样,我们就被踢来踢去,这就是责任链模式的思想,在找到正确的人解决之前,我们被不断的踢给一个有一个人,就是推卸责任。上面的例子,可能有点贬义,但在实际编程中,有时候确实存在需要推卸责任的情况,,比如,当我们接受到一个请求时,当前的程序暂时无法处理这个请求,于是就需要把请求给别人去处理

2020-12-20 23:40:57 359

原创 常见的数据结构解析

数据结构的使用在我们的日常学习中,经常会使用系统定义的数据类型(基本数据类型),也会根据需要而去自定义数据类型,从而更加灵活方便地处理计算机的数据和内存。一旦变量中有数据,相应的就需要一些操纵数据的方法来求解实际问题,而数据结构就是计算机中存储和组织数据的一种特定方式,它将使得数据处理更加有效。类型线性数据结构:链表,栈和队列非线性数据结构:树和图栈定义:栈(stack)是一个有序线性表,只能在表的一端(栈顶,top)执行插入和删除操作,最后插入的元素将第一个被删除。即后进先出(LIFO)或

2020-12-20 12:41:24 218 1

原创 什么是JWT

起源说起JWT,我们应该来谈一谈基于token的认证和传统的session认证的区别。传统的session认证我们知道,http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的

2020-12-20 00:05:30 157 1

原创 Mybatis之动态构建SQL语句

今天一个新同事问我,我知道如何利用XML的方式来构建动态SQL,可是Mybatis是否能够利用注解完成动态SQL的构建呢?!!答案是肯定的,MyBatis 提供了注解,@InsertProvider,@UpdateProvider,@DeleteProvider 和@SelectProvider,来帮助构建动态 SQL 语句,然后让MyBatis 执行这些 SQL 语句。1.@InsertProvider1.1简单示例使用创建一个 TutorDynaSqlProvider.java 类,以及 find

2020-12-06 14:33:21 735

原创 遇到Spring Boot configuration annotation processor not found in classpath不要慌

问题产生今天在使用Spring Boot开发的过程中,使用了Druid连接池,但在写Druid相关的Java代码时,提示Spring Boot configuration annotation processor not found in classpath,如下截图所示:问题解决问了下度娘,在IDEA中,classpath中找不到Spring Boot配置注解,默认是在resources/application.properties文件中,但是一些非全局的配置,单独归类并写在其他的一个文件中是更为合

2020-12-03 00:15:05 606

原创 java: 无法将接口 org.springframework.data.repository.query.QueryByExampleExecutor<T>中的方法

errors log:Error:(43, 30) java: 无法将接口 org.springframework.data.repository.query.QueryByExampleExecutor中的方法 findOne应用到给定类型;需要: org.springframework.data.domain.Example找到: long原因: 无法推断类型变量 S(参数不匹配; long无法转换为org.springframework.data.domain.Example)返回的是一个

2020-12-02 12:55:34 637 1

原创 什么是JSON?

什么是JSON?JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:

2020-11-20 13:22:54 102

原创 springboot之JSR303数据校验

JSR303数据校验Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;@Component //注册bean@ConfigurationProperties(prefix = "person")@Validated //数据校验public class Person { @Email(message="邮箱格式错误") //name必须是邮箱格式 priva

2020-11-11 23:08:59 119

原创 javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code t

最近在写一个网盘的项目,运行项目没有问题,但是每次验证邮箱的时候无法接收验证码,所以很是费解。用了一天的时间终于是解决了问题。邮箱注册报错:javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&

2020-11-03 18:00:26 2447

原创 SpringBoot整合Dubbo+zookeeper(小白必看)

这里写自定义目录标题一、背景以前用spring单独整合过Dubbo+zookeeper,因为用springboot已经好长时间,而且配置也方便,想着重新用springboot整合下Dubbo+zookeeper;各种心酸,因为一个注解的问题导致消费者无法注册到Dubbo中,心累!后面会提到的。二、前期准备1.zookeeper安装下载地址:链接:https://pan.baidu.com/s/10eqWES0LBR3YLKhrnJXUuw提取码:dpvna)下载完了后,解压出来,到\apac

2020-10-30 18:23:50 492

原创 什么是MySQL的外键

外键是用来连接数据库的,保证数据库的参照完整性。表的外键是另一表的主键,外键是可以有重复的,可以是空值。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,约束。使两张表形成关联,外键只能引用外表中的列的值或使用空值。删除表时,只能先删除从表,再删除主表。在开发的时候不会使用外键在创建表的时候创建外键CREATE TABLE `grade` ( `gradeID` INT(11) NOT NULL,.

2020-10-24 16:35:51 760

原创 如何使用阿里,搭建轻量应用服务器Tomcat

一、购买服务器购买服务器的地址:服务器购买这里服务器的系统为CentOS7二、安装jdk:Linux CentOS 7 & JDK 1.7 安装与配置三、安装tomcat1、下载tomcat:下载地址2、解压: tar -zxvf apache-tomcat-7.0.57.tar.gz3、加入tomcat的环境变量,在/etc/profile中加入:export CATALINA_HOME=/wocloud/tomcat_cluster/tomcat1/apache-tomcat-7.

2020-10-23 22:28:29 218

原创 Spring Boot 模板引擎 Thymeleaf 的问题

一些常见的模板引擎JSP、Velocity、Freemarker、ThymeleafSpringBoot推荐的Thymeleaf,语法更简单,功能更强大。SpringBoot 引入 thymeleafpom文件中添加依赖 <!--引入thymeleaf模块引擎--> <dependency> <groupId>org.springframework.boot</groupId> <artifact

2020-10-22 22:00:09 305

原创 MySQL5.7如何更改用户名密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;FLUSH PRIVILEGES;12navicat 连接 mysql 出现Client does not support authentication protocol requested by servercmd登录,执行以下sql:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456

2020-10-22 00:16:37 183

原创 Mac上安装Homebrew时出现报错:raw.githubusercontent.com port 443: Connection refused

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”开始一直报错Failed to connect to raw.githubusercontent.com port 443: Connection refused error: Error: 7,尝试过改动git config的代理,没有用,换中科大的源,也没有用最后解决办法如下,重装command lin

2020-10-12 16:40:53 383

原创 操作系统FIFO,LRU,LFU算法怎么计算

虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。 当内存块数量为3时:FIFO:发生缺页中断的次数为16。  在FIFO算法中,先进入内存的页面被先换出。当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4,可见4为最先进入内存的,本次应换出,然后把

2020-10-11 17:26:04 1033

原创 Springmvc

Springmvc是什么Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。查看官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web查看官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/we

2020-10-08 20:23:28 85

转载 到底什么是AOP

AOP是什么AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。Aop在Spring中的作用提供声明式事务;允许用户自定义切面以下名词需要了解下:横切关注点:跨越应用程

2020-10-08 00:56:12 270 1

转载 学习打卡,spring的第一天

#学习spring#Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术官网 : http://spring.io/官方下载地址 : https://repo.spring.io/libs-release-local/org/springframework/spring/GitHub : https://github.com/spring-projects1.1 优点spring 是一个开源的免费的框架(容器)spring 是轻量级的、非侵入式的框架控制

2020-10-07 23:31:35 175

ADSL密码查看器.zip

ADSL宽带密码查看器

2021-12-31

空空如也

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

TA关注的人

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