学习笔记
文章平均质量分 66
hayhead
这个作者很懒,什么都没留下…
展开
-
idea远程调试线上jar包
idea远程调试线上jar包,有时候本地代码没问题但在线上运行会报错,这时候可以使用idea的remote功能调试线上jar包原创 2023-02-27 22:20:40 · 1456 阅读 · 0 评论 -
linux——jar包一键启动脚本
linuxjar包一键启动脚本原创 2023-02-27 17:53:16 · 897 阅读 · 0 评论 -
Redisson可重入锁基本使用及原理分析
Redisson分布式锁基本使用及可重入锁原理分析原创 2023-02-14 11:16:35 · 1174 阅读 · 0 评论 -
Vue学习笔记:vue路由传参
vue路由传参;vue路由params传参时出现undefined转载 2023-01-31 12:09:59 · 155 阅读 · 0 评论 -
云服务器部署前后端分离项目(若依)详细教程
第一次在Linux云服务器上部署前后端分离项目,查了很多资料和视频,踩了许多坑。成功实现部署若依的前后端分离项目后,想记录一下前后端部署的过程,供学习的小伙伴参考。原创 2023-01-19 15:59:14 · 3890 阅读 · 1 评论 -
RabbitMQ实现延迟队列
延迟队列原创 2023-01-02 00:20:56 · 507 阅读 · 0 评论 -
MySQL 锁——全局锁、表级锁(表锁 元数据锁MDL 意向锁)、行锁
MySQL 锁、全局锁、表级锁(表锁 元数据锁MDL 意向锁)转载 2022-10-08 16:19:22 · 469 阅读 · 0 评论 -
基于黑马程序员瑞吉外卖开发的瑞吉外卖cloud项目
基于黑马程序员瑞吉外卖开发的瑞吉外卖微服务项目原创 2022-09-25 22:32:05 · 2175 阅读 · 3 评论 -
面试题:多线程下HashMap的死循环
多线程下HashMap的死循环转载 2022-09-17 23:42:31 · 1649 阅读 · 0 评论 -
HashMap面试题:HashMap 的 size 为什么必须是 2 的整数次方?
浅析 HashMap 中数组的 size 为什么必须是 2 的整数次幂转载 2022-09-17 22:04:08 · 517 阅读 · 0 评论 -
springsecurity+vue实现登陆认证
springboot+springsecurity+vue实现简单的登陆认证原创 2022-08-11 15:34:57 · 1123 阅读 · 0 评论 -
Spring Security OAuth2基于JWT认证授权
Spring Security OAuth2基于JWT认证授权原创 2022-08-06 00:32:48 · 411 阅读 · 0 评论 -
redis——缓存雪崩、缓存穿透、缓存击穿
redis原创 2022-07-23 00:32:46 · 3475 阅读 · 1 评论 -
idea 编写springmvc项目并部署到Tomcat
model(模型)数据模型,提供要展示的数据,现在一般包括数据Dao和行为Service;view(视图)负责进行模型的展示,一般就是用于用户交互;Controller(控制器)调度model和view,接受请求,委托给模型处理,返回数据,由视图展示;控制器获得表单数据、调用业务逻辑、转向指定页面;模型层业务逻辑、保存数据状态;视图显示页面;...原创 2022-07-15 19:08:14 · 2207 阅读 · 1 评论 -
rabbitmq-消息的拒绝
消息确认可以让 RabbitMQ 知道消费者已经接受并处理完消息。但是如果消息本身或者消息的处理过程出现问题怎么办?需要一种机制,通知RabbitMQ,这个消息,我无法处理,请让别的消费者处理。这里就有两种机制,Reject 和 Nack。rejectreject在拒绝消息时,可以使用requeue标识。1.requeue为true,消息会重新回到队列中,并通过轮循机制推送给消费者(可能是多个)。这里需要注意的是,拒绝这条消息的消费者同样会在再次推送的消费者列表中。这个下面会再演示下。2.req转载 2022-05-25 11:20:58 · 1730 阅读 · 0 评论 -
Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=
完整错误CachingConnectionFactory.java:1278 - Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 1, class-id=60, method-id=80)原因:消费者有ack确认,而spring-boot-starter-转载 2022-05-25 00:17:34 · 1855 阅读 · 0 评论 -
springboot+redis实战项目——黑马点评
项目地址前端地址后端地址此项目的几个重点1、缓存击穿、缓存雪崩、缓存穿透的解决方案2、全局唯一id实现方案雪花算法,原理这里就不说了,直接上代码package com.rd.utils;import java.net.Inet4Address;import java.net.UnknownHostException;import java.util.Random;// 雪花算法public class SnowflakeIdWorker { /** 时间部分所占长度 *原创 2022-05-14 14:21:56 · 5164 阅读 · 0 评论 -
Redisson 工作原理-源码分析
时间不在于你拥有多少,而在于你怎样使用。1:Redisson 是什么个人理解:一种 可重入、持续阻塞、独占式的 分布式锁协调框架,可从 ReentrantLock 去看它。①:可重入拿到锁的线程后续拿锁可跳过获取锁的步骤,只进行value+1的步骤。②:持续阻塞获取不到锁的线程,会在一定时间内等待锁。日常开发中,应该都用过redis 的setnx 进行分布式的操作吧,那setnx 返回了false我们第一时间是不是就结束了?因此redisson 优化了这个步骤,拿不到锁会进行等...转载 2022-05-03 15:34:58 · 1066 阅读 · 0 评论 -
MYSQL 使用及实现排名函数RANK、DENSE_RANK和ROW_NUMBER
</svg> <hr> 文章目录 1. 排名分类1.1 区别RANK,DENSE_RANK和ROW_NUMBER1.2 分组排名 2. 准备数据3. 不分组排名3.1 连续排名3.2 并列跳跃排名3.3 并列连续排名 4. 分组排名4.1 分组连续排名4.2 分组并列跳跃排名4.3 分组并列连续排名...转载 2022-04-01 16:43:51 · 1145 阅读 · 0 评论 -
nginx根据前缀代理多个Vue项目
文章地址:https://www.jianshu.com/p/6975d28237d8原创 2022-03-26 17:12:19 · 2867 阅读 · 0 评论 -
JVM 内存模型
</svg> <h3><a name="t0"></a><a id="1__JVM__0"></a><strong>1 什么是 JVM 内存模型</strong></h3> JVM 需要使用计算机的内存,Java 程序运行中所处理的对象或者算法都会使用...转载 2022-03-23 19:17:39 · 806 阅读 · 0 评论 -
Spring Security配置JSON登录(前后端分离)
spring security用了也有一段时间了,弄过异步和多数据源登录,也看过一点源码,最近弄rest,然后顺便搭oauth2,前端用json来登录,没想到spring security默认居然不能获取request中的json数据,谷歌一波后只在stackoverflow找到一个回答比较靠谱,还是得要重写filter,于是在这里填一波坑准备工作基本的spring security配置就不说了,网上一堆例子,只要弄到普通的表单登录和自定义UserDetailsService就可以。因为需要重写Filt转载 2022-03-06 16:17:18 · 1430 阅读 · 0 评论 -
git push后出现错误 [rejected] master -> master(non-fast-forward) error:failed to push some refs to XXX
出错的具体情况如下:本地创建了一个project并在码云上创建了一个仓库,想要将本地的仓库链接到远程仓库我用的是如下方法:git init 初始化本地仓库git remote add origin url 添加远程仓库地址查看远程仓库地址git remote -v如果你在这之后就执行git add . 添加文件到暂存区git add filename 或指定文件/目录git commit -m " " 提交文件到本地仓库 文件有改动才能提交成功 ,否则会转载 2022-02-23 15:42:41 · 643 阅读 · 0 评论 -
Redis(五)--详解布隆过滤器和缓存穿透解决方案
一、使用场景 1.布隆过滤器的特性是:去重,多数去重场景都...转载 2022-02-14 23:54:07 · 479 阅读 · 0 评论 -
详解Redis中两种持久化机制RDB和AOF
redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。在这里假设你已经了解了redis的基础语法,某字母网站都有很好的教程,可以去看。基本使用的文章就不写了,都是一些常用的命令。下面针对这两种方式来介绍一下。由浅入深。一、持久化流程既然redis的数据可以保存在磁盘上,那么这个流程是什么样的呢?要有下面五个过程:(1)客户端向服转载 2022-02-14 00:05:34 · 2033 阅读 · 0 评论 -
mybatis逆向工程-使用代码自动生成插件实现
导入mybatis逆向工程 代码自动生成插件<build> <plugins> <!-- mybatis逆向工程 代码自动生成插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis原创 2022-02-09 20:37:57 · 170 阅读 · 0 评论 -
Redis获取缓存异常:java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to XXX
使用缓存数据Jackson2JsonRedisSerializer<Object> 到redis,获取时出现的异常需要配置Jackson2JsonRedisSerializer// 配置Jackson2JsonRedisSerializer // 避免出现获取缓存时出现的类型转换错误 private Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer() { Jack原创 2022-02-08 00:27:27 · 3472 阅读 · 0 评论 -
通过图文给你讲明白java GC的垃圾回收机制
本文原链接 http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html 1. JAVA GC 概述 JAVA GC采用了分代思想,将java堆分成新生代,年老代,永久代。GC算法主要有标记-清除,标记-压缩,复制算法。 新生代:新生代被分成三个部分 eden区和2个survivor区(from和to两个分区)。当创建对象,需要jvm分配内存时,会...转载 2022-01-17 21:50:04 · 143 阅读 · 0 评论 -
redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案
设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓..转载 2021-12-23 20:39:03 · 90 阅读 · 0 评论 -
IDEA热部署不生效解决方案(亲测有效)
1.pom依赖 <!--Spring 官方提供的热部署插件 --> <dependency> <groupId>org.springframework.boot<...转载 2021-11-29 23:29:48 · 7437 阅读 · 0 评论 -
springcloud整合nacos启动时报错‘com.netflix.client.config.IClientConfig‘ that could not be found
异常信息Description:Parameter 0 of method ribbonServerList in com.alibaba.cloud.nacos.ribbon.NacosRibbonClientConfiguration required a bean of type 'com.netflix.client.config.IClientConfig' that could not be found.Action:Consider defining a bean of typ原创 2021-11-26 23:52:24 · 2750 阅读 · 3 评论 -
springcloud整合nacos启动时报错The bean ‘nacosRefreshProperties‘, defined in class path resource
异常信息Description:The bean 'nacosRefreshProperties', defined in class path resource [com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.class], could not be registered. A bean with that name has already been defined in URL [jar:file:/C:/Users/acer/.m2/r原创 2021-11-26 23:48:10 · 4728 阅读 · 0 评论 -
记录SpringCloud启用 Hystrix 仪表盘功能出现Unable to connect to Command Metric Stream.的异常解决方案
控制台打印 其实仔细查看日志: Origin parameter: http://localhost:1001/actuator/hystrix.stream is not in the allowed list of proxy host names....转载 2021-11-22 23:56:50 · 132 阅读 · 0 评论 -
Idea maven 的pom.xml没有识别出来
没有识别出来mavn中的pom.xml文件,导致idea不能自动下载依赖包,解决办法是选中pom.xml文件,右键-" add as maven project"。然后再刷新一下Maven Projects.转载 2021-11-22 13:42:25 · 1056 阅读 · 1 评论 -
springboot+vue实现增删查改小demo
源码下载地址后台前端目录技术栈前后端目录部分代码page1.vueapplication.ymlmybatis-config.xmlcontroller跨域配置技术栈前端开发工具:WebStorm开发框架:vue + axios包管理工具: npm打包工具:webpack后端开发工具:IDEA开发框架:Springboot + mybatis打包工具:maven数据库: MySQL前后端目录后端目录前端目录部分代码page1.vue<template>原创 2021-11-17 23:42:53 · 9445 阅读 · 0 评论 -
解决npm安装vue-cli时速度慢问题
1、检查本机上node和npm的版本号,npm是否大于4.0 2、安装vue-cli时经常卡住,如图 3、将npm的仓库地址改为淘宝镜像 npm config set registry https://registry.npm.taobao.org --global npm config set disturl https://npm.taobao.org/dist --g...转载 2021-11-13 20:37:10 · 1928 阅读 · 0 评论 -
动态规划-背包问题
动态规划-背包问题此博客分别讨论0-1背包,完全背包和多重背包,并给出相应的解题模板。0-1背包题目:有一个容量为 V 的背包,和一些物品。这些物品分别有两个属性,体积 w 和价值 v,每种物品只有一个。要求用这个背包装下价值尽可能多的物品,求该最大价值,背包可以不被装满。 0-1背包问题:在最优解中,每个物品只有两种可能的情况,即在背包中或者不在背包中(背包中的该物品数为0或1),因此称为0-1背包问题。步骤1-找子问题:子问题必然是和物品有关的,对于每一个物品,有两种结果:能装下或.转载 2021-11-04 20:37:52 · 382 阅读 · 0 评论 -
创建单链表的头插法与尾插法详解
创建单链表 关于数据结构的入门,就是从顺序表和单链表开始。 我们不讲顺序表,直接从单链表开始我们的数据结构和算法的学习之路。 单链表就是一种特殊的结构体组合而成的数据结构,关于单链表的创建方法有很多种,但都大同小异。 正如这幅图中所表示的那样,单链表就是由可能不连续的数据所组合而成的数据结构。 其中每个数据分为两部分,一部...转载 2021-02-13 15:21:34 · 1906 阅读 · 0 评论 -
ElasticSearch、ES-head、Kibana安装教程
目录 ElasticSearch的安装1. 下载es2. 解压es压缩包3. 了解es目录4. 启动es5. 访问测试 ElasticSearch-head安装1. 下载es-head2. 解压es-head压缩包3. 下载es-head相关依赖4. 启动es-head4. 访问测试,连接es5. 解决跨域问题 Kibana的安装1. 下载kibana2. 解压kibana压缩包3. 启动kibana4. 访问测试5. 汉化 本文为Windows下的安装教程,接下来的安装...转载 2021-01-08 17:31:16 · 254 阅读 · 0 评论 -
springboot整合RabbitMQ
RabbitMQ的安装安装好RabbitMQ和Erlang后,在浏览器中输入:localhost:15672,进入rabbitmq的登陆界面, 登陆账号密码都是guest创建交换机创建队列消息推送、接收的流程交换机的四种类型Direct 直连型交换机,根据消息携带的路由键将消息投递给对应队列(点对点式)Fanout 扇型交换机,这个交换机没有路原创 2021-01-03 19:54:27 · 483 阅读 · 4 评论