自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ‘classpath’与‘classpath*’的区别

'classpath:'前缀用于定位单个资源文件,而’classpath*:'前缀用于查找并合并多个匹配的资源文件。选择使用哪种前缀取决于您的具体需求。如果您只需要访问单个资源文件,并且不关心是否有多个匹配的资源文件,那么使用’classpath:'前缀即可。如果您需要查找并处理多个匹配的资源文件,那么使用’classpath*:'前缀更为合适。

2023-06-29 19:09:41 470

原创 SpringBoot初始化接口CommandLineRunner

在Spring框架中,CommandLineRunner是一个接口,它提供了一种在Spring应用程序启动后执行特定代码的方式。本博客将介绍CommandLineRunner的作用、使用场景以及如何实现和配置它。此外,我们还将介绍如何配置和管理多个CommandLineRunner实例。Spring Boot提供了一种简单的机制来定义和排序多个CommandLineRunner,以便按照指定的顺序执行它们。

2023-06-29 17:32:13 815

原创 (五)进程管理:进程的状态与控制

对进程的几种基本状态以及系统控制进程使用的几种原语进行介绍

2022-12-04 22:33:43 773 1

原创 (四)进程管理:进程基本概念

进程的基本概念,进程与线程的区别,线程的实现

2022-12-04 10:00:00 758 1

原创 (三)操作系统的运行环境

操作系统的运行机制,微内核与大内核的发展与区别

2022-12-03 20:48:07 414

原创 (二)操作系统的发展与分类

从世界上第一台计算机开始讲述操作系统的发展与分类

2022-11-27 21:39:31 2161

原创 (一)操作系统的基本概念

操作系统笔记,介绍操作系统的概念、目标和功能、还有特征

2022-11-23 23:43:22 841

原创 mysql 自顶向下递归查询 使用next字段查子集 单链表查询

现在有一个需求,给定的表结构支持单链表数据的存储,每一行有一个next字段指向下一个节点,在只知道根节点id的情况下查询出该链表的所有数据表结构该表存储的是多个单链表的数据,已知某个链表的rootId,需要根据rootId递归查询出整个链表的所有节点初始化数据,插入两条链表的数据查询语句如下,查询其中头结点id为111的链表查询结果...

2022-06-15 11:03:57 357

原创 mybatis 多参数中有一个list 使用方法

mybatis 多参数,其中一个为list如List<IllegalWordEntity> getListByWords(@Param("clientId") long clientId, @Param("illegalWords") List<String> illegalWords);使用@Param注解指定名称mapper中foreach 标签的collection属性使用@Param注解指定的名字即可mapper中的写法 <se

2022-03-17 18:18:55 2424

原创 NIO之缓冲区

文章目录基本概念使用示例简单的不指定长度的读取、写入、重置、清空指定长度的读取、mark、reset、hasRemaining、remaining创建直接缓冲区方法总结关于NIO的概念网上一搜一大把资料,我就不记了,还是记录一下怎么使用吧基本概念一、缓冲区(Buffer):在 Java NIO 中负责数据的存取,缓冲区底层就是数组。用于存储不同数据类型的数据1)根据数据类型的不同,提供对应类型的缓冲区(boolean类型除外)ByteBuffer (最常用,也只有它支持直接缓冲区)CharBu

2020-12-06 15:26:06 406

原创 Sentinel笔记(五)@SentinelResource注解

如何在项目中添加Sentinel的支持请看这里Sentinel笔记(一)第一个监控实例文章目录系统自适应限流注解系统自适应限流这个没啥东西就放在这个位置了,除了自适应和CPU占用率,都和之前的限流规则一样,只不过是使用范围覆盖了整个服务的所有资源官方文档系统保护规则是从应用级别的入口流量进行控制,从单台机器的 load、CPU 使用率、平均 RT、入口 QPS 和并发线程数等几个维度监控应用指标,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。系统保护规则是应用整体维度的,而不是资源维

2020-07-05 20:00:51 588

原创 synchronized和volatile笔记

Object o = new Object()在内存中占了多少个字节先看一个图,这是普通对象和数组对象在内存中的基本结构JVM读取堆内存的时候都是读取的8的整数倍内存,读取速度快,所以需要上图中最下面的对齐空间对象头markword占了8个字节对象头的ClassPoint指针占用了4个字节因为Object对象没有属性所以属性占用内存为0为了补齐内存让JVM读取效率最高,后面占用4个...

2020-07-04 18:39:15 147

原创 Sentinel笔记(四)热点限流

文章目录介绍使用介绍官网何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用生效。Sentinel 利用 LRU 策略统计

2020-07-04 01:10:11 226

原创 Sentinel笔记(三)降级规则

