自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 helm常用命令模板

{{.Release.Name}} 模板release名称 {{.Value.MY_VALUE}} 从values.yaml中取对应的值,也有Release.namespace,.Chart.Version可以拿chart.yaml文件中内容。{{if eq .Values.drink “coffee”}}mug:“true”{{ end }} 条件语句。{{- if not .Values.drink }} 加-是为了去掉这行,不然会有一行空的。helm history chart 看到全部版本历史。

2023-07-25 00:40:42 469

原创 leetcode 三数之和与四数之和

LeetCode经典题

2022-07-27 01:31:59 237 1

原创 狂神说jvm笔记

Native:凡是带了native关键字的,说明java的作用范围达不到了,会去调用底层c语言的库!进入本地方法栈,调用本地方法接口(JNI)JNI:扩展java的使用,融合不同的编程语言为java所用Java在内存区域中开辟了一块u标记区域,native method stack,登记native方法,在最终执行的时候调用本地方法库Pc寄存器:程序计数器:每个线程都有一个程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码(用来存储下一条要执行指令的地址),在执行引擎读取下一条执行。主

2022-04-07 00:11:38 705

原创 leetcode链表相关操作

203.移除链表元素/** * 添加虚节点方式 * 时间复杂度 O(n) * 空间复杂度 O(1) * @param head * @param val * @return */public ListNode removeElements(ListNode head, int val) { if (head == null) { return head; } // 因为删除可能涉及到头节点,所以设置dummy节点,统一操作 ListNode

2021-11-09 00:04:36 163

原创 LeetCode螺旋矩阵问题

59 螺旋矩阵二模拟顺时针画矩阵的过程:填充上行从左到右填充右列从上到下填充下行从右到左填充左列从下到上由外向内一圈一圈这么画下去。可以发现这里的边界条件非常多,在一个循环中,如此多的边界条件,如果不按照固定规则来遍历,是很容易中间出现错误的。这里一圈下来,我们要画每四条边,这四条边怎么画,每画一条边都要坚持一致的左闭右开,或者左开又闭的原则,这样这一圈才能按照统一的规则画下来。代码: class Solution { public int[][] generat

2021-10-21 00:01:39 132

原创 LeetCode滑动窗口解题

209.长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。这道题目暴力解法当然是 两个for循环,然后不断的寻找符合条件的子序列,时间复杂度很明显是O(n^2) 。这里不详细解释了。滑动窗口图解:简单来说就是右指针循环判断和大小,左指

2021-10-08 23:59:56 111

原创 LeetCode快慢指针解题

双指针法双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。删除过程如下:双指针法(快慢指针法)在数组和链表的操作中是非常常见的,很多考察数组、链表、字符串等操作的面试题,都使用双指针法。// 时间复杂度:O(n)// 空间复杂度:O(1)class Solution { public int removeElement(int[] nums, int val) { // 快慢指针 int fastIndex =

2021-09-26 22:42:33 156

原创 超详细软件工程黑书思维导图(从第一章到第八章)

2021-09-16 01:07:44 1226 1

原创 超详细自顶向下计算机网络思维导图(从第一章到第八章)

2021-09-16 01:02:57 2106 1

原创 swagger2与knife4j的使用教程

swagger2使用Swagger在前后端交互的时候,提供给前端人员看的文档,具体流程如下:第一步,导入依赖:<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><de

2021-09-02 00:50:14 1438

原创 spring的定时调度实现(quartz和自带的)

quartz的定时调度第一步引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>第二步, 编写需要定时调度的业务代码,然后将其封装成一个 JobDetail/** * 这个是我们需要定时去执行的

2021-08-27 01:07:15 276

原创 leetcode二分法笔记

左闭右闭区间while(left<=right)left = mid + 1;right = mid -1;ps:不加一是不行的,程序会无线循环等于不循环是不行的,会少判断次数左闭右开区间while(left<right)left = mid + 1;right = mid;35.找左边界用mid<=targetleft = mid +1;leftBorder = left;找右边界用mid>=targetright = mid -1;rightBor

2021-08-22 00:57:19 138

原创 mysql的优化索引问题

MySQL一. Innodb与MyISAM存储引擎区别MySQL目前最新版本是 8.X,已经弃用了MyISAM.Innodb支持事务,MyISAM不支持。Innodb是行锁,MyISAM是表锁Innodb支持外键,MyISAM不支持。MyISAM保存的有行数,而InnoDB没有。select count(*) from user在早期的版本中,InnoDB是不支持全文检索的,MyISAM支持,从5.7 之后InnoDB开始支持全文检索。搜索引擎优化:如果数据库表,查询居多(支付

2021-08-09 23:03:44 216 2

原创 使用seata实现分布式事务

分布式事务一. CAP定理CAP定理是指导分布式环境下,分布式事务的处理一个理论:两者只能满足其二C(Consistency): 一致性(强一致性)。A(Availability): 可用性。P: (Partition tolerance): 分区容忍性(允许分布式环境下,多个系统间可以失去联系)。可用性是任何一个项目必须要保证的;分区容忍性就是项目设计成分布式项目,就已经满足这一条;所以我们牺牲的是一致性,不是说不保证事务的一致性,不是强一致性,我们需要保证的是最终的一致性。二. B

2021-08-09 22:57:29 1065

原创 canal框架的详细使用

Canal的搭建一. mysql的配置修改 my.ini 文件mysqld]character-set-server=utf8basedir=E:\mysql\mysql-5.7.21-winx64datadir=E:\mysql\mysql-5.7.21-winx64\data# servier-id 是一个数字 server-id=2# 开启mysql的binloglog-bin=mysql-bin# binlog记录的操作的格式binlog-format=ROW# 表

2021-08-09 22:30:55 1213

原创 微服务组件的使用(nacos,feign,sentinel,gateway)

微服务总结一. nacosnacos 充当注册中心和配置中心。作为注册中心主要的作用:实现服务间的解耦。方便服务的水平扩展。二. 单机版使用2.1 安装一. 解压二. 修改 NACOS_HOME/bin 目录下的 startup.cmdset MODE="standalone"第三步,双击 startup.cmd2.2 在项目中使用一. 引入依赖 <dependency> <groupId>com.alibaba.cl

2021-08-03 23:01:39 1162

原创 RabbitMQ的使用(消息模型,死信队列)

RabbitMQ一. 简介​ RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。支持消息的持久化、事务、拥塞控制、负载均衡等特性,使得RabbitMQ拥有更加广泛的应用场景。RabbitMQ跟Erlang和AMQP有关。下面简单介绍一下Erlang和AMQP。​ Erlang是一门动态类型的函数式编程语言,它也是一门解释型语言,由Erlang虚拟机解释执行。从语言模型上说,Erlang是基于Actor模型的实现。在Actor模型里面,万物皆Actor,每个Actor都封

2021-08-02 22:45:06 664

原创 es实现高亮搜索实例

高亮搜索案例一. 定义分词器PUT news{ "settings": { "analysis": { "analyzer": { "news_tag_analyzer": { "char_filter": "html_strip", "tokenizer": "keyword", "filter": "news_tag_filter" } }, "filter"

2021-07-29 14:14:07 2459

原创 ES的简单前缀提示搜索

ES的简单前缀提示搜索(Movies案例)要根据电影的名字做前缀搜索,前缀搜索的字段属性应该要使用 completion, 这个时候需要我们自定义mapping,但是mapping定义过于复杂。所以我们的处理方式,就是先用少量的样本数据导入到ES中去,然后ES会自动的帮我们生成一个mapping, 然后可以获取到该mapping信息,再将之前的索引删除,根据之前的mapping进行修改,然后在导入数据。第一步, 使用logstash正常的导入数据,第二步,获取mapping信息: GET

2021-07-29 12:27:19 2169

原创 Elasticsearch常用搜索和分词器

Elasticsearch一. 倒排索引和正排索引正向索引在数据库领域用的比较多,它是将全文进行分词,用户查询的时候就到所有的分词中去匹配,如果有匹配到分词,最终该文档就出现结果集中。倒排索引在搜索引擎领域用的比较多,它也会先进行分词,接着将分词与文档进行映射,分词就构成了一个词典,当用户查询的时候,首先到词典中查找对应的分词,然后将对应的文档获取到。二. ELKElasticsearch是真个elastic核心产品, 我们搜索都是该软件来实现的。Logstash是一个数据输入、过滤、输

2021-07-28 21:00:41 1611

原创 redis的基本操作介绍与各种使用场景的实现

RedisRedis是一个基于内存存储的非关系型数据库,它没有严格的Schema. 它的数据类型有九种:字符串 (strings) -> String列表 (lists) -> List散列类型(hashes) -> Map集合(sets) -> Set有序集合(sorted sets) -> TreeSetbitmapshyperloglogsgeospatial indexes (坐标查询)streams一. 字符串的操作(重点)s

2021-07-26 20:45:52 253

原创 vue超详细教程,手把手教你完成vue项目

Vue一. Vue简介​ Vue是于2013年(与React框架同年发布)推出的一个渐进式、自底向上的前端框架,它的作者叫尤雨溪。那么什么叫做渐进式框架呢?比较官方的说法就是:以Vue内核作为核心,随着业务的深入、需求的递增,可以使用其周边生态(vue-router、vuex、ssr等)深度应用到项目中。那么通俗上来讲:就是我们可以使用vue的部分功能不断的迭代掉我们项目中部分的功能,从表单提交到列表渲染,再到多路由应用,再到SSR等。​ Vue主要具备以下几个特点:解耦视图和数据组件复

2021-07-14 23:07:47 31277 8

原创 docker的基本使用

Docker一. Docker安装地址:https://docs.docker.com/engine/install/centos/第一步:yum install -y yum-utils第二步:yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo第三步:yum install -y docker-ce docker-ce-cli

2021-06-27 16:11:40 246 2

原创 shiro在springboot中的使用

Shiro一. Shiro权限什么是权限控制:忽略特别细的概念,比如权限能细分很多种,功能权限,数据权限,管理权限等理解两个概念:用户和资源,让指定的用户,只能操作指定的资源(CRUD)初学javaweb时怎么做Filter接口中有一个doFilter方法,自己编写好业务Filter,并配置对哪个web资源进行拦截后如果访问的路径命中对应的Filter,则会执行doFilter()方法,然后判断是否有权限进行访问对应的资源/api/user/info?id=1public

2021-06-27 16:03:36 2706

原创 java后端面试题

从上图中我们就更容易理解了,当一个Hello.class这样的文件要被加载时。不考虑我们自定义类加载器,首先会在AppClassLoader中检查是否加载过,如果有那就无需再加载了。如果没有,那么会拿到父加载器,然后调用父加载器的loadClass方法。父类中同理也会先检查自己是否已经加载过,如果没有再往上。注意这个类似递归的过程,直到到达Bootstrap classLoader之前,都是在检查是否加载过,并不会选择自己去加载。直到BootstrapClassLoader,已经没有父加载器了,这时...

2021-06-26 15:52:20 387

原创 linkedlistMap转换为实体类的方法

我们使用阿里的fastjson来进行转换//转换UserAddr userAddr = JSON.parseObject(JSON.toJSONString(chaddr), new TypeReference<UserAddr>() {});

2021-06-24 14:29:00 327

原创 axios的post请求和get请求发送

要注意post请求参数只能后端@requestBody接收get请求参数只能后端@requestParam接收 this.$axios.get('/payTest',{params:{totalPrice:this.map.totalPrice}}) .then(res => { console.log(res.data.data) thi

2021-06-24 14:27:33 143

原创 使用JsonFormat注解来格式化日期

@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”)

2021-06-21 19:34:48 842

原创 springboot中使用mybatis-plus开启驼峰命名

mybatis: configuration: #开启驼峰命名 map-underscore-to-camel-case: true

2021-06-21 11:30:43 3841

转载 mybatis-plus基本使用

1、Mybatis-Plus1.1 简介MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。1.2 特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 C

2021-06-20 14:14:28 397

原创 使用自定义注解和aop对用户的行为记录进行存储

@Component@Aspectpublic class LogProcess { /** * 线程池多少个: * 1. 如果是IO密集型应用, 是CPU核心的两倍. * 2. 如果是CPU密集型应用, 是cup核心数 + 1 */ //创建线程池 private ExecutorService executorService = Executors.newFixedThreadPool(16); private P

2021-06-20 01:14:13 146

原创 使用ControllerAdvice注解来进行全局数据处理

@ControllerAdvice ,这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能:全局异常处理全局数据绑定全局数据预处理处理所有controller返回的数据//定义一个全局的响应//@ControllerAdvice,所有的Controller只要执行,这个地方就会得到通知@ControllerAdvice(value = {"com.hubu.controller"})public class GlobalResponse impl

2021-06-19 21:57:17 324

原创 nginx的简单使用

Nginx一. 正向代理与反向代理正向代理: 1.客户端需要设置; 2. 站在目标服务器的角度, 不知道真正的客户端是谁.反向代理: 1.客户端不需要设置; 2.站在客户端的角度, 我们不知道实际的目标服务器是谁.二. nginx的启动、关闭、热启动启动,进入到nginx的家目录,打开dos命令行,执行如下命令:nginx关闭, 进入到nginx的家目录,打开dos命令行,执行如下命令:nginx -s stop热启动,进入到nginx的家目录,打开dos命令行,执行如

2021-06-16 23:16:29 311

原创 linux的操作系统相关

Linux操作系统前序调整虚拟机中Linux的网络:第一步,进入这个目录:cd /etc/sysconfig/network-scripts第二步,编辑 ifcfg-ens33 文件vi ifcfg-ens33第三步,将最后一行 REBOOT=no 改为 REBOOT=yes第四步,保存并退出 :wq第五步,重启网络systemctl restart network第六步,查看ipifconfig一. linux操作系统的基本介绍​ Linux是一套免费使用和自由传播的

2021-06-15 20:13:53 1182 4

原创 SpringBoot的环境搭建及使用

Spring-boot一. 第一个Spring-boot的应用1.1 maven配置​ 在maven文件中加入如下的依赖:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version><

2021-06-07 19:19:47 176 3

原创 vue项目npm命令笔记

ctrl + c可以终止当前批处理操作npm run serve 运行服务器# 安装 vue/cli(运行vue项目需要的框架)npm i @vue/cli -g#查看 vue/cli 的版本vue -V# 创建项目vue create vue#安装项目npm install#卸载包npm remove baoming修改项目名要在package.json中同步修改...

2021-06-03 20:37:28 837

原创 Ambiguous mapping. Cannot map ‘xxxController‘ method

我自己是同时写了两个GetMapping发生了冲突 @GetMapping public Object getPageData(Integer currentPage,Integer offset){ //分页:select * from limit 10,10 //int beginIndex = (currentPage-1)*pageSize;// PageHelper.offsetPage(index,pagesize); 当前端传入索引

2021-06-02 19:25:20 104

原创 回溯算法笔记

回溯算法1.组合问题基本参数为int[] nums,int startnums数组为要组合的数组start为单层搜索逻辑起始下标,为了排除重复结果(不添加前面选择过得元素)LeetCode 78 子集LeetCode 39 组合总和LeetCode 77组合减枝要素: for(int i = start; i<=n-(k-list.size())+1; i++)LeetCode 90 子集2(重复元素包含)核心要点:1.开始前先排序2

2021-05-31 21:16:05 102

原创 GitHub找项目资源的小技巧

找开源项目的一些途径• https://github.com/trending/• https://github.com/521xueweihan/HelloGitHub• https://github.com/ruanyf/weekly• https://www.zhihu.com/column/mm-fe特殊的查找资源小技巧-常用前缀后缀• 找百科大全 awesome xxx• 找例子 xxx sample• 找空项目架子 xxx starter / xxx boilerplate•

2021-05-27 15:04:25 138

原创 mybatis一对多套一对多的查询通过jstl在前端拿到数据

用了4层循环才拿到 <c:forEach items="${info}" var="info"> <c:forEach items="${info.infoList}" var="infoList"> <input type="hidden" name="property[]" id="property_version2" value="0"/> <div class="property_title"><h3&gt

2021-05-26 09:31:36 187

空空如也

空空如也

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

TA关注的人

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