自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Gateway服务网关学习笔记

视频学习指路:[【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】]( https://www.bilibili.com/video/BV1LQ4y127n4?p=35&vd_source=a47bf4940c4525104c29456d1bfbdfcf)

2022-11-06 10:36:33 390 1

原创 Feign

视频学习指路:[【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】]( https://www.bilibili.com/video/BV1LQ4y127n4?p=30&vd_source=a47bf4940c4525104c29456d1bfbdfcf)

2022-11-05 16:50:10 1513

原创 Nacos学习笔记

视频学习指路:[【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】](https://www.bilibili.com/video/BV1LQ4y127n4?p=17&vd_source=a47bf4940c4525104c29456d1bfbdfcf)

2022-11-04 15:10:42 1091

原创 Eurea学习笔记

视频学习指路:[【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】](https://www.bilibili.com/video/BV1LQ4y127n4?vd_source=a47bf4940c4525104c29456d1bfbdfcf)

2022-09-29 10:44:30 406

原创 常用注解归纳(二)

注解归纳

2022-09-16 17:25:06 959

原创 Springboot集成Swagger

学习视频指路狂神说Java--> 【【狂神说Java】一小时掌握Swagger技术】https://www.bilibili.com/video/BV1Y441197Lw?vd_source=a47bf4940c4525104c29456d1bfbdfcf

2022-09-16 16:13:45 254

原创 MybatisPlus

学习链接:指路-->[狂神说Java]( https://www.bilibili.com/video/BV17E411N7KN?vd_source=a47bf4940c4525104c29456d1bfbdfcf)

2022-09-13 11:21:40 525

原创 Sring中常用注解归纳(一)

总结ssm中常用的注解

2022-08-05 16:19:20 176

原创 视图、存储过程、触发器

视频学习网址:【黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括-哔哩哔哩】 https://b23.tv/1aCe5B8

2022-08-02 11:19:55 525

原创 SQL的性能分析、优化

学习视频【黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括-哔哩哔哩】 https://b23.tv/w9pG6V1

2022-08-02 09:51:31 712 1

原创 MySql--存储引擎以及索引

视频学习网站:【黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括-哔哩哔哩】 https://b23.tv/ncea2u7

2022-08-01 09:16:44 478

原创 with recursive用法

with recursive--递归查询

2022-07-27 16:26:01 12694

原创 Git--分布式版本控制工具

视频学习参考:【黑马程序员Git全套教程,完整的git项目管理工具教程,一套精通git-哔哩哔哩】 https://b23.tv/5NWxwGm

2022-07-27 12:44:02 134

原创 (十六)图的基本操作---两种遍历

图的表示方式(存储结构)1.邻接矩阵–数组表示法邻接矩阵是表示图形中顶点之间相邻关系的矩阵,对于 n 个顶点的图而言,矩阵是的 row 和 col 表示的是 1…n个点。用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息2.邻接表邻接表是图的一种链式存储结构。在邻接表中,对图中的每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi的边(对有向图是以顶点vi为尾的弧)。图的创建(数组)package com.atguigu.graph;import

2021-06-03 11:19:12 346 1

原创 (十五)B-Tree树(B-树)与B+树

B-树B-树是一种平衡的多路查找树。一棵m阶的B-树或者为空树,或者为满足下列特征的m叉树:(1)树中的每个结点至多有m棵子树;(2)若根结点不是叶子结点,则至少有两棵子树;(3)除根结点之外的所有非终端结点至少有不少于m/2棵子树B 树的阶:节点的最多子节点个数。比如 2-3 树的阶是 3,2-3-4 树的阶是 4B-树的搜索,从根结点开始,对结点内的关键字(有序)序列进行二分查找,如果命中则结束,否则进入查询关键字所属范围的儿子结点;重复,直到所对应的儿子指针为空,或已经是叶子结点关键字

2021-06-02 16:31:20 242

原创 (十四)平衡二叉树

基本介绍平衡二叉树也叫平衡二叉搜索树(Self-balancing binary search tree)又被称为 AVL 树, 可以保证查询效率较高。具有以下特点:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过 1,并且左右两个子树都是一棵平衡二叉树。...

2021-05-31 15:58:37 269

原创 (十三)二叉排序树

基本概念二叉排序树:BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点创建和遍历package com.atguigu.binarysorttree;public class BinarySortTreeDemo { public static void main(String[] args) {

2021-05-30 15:35:12 167

原创 (十二)树--哈夫曼树

基本介绍给定 n 个权值作为 n 个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近概念路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为 1,则从根结点到第 L 层结点的路径长度为 L-1结点的权及带权路径长度:若将树中结点赋给一个有着某种含义的数值,则这个数值

2021-05-30 11:13:27 278

原创 (十一)树--堆排序

堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值的大小关系。(大顶堆的特点:arr[i]>=arr[2*i+1] && arr[i]>=arr[2*i+2])每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。(小顶堆的特点:a

2021-05-30 09:50:49 305

原创 (十)树的基础部分(二)

顺序存储二叉树从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组。顺序存储二叉树的特点顺序二叉树通常只考虑完全二叉树第 n 个元素的左子节点为 2 * n + 1第 n 个元素的右子节点为 2 * n + 2第 n 个元素的父节点为 (n-1) / 2n : 表示二叉树中的第几个元素(按 0开始编号)顺序存储二叉树遍历需求: 给你一个数组 {1,2,3,4,5,6,7},要求以二叉树前序遍历的方式进行遍历。 前序遍历的结果应当为1,2,4,

2021-05-27 19:21:34 125

原创 (十)树的基础部分(一)

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

2021-05-25 22:23:36 131

原创 (九)哈希表

基本介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表在实际中的应用google 上机题有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,名字,住址…),当输入该员工的 id 时, 要求查找到该员工的 所有信息. 要求:不使用数据库,速度越快越好=>哈希表(散列)添加时,

2021-05-25 19:20:56 167

原创 (八)查找算法

线性查找线性查找:逐一比对,发现有相同值就返回下标package com.atguigu.search;public class SeqSearch { public static void main(String[] args) { int[] arr={1,9,11,-1,34,89};//没有顺序的数组 int index=seqSearch(arr,11); if (index==-1){ System.out.

2021-05-25 16:34:03 114

原创 (七)排序算法(三)

归并排序归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)归并排序图解1.基本思想2.合并相邻有序子序列再来看看治阶段,我们需要将两个已经有序的子序列合并成一个有序序列,比如上图中的最后一次合并,要将[4,5,7,8]和[1,2,3,6]两个已经有序的子序列,合并为最终序列[1,2

2021-05-25 14:36:52 158

原创 (七)排序算法(二)

希尔排序简单插入排序存在的问题:当需要插入的数是较小的数时,后移的次数明显增多,对效率有影响.。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。基本思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止。希尔排序图解希尔排序时,对有序序列在插入时采用交换法package com.atguigu.sort;import java.u

2021-05-25 09:36:58 183

原创 (七)排序算法(一)

排序算法的分类复杂度参考来源https://blog.csdn.net/hiudawn/article/details/80380572冒泡排序(每次都两两比较,然后看是否交换)冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。优化:因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序

2021-05-24 16:46:11 121

原创 (六)递归

递归的调用机制简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归需要遵守的重要规则执行一个方法时,就创建一个新的受保护的独立空间(栈空间)方法的局部变量是独立的,不会相互影响, 比如 n 变量如果方法中使用的是引用类型变量(比如数组),就会共享该引用类型的数据.递归必须向退出递归的条件逼近,否则就是无限递归,出现 StackOverflowError,死龟了:)当一个方法执行完毕,或者遇到 return,就会返回,遵

2021-05-24 15:19:12 126

原创 (五)栈及其应用

数据结构–栈 1.栈是一个先进后出的有序列表 2.栈(stack)限制了只能在线性表的同一端进行操作。允许插入和删除的一端为变化的一端,称为栈顶(top),另一端为固定的一端,称为栈底(bottom)入栈(push)示意图出栈(pop)示意图栈的应用场景数组模拟栈思路分析图package com.atguigu.stack;import java.util.Scanner;public class ArrayStackDemo { public st

2021-05-22 09:33:59 394 1

原创 (四)约瑟夫问题-单向环形链表

约瑟夫问题 问题描述: 设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数到m 的那个人出列, 它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。思路:用一个不带头结点的循环链表来处理 Josephu 问题:先构成一个有 n 个结点的单循环链表,然后由 k 结点起从 1 开始计数,计到 m 时,对应结点从链表中删除,然后再从被删除结点的下

2021-05-17 15:20:35 349 1

原创 (三)双向链表

单向链表的缺点: 1.单向链表查找的方向只能是一个方向,而双向链表可以镶嵌或者向后查找 2.单向链表不能自我删除,需要借助辅助节点。而双向链表可以自我删除双向链表的插入与删除的示意图在双向链表中插入一个节点时指针的变化情况在双向链表中删除结点时指针的变化情况双向链表的增删改查的实现package com.atheima.linkedlist;public class DoubleLinkedListDemo { public static void m...

2021-05-16 16:12:58 149

原创 (二)单链表

线性表的顺序存储的特点是逻辑上相邻的两个元素在物理位置上也相邻。因此可以随机存取表中的任一一个元素。但是这种存储方式存在的缺点是插入或者删除的时候,需要大量移动元素。链式存储可以避免顺序存储的弱点,但同时也失去了顺序表课随机存取的优点。线性链表:链式存储结构–用一组任意的存储单元存储线性表的数据元素(这组讯处单元可以是连续的也可以是不连续的)。链表的基本单元称为节点(node)。节点包括两个域:其中,存储数据元素信息的域称作数据域;存储直接后继存储位置的域称作指针域。用线性链表表示线性表的时候,数据元

2021-05-15 22:03:27 832

原创 (一)队列

基本队列队列是一个有序列表,遵循先进先出的原则。从队首出,从队尾进。在代码中定义:maxSize—队列的最大容量。front,队首,随着数据的输出而改变。rear,队尾,随着数据的输入而改变注意,在这里约定front和rear的初始值为-1.1.front变量的含义 front=-1 指向队列头部的前一个位置2.rear变量的含义 :rear=-1 指向队列尾,指向队列尾的数据(即就是队列的最后一个数据)3.当队列满的条件是:rear==maxSizes-14.当队列尾空的条件是 re

2021-05-15 21:37:58 458

原创 SSM

搭建整合环境整合说明:SSM整合可以使用多种方式,选择XML + 注解的方式整合的思路先搭建整合的环境先把Spring的配置搭建完成再使用Spring整合SpringMVC框架最后使用Spring整合MyBatis框架在resources中引入log4j.properties文件在pom中引入坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.a

2021-02-23 18:05:22 137

原创 SpringMVC(四)--SpringMVC异常处理及拦截器

SpringMVC异常处理系统中异常包括两类:预期异常和运行时异常 RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。系统的 dao、service、controller 出现都通过 throws Exception 向上抛出,最后由 springmvc 前端控制器交由异常处理器进行异常处理。SpringMVC中的拦截器Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理

2021-02-23 11:12:30 128 1

原创 SpringMVC(三)--SpringMVC返回值类型及响应数据类型

返回值类型String类型

2021-02-22 19:00:10 421

原创 SpringMVC(二)--SpringMVC常用注解

RequestParam作用:把请求中指定名称的参数给控制器中的形参赋值。 属性: value:请求参数中的名称。 required:请求参数中是否必须提供此参数。默认值:true。表示必须提供,如果不提供将报错。<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title&g

2021-02-21 17:41:17 126

原创 SpringMVC(一)

三层架构我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,所以我们课程中的案例也都是基于三层架构设计的。三层架构中,每一层各司其职,接下来我们就说说每层都负责哪些方面:表现层:也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果,通常客

2021-02-21 16:20:16 144

原创 Spring中的事务控制

第一:JavaEE 体系进行分层开发,事务处理位于业务层,Spring 提供了分层设计业务层的事务处理解决方案。 第二:spring 框架为我们提供了一组事务控制的接口。 这组接口是在spring-tx-5.0.2.RELEASE.jar 中。 第三:spring 的事务控制都是基于 AOP 的,它既可以使用编程的方式实现,也可以使用配置的方式实现。 重点是使用配置的方式实现。Spring 中事务控制的 API 介绍TransactionDefinition获取事务对象名称 -S...

2021-02-20 16:19:11 146

原创 Spring中的jdbcTemplate以及事务控制

JdbcTemplate 概述 它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。 操作关系型数据的: JdbcTemplate HibernateTemplate 操作 nosql 数据库的: RedisTemplate 操作消息队列的: JmsTemplatejdbcTemplate需要导的架包: spring-jdbc-5.0.2.RELEASE.jar

2021-02-20 11:30:52 847

原创 Spring-AOP(面向切面编程)

AOP介绍概念AOP:全称是 Aspect Oriented Programming 即:面向切面编程。简单的说它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法进行增强。作用及优势作用:在程序运行期间,不修改源码对已有方法进行增强。 优势: 减少重复代码 提高开发效率 维护方便AOP 相关术语1.Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是

2021-02-19 15:53:34 140

空空如也

空空如也

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

TA关注的人

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