如何在项目中添加Sentinel的支持请看这里Sentinel笔记(一)第一个监控实例文章目录概述降级规则RT(平均响应时间)异常比例异常数概述官网官网截图在降级规则菜单内可以添加降级规则简单解释:RT(平均响应时间,秒级)平均响应时间 超出阈值 且 在时间窗口内通过的请求 >= 5,两个条件同时满足后触发降级窗口期过后关闭断路器RT默认最大4900ms,若需要变更此上限可以通过启动配置项 -Dcsp.sentinel.statistic.max.rt=xxx 来配置。

2020-07-03 04:06:19 403

原创 Sentinel笔记(二)流量监控

文章目录流量监控规则添加流控规则两种方式创建第一个流控规则测试一下流量监控规则资源名:唯一名称,默认请求路径针对来源:Sentinel可以针对调用者进行限流,填写微服务名,指定对哪个微服务进行限流 ,默认default(不区分来源,全部限制)阈值类型/单机阈值:QPS(每秒钟的请求数量):当调用该接口的QPS达到了阈值的时候,进行限流;线程数:当调用该接口的线程数达到阈值时,进行限流是否集群:不需要集群流控模式:直接:接口达到限流条件时,直接限流关联:当关联的资源达到阈值时,就

2020-07-03 00:39:04 467

原创 Sentinel笔记(一)第一个监控实例

文章目录下载安装sentinel下载运行写个项目来测试下创建项目简单测试下载安装sentinel需要的环境 java 1.8下载github下载地址:https://github.com/alibaba/Sentinel/releases我这里下载的是1.7.2版本的运行下载好了之后就可以使用java命令运行java -jar sentinel-dashboard-1.7.2.jarsentinel默认的启动端口是8080,如果端口被占用使用-Dserver.port=xxxx指定其他

2020-07-02 00:13:45 278

原创 nacos笔记(四)集群与持久化

文章目录使用Mysql持久化集群配置使用Mysql持久化mysql的安装过程就不介绍了,版本用的是5.7.29,系统ubuntu18.04Nacos 使用的是1.3.0版本官方文档介绍linux下nacos安装过程:nacos笔记(一)单机版要使用mysql来存数据,那么肯定需要有一个数据库和相应的表,获取数据库脚本有两种途径从官方文档提供的github地址 sql语句源文件从自己解压出的nacos文件夹下找到 conf/nacos-mysql.sql 文件我是用的解压出来的文件,

2020-06-30 20:26:38 278

原创 ubuntu18.04设置静态ip地址(简单版)个人学习使用

声明:我是个人电脑的学习及使用前提:为了创建nacos集群,我创建了多台虚拟机,因为nacos集群需要配置各台服务器的ip,如果不设置静态ip,每次重启都会造成ip地址的改变,所以我需要设置一下静态IP,防止重启后需要修改配置的问题配置静态ip前需要先知道几个东西网关、dns、子网掩码、网卡名dns我就用了谷歌的,因为 8.8.8.8 太好记了网关的查看方法:route -nGateway下面圈起来的就是网关地址,Genmask下面第二行是子网掩码,我的是255.255.255.0,也就是24位

2020-06-30 17:11:14 2016

原创 nacos笔记(三)配置中心

文章目录创建项目添加配置文件命名空间和GROUP添加命名空间创建配置文件总结概念就不多介绍了,看官网就够用了nacos概念如何安装和启动单机版nacosnacos笔记(一)单机版创建项目创建这个项目是为了演示nacos的远程配置管理功能项目名(随便起):cloud-alibaba-config-nacos-client3377maven依赖 <dependencies> <dependency> <groupId>com.alib

2020-06-29 00:23:19 268

原创 nacos笔记(二)注册中心

文章目录创建服务提供者创建服务消费者使用RestTemplate远程调用OpenFeign远程调用将OpenFeign的接口定义成一个公共模块创建服务提供者首先父pom中引入依赖,只贴一部分与本项目有关的<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <vers

2020-06-28 22:58:59 170

原创 nacos笔记(一)单机版

文章目录linux下安装启动linux下安装我的环境是ubuntu18.04,JDK1.8nacos中文官网nacos的github下载地址将下载好的文件放到 /usr/local/ 下使用命令tar -zxvf nacos-server-1.3.0.tar.gz解压启动解压出文件夹nacos进入/usr/local/nacos/bin目录使用bash -f ./startup.sh -m standalone 命令启动单机版nacos出现以上提示表示启动成功,不放心的话可以查看最

2020-06-28 22:04:24 509

原创 并查集及其各种优化笔记(Java实现)

