自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 利用zk实现分布式锁&zk数据同步原理

分布式锁&zk数据同步

2022-08-21 23:10:54 914 1

原创 原理系列之——zookeeper的watch监控机制

watch监控机制是zk的一个关键技术,zk通过它来实现发布订阅的功能,通过watch我们可以联想到设计模式中的观察者模式,二者确实有点类似,你可以将其看成是分布式场景下的观察者模式。

2022-08-08 02:20:48 1480

原创 Prometheus企业级监控——理论入门

Prometheus理论快速入门,涉及到一点点Grafana和Kubernetes

2022-04-17 16:45:50 3010

翻译 Kafka入门

以下内容是从官网搬过来的一些Kafka相关的基础知识点:什么事件流    从技术上讲,事件流是从事件源(如数据库、传感器、移动设备、云服务和软件应用程序)以事件流的形式实时捕获数据的实践;持久存储这些事件流以供以后索引;实时回顾性地操作、处理和响应事件流;并根据需要将事件流路由到不同的目标技术。因此,事件流确保了数据的连续流动和解释,以便正确的信息在正确的时间出现正确的位置。为什么说Kafka是一个事件流平台   Kafka结合了三个关键功能,发布(写入)和订阅(读取)事件流,包括从其他系统持续

2022-03-08 14:19:08 205

原创 Centos7集群部署nacos

  下面是我在Centos7下使用Docker部署搭建三台nacos集群第一步:docker拉取MySQL、Nginx、Nacos最新镜像:docker pull mysqldocker pull nginxdocker pull nacos/nacos-server第二部:启动MySQL,开放3306端口,Windows客户端连接MySQL,并创建nacos数据库,将nacos-mysql.sql进行创建:docker run -p 3306:3306 --name mysql_cloud

2021-06-03 09:47:14 305

原创 采坑日记之openfeign

  感觉自己已经好久没写文章了哈哈哈哈,昨天下午踩到的一个坑,在今天早上得到了解决,很开心,但是开心的同时又清楚的认识到自己的不足之处,那就是自己在遇到以前很少遇到甚至是没遇到过的bug的时候,很难快速定位并将其解决。所以从今天开始会开设一个专题专门来记录自己的采坑经历。先来简述下我的场景模拟:  我开了五个服务:两个Eureka服务注册中心(一个集群),两个服务提供方(一个集群),还有一个消费者。其中两个支付提供方注册进了服务注册中心。而我踩到的是这么一个坑:Servlet.service() f

2021-05-26 11:24:53 502