文章目录并查集的概念简单实现并查集Quick Find方式Quick Union方式Quick Union的优化1、基于size的优化2、基于rank的优化3、路径压缩4、路径分裂5、路径减半改造成泛型1、使用hashCode2、使用链表 + Map总结并查集的概念简单实现并查集Quick Find方式Quick Union方式Quick Union的优化1、基于size的优化2、基于rank的优化3、路径压缩4、路径分裂5、路径减半改造成泛型1、使用hashCode2、使用链表

2020-05-21 02:30:05 404

原创 求子串问题,不考虑子串元素的顺序,滑动窗口法实现(Java)

文章目录题目分析实现题目给定长度为m的字符串aim,以及一个长度为n的字符串str问能否在str中找到一个长度为m的连续子串,使得这个子串刚好由aim的m个字符组成,顺序无所谓返回任意满足条件的一个子串的起始位置,未找到返回-1输入:aabbccddffaaddcc输出:4分析使用滑动窗口加欠债表实现1、构建一个欠债表,将aim中的字符串放入欠债表,并记录每个元素欠的个数...

2020-04-26 13:54:07 189

原创 给定一个数组,求如果排序之后,相邻两数的的最大差值(Java实现)

文章目录题目分析实现题目给定一个数组,求如果排序之后,相邻两数的的最大差值,要求时间复杂度为O(n),且要求不能用非基于比较的排序假设输入:1,7,199,8,12,45,99,2,3,4输出:100分析首先根据题意,时间复杂度能到O(n)的排序都是非基于比较的排序,我们肯定不能用排序了,但是我们可以借鉴桶排序的思想假设我们有n个元素1、我们创建n + 1个桶,由于第一个元素和...

2020-04-25 20:29:06 921

原创 给出n个数字 a_1,...,a_n,问最多有多少不重叠的非空区间,使得每个区间内数字的xor(异或和)都等于0

文章目录题目分析实现题目给出n个数字 a_1,…,a_n,问最多右多少不重叠的非空区间,使得每个区间内数字的xor(异或和)都等于0假设输入:1,2,3,3,2,1输出:2解释:如果拆成两部分来看[1,2,3] [3,2,1] 那么不重叠非空区间有两个,并且xor都为0,那么结果为2[1,2] [3,3] [2,1] 那么不重叠非空区间有三个,但是只有[3,3]的xor为0,结...

2020-04-25 19:26:57 429

原创 根据后续遍历结果重建搜索二叉树(Java实现)

题目:已知一个搜索二叉树后序遍历的数组posArr,请根据posArr,重建出整棵树,并返回头结点先来了解后序遍历是个什么玩意二叉树的前序、中序、后序三种遍历方式(Java实现)根据后序遍历的性质,我们可以知道,一个搜索二叉树如果长成下面这个鸟样那么他后序遍历的结果就是下面这个数组3,5,4,7,6,9,11,10,8分析:后序遍历一定是最后遍历根节点,那么可以推出根节点的位置...

2020-04-24 19:56:36 671 2

原创 二叉树的前序、中序、后序三种遍历方式(Java实现)

文章目录定义定义Node节点和树前序遍历代码实现递归非递归,使用栈中序遍历代码实现递归非递归,同样用栈后序遍历代码实现递归非递归定义首先我们要知道前序遍历、中序遍历、后序遍历三种遍历方式的定义前序遍历是根->左->右中序遍历是左->根->右后序遍历是左->右->根根据定义,我们很容易发现规律,前中后分别指的是根的访问顺序,比如前序,就是根在最前面...

2020-04-24 19:09:40 611

原创 十大经典排序算法之归并排序(Java语言)

归并排序和快排一样使用的是分治的思想,所以也可以提供很好的性能,但是归并可以提供比快排更稳定的性能,以及归并排序本身是稳定的,所以被很多语言用在对象排序方式上,java的Arrays.sort方法的对象排序用的就是归并排序的一种扩展:在jdk1.8之后,Arrays.sort的对象排序在某个阈值下使用的二分插入排序,当元素个数大于阈值的时候使用的是一种改进的归并排序TimSort,中文名叫多路归...

2020-04-23 16:50:22 99

原创 十大经典排序算法之堆排序(Java语言)

文章目录什么是堆如何进行堆排序呢什么是堆在了解什么是堆之前一定要先了解什么是完全二叉树看一下百度百科的介绍若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。百度百科拗口版性质介绍,能看懂上面的就行,下面的大概看下完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且...

2020-04-23 13:57:59 131

原创 十大经典排序算法之插入排序(Java语言)

插入排序,和选择、冒泡并称三大简单排序算法,虽然理论时间复杂度也是O(n2),但是和未经优化的冒泡比起来,还是要快一倍的,最好时间复杂度也到了O(n),所以是三大简单排序算法中性能最高的简单介绍下:插入排序就是每次从待排数组中选择第一个数来插入到已排序数组中对应的位置形象的描述下:插入排序就像抓扑克牌,每次从牌组中抓取一颗最新的牌,插入到手牌中应该在的位置假设有如下数组3,1,4,6,2,...

2020-04-22 18:54:34 105

原创 十大经典排序算法之冒泡排序(Java语言)附带三种优化方式

文章目录理论性质最简单实现优化理论冒泡排序也是入门学的最简单的排序算法之一,顾名思义,这个排序算法的思想呢就是每次都把最大的泡泡(数字)浮到最顶端去,然后再从后面把第二大的数向上浮,直到只剩最后一个泡泡了实际的操作过程:是将指针不断向后移动,并且对比相邻的两个数字,如果前面的大就交换位置,如果后面的大就不交换位置,不管是不是交换位置,之后都要将指针继续向上移动,然后再次对比比如有如下数组...

2020-04-22 17:41:37 111

原创 十大经典排序算法之简单选择排序(Java语言)

选择排序是最简单直观的排序算法该算法的革新思想是每次遍历数组选择最小的数放到最前面,然后在遍历剩下的数组,该算法不管数组起始是什么样子的,都会循环N-1次假设有数组 3,5,1,2,4第一次循环:1,5,3,2,4第二次循环:1,2,3,5,4第三次循环:1,2,3,5,4第四次循环:1,2,3,4,5剩下最后一个数肯定是最大的了,所以不用处理,如果想从大到小就反过来就行了性质...

2020-04-22 16:35:54 101

原创 十大经典排序算法之快速排序(Java语言)

快速排序快排的性质中文名称英文名称平均时间复杂度最坏时间复杂度最好时间复杂度空间复杂度稳定性快速排序Quickn*lognn2n*lognn*logn不稳定快排采用的是分治的思想,每次递归的的时候需要排序数组的长度都会减少,所以每次递归的时候只需要遍历子数组就好有两种理解的方式,先说我觉得比较好理解的一种方式1、先取一个元素为key,最简单的...

2020-04-22 15:23:26 97

原创 SpringBoot笔记(一)————第一个SpringBoot项目

文章目录SSM基础第一个SpringBoot项目(Maven)使用官网构建(目前Eclipse只能用官网构建)使用IDEA构建(其实也是内置的官网链接)解决Maven下载太慢启动!写个controller试试约定大于配置SSM基础学习SpringBoot之前必须要熟悉Spring,SpingBoot不是一个完全重新写的东西,他是基于Spring来开发的,有很多默认的配置由SpringBoot为...

2020-04-16 14:28:51 404

原创 SSM整合(搭建一个Web脚手架)

文章目录MybatisMybatis

2020-04-14 23:52:20 271

原创 SpringMVC笔记(从零搭建一个web项目)

文章目录第一个SpringMVC项目,帮助理解原理创建maven项目将项目添加web框架的支持在web.xml中注册DispatcherServlet创建并配置springmvc-servlet.xml文件编写controller编写ModelAndView要跳转的页面配置Tomcat运行访问hello页面解决遇到的404使用注解开发(真实项目当然要用这种方式)其实SpringMVC就是一个Di...

2020-04-14 20:22:06 245

原创 SpringMVC执行流程

(1)用户发送请求至前端控制器DispatcherServlet;(2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;(4)DispatcherServlet 调用 HandlerAd...

2020-04-10 22:59:01 186 1

原创 Spring5笔记(配置和零配置)

新建项目新建一个web项目maven配置依赖,这里就不提取版本什么的了<!--引入SpringMvc就可以了,他会帮我们引入一大堆Spring东西--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</...

2020-04-10 20:59:18 261 1

原创 MyBatis入门(从零到一)

文章目录MyBatis官方文档地址实际操作可能会遇见的问题引入MyBatis依赖CURD各写一遍使用map参数类型配置解析核心配置文件环境变量配置(properties)类型别名(typeAliases)映射器(mappers)MyBatis官方文档地址https://mybatis.org/mybatis-3/zh/index.html实际操作可能会遇见的问题1.配置文件没有注册2.绑...

2020-04-09 23:42:03 702 2

原创 JAVA注解入门(文末反射使用)

元注解元注解的作用:负责注解其他的注解,Java定义了4个标准的meta-annotation类型,他们用来提供对其他annotation类型做说明这些元注解和他们所支持的类型在java.lang.annotation包中可以找到(@Target,@Retention,@Document,@Inherited)1)@Target :用于描述注解的使用范围(即注解可以用在什么地方)2)@R...

2020-03-29 00:03:49 246

空空如也

空空如也

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

TA关注的人

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