原创 IllegalArgumentException: Invalid character found in method name HTTP method names must be tokens

  最近,做项目的时候遇到如下异常:java.lang.IllegalArgumentException: Invalid character found in method name [0x160x010x010x00-0x010x000x00)0x010x01`0x950xe9#0x13:0xc2v^0xa6D-0xa5_0xf30xd00xa59]. HTTP method names must be tokens at org.apache.coyote.http11.Http11InputBu

2021-05-08 09:45:28 683

原创 Java的集合工具类为什么这么香(从算法的角度深入走进Comparable、Comparator、Collections、Arrays)

深入了解Java的集合工具类:Collections、Arrays、Comparable、Comparator

2021-04-15 10:06:19 507

原创 矩阵顺时针转90°

題目一起來第一反应就是借助额外的内存空间来记录会被被覆盖的数值,但其实看透了是可以不需要使用额外的内存空间,思路如下图public class Main { public static void main(String[] args) { // Scanner sc = new Scanner(System.in); int[][] matrix = new int[5][5]; for (int i = 0; i < 25; i++) { matrix[i / 5][i %

2021-04-13 09:54:11 173

原创 随机链表的复制

import java.util.HashMap;public class Main { public static void main(String[] args) { // Scanner sc = new Scanner(System.in); Node p1 = new Node(null, 1, null); Node p2 = new Node(null, 2, null); Node p3 = new Node(null, 3, null); Node p4 = ne.

2021-04-13 09:27:43 288 2

原创 (源码级)一篇文章带你深入了解Java字符串(String、StringBuilder、StringBuffer的底层实现原理)

本文将主要通过String、StringBuilder、StringBuffer这三者来带您深入了解Java字符串。

2021-04-10 17:34:30 4275 22

原创 REPEAT 程序(栈的运用)

给出一千多行循环伪代码的附件,上图附件,求A的最终结果。这道题是栈的运用,解题如下:import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.Stack;public class Main { public static void main(String[] args) throws Exception { BufferedReader br=new Buffe.

2021-04-06 20:34:47 313

原创 测试次数(经典动态规划问题之扔鸡蛋问题)——两种解法:迭代、递归

x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。如果到了塔的最高层第n层扔没摔坏,则耐摔指数

2021-04-06 09:55:42 269 1

原创 事务的传播行为

首先先讲一下数据库事务的四大特性:原子性、一致性、隔离性、持久性:原子性:整个事务操作,要么同时成功,要么同时失败(中途出现异常情况)。一致性:事务从开始到结束之后,数据库的完整性约束没有被破坏隔离性:在同一时间,如果有多个事务需要同时操作,我们会对这多个事务进行串行化,避免多个事务对同一数据进行操作时产生混乱。持久性:事务操作完成后,已经将数据存入数据库了,这时候就不会进行回滚了在现实中,我们几乎不会完全遵守这四大特性,因为如果完全遵守的化会导致系统的性能大幅度下降。因此,我们一般会根据实际的

2021-03-29 14:57:22 202

原创 人物相关性分析

【问题描述】小明正在分析一本小说中的人物相关性。他想知道在小说中Alice 和Bob有多少次同时出现。更准确的说,小明定义Alice 和Bob“同时出现”的意思是:在小说文本中Alice 和Bob 之间不超过K 个字符。例如以下文本:This is a story about Alice and Bob. Alice wants to send a private message to Bob.假设K = 20,则Alice 和Bob 同时出现了2 次,分别是”Alice and Bob”和

2021-03-27 17:43:17 299

转载 蓝桥杯之迷宫问题

下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请找出字典序

2021-03-26 20:52:11 556

原创 螺旋折线(按四条边去分就够了!)

找规律题咱就是个菜鸡啊!!!!!!!!刚开始看得出内外嵌套正方形,但就是一直在死磕特殊点啊,什么第N象限啊(陷入死循环)。我真的有点服我自己了。。。做题有时就是最怕这种,当遇到这种情况,要么换角度思考,要么先pass掉。到最后发现,其实这道题很简单,只要累加嵌套在里面的正方形+四条边分情况去累加就行了。规律题做太少了,智商堪忧啊!!!!!!继续加油吧如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线

2021-03-25 17:31:34 411

原创 蓝桥杯之取球博弈

【题目】两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。假设双方都采用最聪明的取法,第一个取球的人一定能赢吗?试编程解决这个问题。输入格式:第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)第二行5个正整数x1 x2 … x5,空格分开,表示5局的初始球数(0<xi<1000)输

2021-03-23 18:12:11 256

原创 蓝桥杯之剪邮票问题

如图1, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,图2、图3中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。public class Main { static boolean[] book = new boolean[12]; static int[] path = new int[5]; sta

2021-03-23 14:59:16 349

原创 jar包和war包的区别

以前知道Java项目打包有两种常用方式:jar和war,但一直不知道两者之间的区别,今天看到了SpringBoot外置Serlvet容器的时候才得知两者之间的区别。简单记录下:jar包:执行SpringBoot主类的main方法,启动ioc容器,创建嵌入式的Servlet容器;war包:启动服务器,服务器启动SpringBoot应用【SpringBootServletInitializer】,启动ioc容器;所以当SpringBoot选择配置外置Servlet容器的时候必须使用war包的方式进行打包

2021-03-23 11:27:13 232

原创 通过哈夫曼编码对文件进行解压缩

public class HuffmanCode{ public static void main(String[] args) { // 测试压缩文件 // String srcFile = "源文件路径"; // String dstFile = "压缩文件路径"; // // zipFile(srcFile, dstFile); // System.out.println("压缩文件 ok~~"); // 测试解压文件 String zipFile =

2021-03-16 20:37:56 519

原创 斐波那契(黄金分割)查找

斐波那契数列:1 1 2 3 5 8 13 21 .。。。黄金分割点是指把一条线段分割成俩部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618,由于按比例设计地造型十分美丽,因此被叫黄金分割,也成为中外比对F(k-1)-1的理解:1)由斐波那契数列 F[k]=F[k-1]+F[k-2] 的性质,可以得到 (F[k]-1)=(F[k-1]-1)+(F[k-2]-1)+1 。该式说明:只要顺序表的长度为 F[k]-1,则可以将该表分成长度为 F[k-1..

2021-03-16 10:28:49 170

原创 堆排序问题

基本思路:1)将待排序序列构造成一个大顶堆2)此时,整个序列的最大值就是堆顶的根节点。3)将其与末尾元素进行交换,此时末尾就为最大值。4)然后将剩余 n-1 个元素重新构造成一个堆,这样会得到 n 个元素的次小值。如此反复执行,便能得到一个有序序列了将堆顶元素与末尾元素进行交换,使末尾元素最大。然后继续调整堆,再将堆顶元素与末尾元素交换,得到第二大元素。如此反复进行交换、重建、交换。public class Main{ public static void heapSort(int

2021-03-15 20:54:26 239

原创 经典问题之八皇后问题

同行、同列、同斜线不能有皇后。解决:DFS+回溯public class Main{ static int[] arr; static int count;//有多少种解法 static int judgeCount;//发生冲突的数量 static int max=8; public static void main(String[] args) { //八皇后问题 //记录路径 arr=new int[max]; check(0); System.out.p

2021-03-15 17:10:12 143

原创 蓝桥杯之灵能传输

标题:灵能传输(时间限制: 1.0s 内存限制: 256.0MB 本题总分:25 分)【题目背景】在游戏《星际争霸 II》中,高阶圣堂武士作为星灵的重要 AOE 单位,在游戏的中后期发挥着重要的作用,其技能”灵能风暴“可以消耗大量的灵能对一片区域内的敌军造成毁灭性的伤害。经常用于对抗人类的生化部队和虫族的刺蛇飞龙等低血量单位。【问题描述】你控制着 n 名高阶圣堂武士,方便起见标为 1,2,··· ,n。每名高阶圣堂武士需要一定的灵能来战斗,每个人有一个灵能值 a i 表示其拥有的灵能的多少(

2021-03-14 10:17:24 285

原创 蓝桥杯之后缀表达式

【问题描述】给定N 个加号、M 个减号以及N + M + 1 个整数A1; A2; ; AN+M+1,小明想知道在所有由这N 个加号、M 个减号以及N + M +1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用1 2 3 + -,则“2 3 + 1 -” 这个后缀表达式结果是4,是最大的。【输入格式】第一行包含两个整数N 和M。第二行包含N + M + 1 个整数A1; A2; ; AN+M+1。【输出格式】输出一个整数,代表答案。【样例输入】

2021-03-14 08:48:13 186 2

原创 蓝桥杯之人物相关性分析(正则表达式!!!)

题目不难,关键在于空格和字符 . 需要对其进行转义(一道让我疑惑半天的题目)!可能是对正则表达式这方面之前接触的比较少把,做题的时候没有这个意识。以后要增强此方面的意识和能力。加油!【问题描述】小明正在分析一本小说中的人物相关性。他想知道在小说中Alice 和Bob有多少次同时出现。更准确的说,小明定义Alice 和Bob“同时出现”的意思是:在小说文本中Alice 和Bob 之间不超过K 个字符。例如以下文本:This is a story about Alice and Bob. Ali

2021-03-13 23:54:38 377

原创 第十届蓝桥杯迷宫问题

下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请找出字典序

2021-03-13 17:37:37 389

原创 蓝桥杯第七届真题 :取球博弈

【题目】两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。假设双方都采用最聪明的取法,第一个取球的人一定能赢吗?试编程解决这个问题。输入格式:第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)第二行5个正整数x1 x2 … x5,空格分开,表示5局的初始球数(0<xi<1000)输

2021-03-10 10:52:18 384

原创 源码级了解StringBuffer的insert()方法的底层实现

测试说明:下面该段测试使用的是jdk12,被native修饰的方法查看源码方式在AndroidXRef下面通过一段简单的测试代码来探究StringBuffer的insert()方法的底层实现:public class Solution{ public static void main(String[] args){ StringBuffer sb=new StringBuffer("i am make atest"); sb.insert(11, " insert "); System.o

2021-03-07 14:30:24 486 2

原创 LeetCode之正则表达式匹配

今天做到LeetCode中的第十题:正则表达式匹配,难度级别为困难,匹配情况复杂,思路不难理解,但是仍无从下手,暂且先记录一下,改日再做研究理解。给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。public static boolean isMatch(String s,String p) { if(s==null||p

2021-03-04 15:39:24 444 1

原创 git命令中git clone和git pull的区别

git clone和git pull都是从远程服务器拉取代码到本地,但不同的是,git clone是在本地没有版本库的情况下拉取。git pull=git fetch + git merge。每次从本地仓库push到远程仓库之前要先进行git pull操作,保证git push到远程仓库时没有版本冲突。...

2021-03-01 22:03:24 930

原创 初次运用oss上传文件

Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider the following: If you want an embedded database (H2, H

2021-02-08 20:29:02 217

原创 在XXX项目中遇到403拒绝访问的问题

刚开始去看浏览器控制台上所报的错误,刚开始以为是前端代码vue中的min属性错误,因为前端代码不是我写的,后端刚开始也是没有响应报错,之前后端代码的各个接口测试所获取的数据都是没有问题的,然后我在后端代码上进行调试处理,发现前端回写的数据根本就传不到后端,最后在浏览器network窗口看到报出403错误,经过查看后发现后台接口方法是接收post请求,而前端用的是get发送请求,难怪前端数据无法传到后端。...

2021-02-08 15:23:47 752

原创 前后端分离开发常见问题之跨域问题

跨域问题可以这样定义:就是当前后端的协议不一样、端口不一样、ip地址不一样时,就会出现跨域问题。解决方案有两个:在后端接口Controller上方加上注解@CrossOrigin使用网关,网关是分布式微服务方面的相关知识,这里就暂且不详细展开讨论。...

2021-02-08 11:09:17 208

原创 注解@ControllerAdvice和@RestControllerAdvice的区别

加了Rest就是表示该注解拥有Rest风格,等价于@ControllerAdvice+@ResponseBody,表示该方法返回json数据。@ControllerAdvice是@Controller的一个增强版,可以实现三个方面的功能:全局异常处理、全局数据绑定、全局数据预处理。这是SpringMVC提供的功能,简化了我们很多工作。...

2021-02-07 22:51:59 449

原创 @RequestBody和@ResponseBody的区别

@RequestBody使用json传递数据,把json数据封装到对应对象里面@ResponseBody返回数据,返回json数据

2021-02-07 16:31:57 639

原创 MyBatis-Plus使用PaginationInterceptor插件实现分页操作出现total为0的问题并简单追溯其底层操作

在配置类中配置插件@Configuration@MapperScan("com.hua.eduService.mapper")public class EduConfig {/** * 配置分页插件 */ public PaginationInterceptor paginationInterceptor(){ return new PaginationInterceptor(); } }逻辑程序操作没问题,原因是在配置插件的时候忘记

2021-02-06 19:36:07 972

原创 LeetCode之二叉搜索树中的众数

  很有必要记录一下此题,在力扣中显示的难度系数的简单,确实如果不考虑时间复杂度和空间复杂度的前提下解出该题并没有那么难,但是其优化对于现在我这种新手程度来讲还是相对优点难度的。...

2021-01-29 11:31:12 219

原创 查并集解决区域划分问题

最近LeetCode的每日一题频繁出现查并集算法题,今天就来记录一下力扣的959题.由斜杠划分区域  在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。(请注意,反斜杠字符是转义的,因此 \ 用 “\” 表示。)。返回区域的数目。示例1:示例2:示例3:示例4:示例5:提示:题目解析:  该题是一个关于连通性问题,让我们求解连通分量的个数,解决这个问题没有特别的技巧,根据题意画图分

2021-01-26 22:53:02 409

空空如也

空空如也

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

TA关注的人

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