自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tomcat

Server:服务器,启动和停止整个系统;Service:服务,一个Server上可以由多个服务,如订单服务,支付服务;Connector:连接器,一个服务可以支持多种协议,每个协议对应一个Connector来处理;Container:表示容器,即Servlet容器,包括Engine(引擎)、Host(主机)、Context(上下文)、Wrapper(包装器);

2023-08-28 10:22:43 1165

原创 设计模式(一)

适配器中有一个适配器包装类Adapter,其包装的对象为适配者Adaptee,适配器作用就是将客户端请求转化为调用适配者中的接口;当调用适配器中的方法时,适配器内部会调用适配者类的方法,这个调用对客户端是透明,实现了不同接口之间由于不兼容的类,可以相互调用;目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,无序修改原有代码结构;增加了类的透明性和复用性,将业务代码封装在适配者类中,对于用户是透明的,同时适配者类可以被多个不同系统调用。

2023-08-28 10:20:54 1149

原创 JVM知识点(二)

假设高峰请求6w/s,共有10台机器,每个请求大小20k,则每台机器JVM的流量为120MB/s。

2023-08-28 10:18:23 513

原创 JVM知识点(一)

如下代码,第一次new时执行顺序 :父类A的静态方法块---子类B的静态方法块--父类A的构造方法--子类B的构造方法;第二new时执行顺序 :父类A的构造方法--子类B的构造方法。标记整理:GC回收时,会将存活对象整理到一起,不会造成空间浪费,同时也不会出现内存碎片,但效率最低;

2023-08-28 10:16:31 1528

原创 Map集合源码分析

③判断table的索引位置的key的hash值和新的key的hash值相同相同,并且满足现有的节点的key和准备添加节点的key是同一个对象||equals相同,就只能替换key-value;A、若整个链表没有和他相同,加到该链表的最后,加入后,判断当前链表个数是否已经8个,超过后进行红黑树树化treeifBin();(1)k-v存储,最后是存储在HashMap$Node=newNode(hash,key,value,null);B、如果在循环比较中,发现有相同,不添加break,只是替换value。

2022-09-10 14:13:47 287 1

原创 Set集合源码分析

(5)去重机制:hashCode()+equals(),底层通过存入对象,进行运算得到一个hash值,通过hash值得到对应索引,如果发现索引所在位置没有数据,直接存放,如果存在数据,进行equals()比较【遍历比较】,比较不相同,就加入,否则不加入。③去重机制:如果传入一个Compartor匿名对象,使用compare去重,如果方法返回0,认为是相同元素,就不添加,若没有传入Comparator匿名对象,则以添加对象实现的Compareable接口中的compareTo去重。(3)不允许重复添加元素。

2022-09-10 14:09:52 310

原创 LinkedList源码分析

(4)判断原来是否为第一次插入,l==null为第一次插入,头指针指向插入节点,若不是第一次插入,插入元素之前链表的尾元素的后指针指向插入元素;(5)判断删除节点的下一个节点是否为空·,为空,尾指针指向null,不为空,next节点的前指针指向null。removeFirst()判断链表是否为空,为空抛出异常,不为空进入删除操作。(6)链表长度减一,修改次数+1,返回删除的元素。(2)创建新节点存储插入值,前指向,后指向;(2)使用next记录删除节点的下一个节点;(4)头指针指向删除节点的下一个节点;

2022-09-10 14:08:00 282

原创 ArrayList集合源码分析

(2)创建ArrayList对象时,若使用无参构造,初始容量为0,第一次添加扩容为10,再次扩容,则扩容为数组长度的1.5倍;(3)判断是否为第一次扩容,若第一次扩容,newCapacity-minCapacity

2022-09-10 14:05:40 211

原创 MYSQL架构——逻辑架构

目录一、整理逻辑架构1、连接层 2、服务层3、引擎层 4、存储层二、查询SQL执行周期 1、修改配置文件,开启查询缓存2、开启查询执行计划3、执行两次相同查询语句4、显示最近执行的SQL语句5、查询6,7执行计划三、查询流程MySQL主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。如下图:......

2022-07-03 14:27:20 560 1

原创 MYSQL架构——用户权限与管理

目录一、MYSQL用户管理1、创建用户2、了解用户user表3、修改用户密码4、删除用户二、权限管理 1、授权命令2、收回权限3、查看权限三、远程访问 1、授予用户远程连接权限2、先ping一下数据库IP地址3、防火墙设置4、测试连接2、先ping一下数据库IP地址3、防火墙设置4、测试连接......

2022-07-03 13:27:39 235

原创 java程序基本结构(二)

目录一、大数1、BIgInteger二、数组1、声明数组2、数组访问3、数组拷贝4、数组排序

2022-06-18 14:56:44 154

原创 java程序基本结构(一)

目录一、数据类型1、整型2、浮点型3、char类型4、boolean类型 二、运算符1、算术运算符2、数学函数 3、自增与自减运算符4、关系运算符5、位运算符三、字符串1、子串2、拼接3、检查字符串是否相等4、String API5、StringBuilder类......

2022-06-18 13:58:48 216 4

原创 Spring——相关概念

目录1、spring概念2、spring特性(1)非侵入性(2) 控制反转(IOC)(3)依赖注入(DI)(4)面向切面编程(AOP)(5)容器(6)组件化(7)一站式3、spring模块(1)Core Container (2)AOP和Aspects(3)DataAccess(4)Web(5)Test......

2022-06-04 13:47:29 271 2

原创 链表的翻转

目录一、题目二、解题思路三、具体代码实现四、链表专栏一、题目1、链接:力扣2、题目:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]二、解题思路链表翻转如上图,使用三个指针,一个fast指针、一个slow指针和一个current指针,具体步骤如下:(1)fast指针,slow指针开始指向null,current指针指向head指针所指节点...

2022-05-28 14:22:38 440 1

原创 移除链表元素

目录一、题目 二、解题思路三、具体代码实现四、链表专栏一、题目1、leetcode链接:力扣2、题目内容:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]二、解题思路如下图,移除元素4我们使用双指针,用fast指针指向要删......

2022-05-28 13:44:47 100

原创 链表基础知识

目录1、单链表2、双链表3、循环链表4、删除节点5、添加节点6、链表定义1、单链表单链表是多个节点通过指针串联起来的线性结构,每个节点分为两部分,一个是数据域,一个为指针域,最后一个节点的指针域胃为空(1)数据域:存放数据;(2)指针域:指向下一个节点的指针。2、双链表双链表中每一个节点有两个指针域,一个指针域指向上一个节点,一个指针域指向下一个节点,可以查询前也可以查询后。如下图:3、循环链表循环链表就是链表的首....

2022-05-28 12:02:26 1068

原创 二叉树所有路径

目录一、题目二、解题思路1、所有路径2、具体步骤三、代码实现四、二叉树专题文章专栏一、题目1、链接:力扣2、题目内容:给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:["1->2->5","1->3"]二、解题思路1、所有路径本题所有路径指根节点到所有叶子节点的路径,叶子节点..

2022-05-28 10:46:18 899 2

原创 二叉树的最小深度

一、题目1、leetcode链接:​​​​​​力扣2、题目内容:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2二、解题思路1、最小深度二叉树最深度即根节点到叶子节点的最短路径,如下图:(1)的最小深度为2,即3->9(2)的最小深度为3,即3->9->4或3->20.

2022-05-21 14:49:44 1709 3

原创 二叉树的最大深度

目录一、题目二、解题思路1、二叉树深度2、具体步骤三、具体代码四、二叉树专题文章一、题目1、leetcode链接:​​​​​​力扣2、题目内容:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。.........

2022-05-21 14:04:41 1827 1

原创 对称二叉树

目录一、题目二、解题思路1.对称二叉树2.具体步骤三、代码实现一、题目leetcode链接:力扣 题目: 给你一个二叉树的根节点root, 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3]输出:true 二、解题思路1.对称二叉树对称二叉树即根节点左右子树镜像对称,如下图:(1)是对称二叉树(2)(3)不是对称二叉树2.具体步骤(1)此题我们需要借助....

2022-05-21 13:32:28 609 6

原创 二叉树的翻转

目录一、题目二、解题思路1、二叉树翻转2、具体步骤(迭代法)三、代码实现一、题目1、leetcode链接:力扣2、题目内容:给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]二、解题思路1、二叉树翻转(1)就是将根节点和所有子节点的左右子树进行交换;(2)根节点:树的最顶端的节点,每颗树只有一个根节点;(..

2022-05-21 11:01:04 3832 3

原创 基于ssm+前后分离的学生信息管理系统

目录一、项目描述1、使用技术2、功能介绍二、项目展示1、登录模块2、学籍信息模块3、成绩信息模块4、活动信息模块5、成绩信息统计模块6、活动参与信息统计三、项目部分代码1、活动信息、成绩信息统计后端代码(service模块)2、活动信息统计前端代码3、成绩信息统计前端代码一、项目描述1、使用技术(1)项目采用ssm框架进行搭建,前后分离;(2)采用分布式架构,使用zookeeper作为注册中心;(3)前端采用vu.....

2022-05-14 17:20:15 1004 4

原创 二叉树层序遍历——java

目录一、题目二、层序遍历顺序三、思路(迭代法)四、代码实现一、题目1、链接:力扣2、内容:给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]二、层序遍历顺序层序遍历就是一层一层从左到右开始遍历,如下图,结果为:1--2--3--5--6--7三、思路(迭代法)..

2022-05-14 16:44:44 3496

原创 二叉树后序遍历(迭代+递归)-java

目录一、题目二、后序遍历讲解三、递归实现后序遍历1、递归思路2、代码实现四、迭代实现后序遍历1、迭代思路2、代码实现五、欢迎访问我的java二叉树专栏一、题目1、链接:力扣2、内容:给你一棵二叉树的根节点root,返回其节点值的后序遍历。示例 1:输入:root = [1,null,2,3]输出:[3,2,1]二、后序遍历讲解(1)后序遍历下图二叉树,结果:5--2--6--3--1(2......

2022-05-14 15:28:00 763 4

原创 二叉树中序遍历(递归+迭代)——java

目录一、题目二、中序遍历讲解三、中序遍历递归法实现1、递归思路2、代码实现四、中序遍历迭代法实现1、迭代思路2、代码实现五、欢迎访问我的java二叉树专栏一、题目1、题目链接:二叉树的中序遍历 - 力扣 (LeetCode)2、给定一个二叉树的根节点root,返回它的中序遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]二、中序遍历讲解1、中序遍历结果:5--2--......

2022-05-14 14:33:02 1082

原创 二叉树先序遍历(递归+迭代)——java

1、递归实现讲解:(1)确定递归放回值以及参数:根据题目需要返回遍历的节点,所以需要List集合存储节点的值,同时需要将二叉树头节点传入;​(2)确定递归终止条件:遍历二叉树节点为空,表明已经无节点,直接return(3)确定递归逻辑:递归顺序为中,左,右,递归开始时,先将根节点添加List集合,然后遍历左子树,最后遍历右子树。​...

2022-05-14 13:41:09 1406 2

原创 SpringCloud——GateWay网关(详解+案例)

目录一、相关概念1、网关概念2、网关作用3、网关架构图4、网关三大核心二、案例1、案例说明2、搭建GateWay网关9527服务(1)创建maven工程(2)导入依赖(3)配置application.yml文件(4)创建主启动类3、搭建服务提供者Provider9001(1)创建maven工程(2)导入依赖(3)配置application.yml文件(4)创建主启动类(5)创建controller4、搭建Eureka7.....

2022-05-14 10:48:25 6979 2

原创 SpringCloud——Hystrix详解

目录一、Hystrix介绍1、分布式系统面临问题2、Hystrix概念3、Hystrix作用(1)服务降级(2)服务熔断二、服务降级案例1、搭建Eureka服务端(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建主启动类(5)启动Eureka注册中心2、搭建服务提供者Provider80(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建启动类(5)创建con

2022-05-02 19:28:15 13560 9

原创 SpringCloud——OpenFeign详解

目录一、OpenFeign介绍1、概念2、作用3、架构图二、OpenFeign案例1、案例说明2、搭建Eureka服务端(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建主启动类(5)启动Eureka注册中心3、搭建服务提供者Provider80(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建启动类(5)创建controller......

2022-05-02 15:15:30 7736

原创 SpringCloud——Ribbon详解+例子

目录1、Ribbon(1)概念(2)作用(3)架构图2、Ribbon案例说明3、搭建Eureka服务端(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建主启动类(5)启动Eureka注册中心3、搭建服务提供者Provider8003(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建启动类(5)创建controller4、搭建服务提供者Provider....

2022-05-02 13:32:52 1630 5

原创 springCLoud——Eureka详解+例子

目录1、Eureka基础知识(1)服务治理(2)服务注册(3)Eureka Server(4)Eureka Client2、搭建Eureka服务端(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建主启动类(5)启动Eureka注册中心3、搭建服务提供者(1)创建maven工程(2)导入依赖(3)配置application.yml(4)创建启动类(5)创建controller(6)测试该服务...

2022-04-30 19:31:40 1549 2

原创 springCloud入门案例(详细)-服务调用

目录1、案例说明2、创建数据库3、服务提供者搭建:(1)创建普通maven工程(2)引入相关依赖(3)配置application.yml文件(4)创建主启动类(5)创建实体类(6)创建dao层(7)创建service层(8)创建controller层4、服务消费者(1)创建maven工程,同上。(2)导入依赖(3)配置application.yml(4)创建主启动类(5)创建实体类(6)创建配置类(7)创建controller

2022-04-30 16:07:33 1960

原创 SpringCloud相关概念——面试高频(图解+例子)

目录1、微服务2、分布式3、集群4、分布式于集群关系5、软件架构演变(1)单一应用架构(2)垂直应用架构(3) 分布式服务架构(4)流动计算架构6、RPC7、高并发(1)概念(2)衡量指标8、高可用(1)概念(2)主—备方式(3)双主机方式9、注册中心10、负载均衡(1)概念(2)策略11、服务雪崩12、熔断13、限流14、网关15、服务跟踪16、弹性云1、微服务微服务是将当个应用程...

2022-04-30 13:59:17 339

原创 ElasticSearch相关概念

1、ElasticSearch:es是面向文档型数据库,一条数据就是一个文档,es可以看作是数据库,用json格式作为数据格式,如下图一条数据。es相当于一个数据库,只是数据格式和功能与数据库不一样。2、elasticSearch核心概念①索引index:文档存储位置,类似于mysql数据库中数据库的概念。②字段Field:数据表中的字段,即JSON键值对中key值,如下图:③映射mapping:映射是对文档中每个字段类型进行定义,创建索引时可以不需要进行映射,当为我们添加数据时

2022-04-23 16:16:35 4789

原创 ElasticSearch简介

目录1、ElasticSearch概念:2、全文检索:①数据分类:②全文检索概念:3、全文检索实现过程:①全文检索流程图:②创建索引:③创建文档对象:④文档分析:⑤创建索引:⑥查询索引⑦用户查询接口⑧创建查询对象⑨执行查询⑩渲染结果4、ElasticSearch和MySQL区别①响应时间②分词③相关性1、ElasticSearch概念:ElasticSearch简称es,es是一个开源的高扩展的分布式全文检索引擎,通过创

2022-04-23 15:34:55 2530

原创 Docker——Nginx和Redis应用部署

一、Nginx部署:1、拉取Nginx镜像docker pull nginx2、创建nginx容器docker run -di --name=自定义容器名字 -p linux端口:ndinx容器端口 nginx镜像用linux85端口映射nginx容器80端口docker run -di --name=nginx85 -p 85:80 nginx3、测试,一定要先关闭linux防火墙关闭防火墙(linux开机后会重新启动)systemctl stop fire

2022-04-23 11:58:42 4030 1

原创 Docker——Tomcat部署

1、Tomcat部署原理:客户端无法直接访问Tomcat容器的8080端口,通过将linux上9000端口与Tomcat容器中的8080端口进行映射,客户端访问9000端口,从而间接访问Tomcat容器8080端口,如下图:2、Tomcat部署具体实现:(1)拉取Tomcat镜像:docker pull tomcat:7-jre7(2)创建容器:docker run -di --name=容器名称 -p 宿主机端口:容器端口-v 宿主机目录:容器目录 镜像名称宿.

2022-04-16 16:02:34 986

原创 Docker——MySQL部署

1、MySQL部署原理:用户无法直接访问容器中的MySQL的3306端口,但是用户可以访问容器宿主机的33306端口,通过宿主机与容器端口映射,间接访问MySQL容器中的3306端口,如下图:2、MySQL部署实现:(1)拉取mysql镜像:docker pull centos/mysql-57-centos7(2)创建容器:-p:代表端口映射;-e:代表添加环境变量,MYSQL_ROOT_PASSWORD 是root用户远程登陆密码。......

2022-04-16 15:36:25 969

原创 Docker常用命令

目录1、镜像相关命令:①查看镜像:②搜索镜像:③拉取镜像:2、容器相关命令:①查看容器②docker容器创建与启动③容器停止与启动④文件拷贝⑤目录挂载⑥查看容器ip地址⑦删除容器1、镜像相关命令:①查看镜像:REPOSITORY:镜像名称;TAG:镜像标签;IMIAGE ID:镜像id;CREATED:镜像创建日期(不是获取镜像日期);SIZE:镜像大小这些镜像都是存储在Docker的 /var/lib/docker 目

2022-04-16 15:10:31 701

原创 Docker简介以及安装

目录1、虚拟化:2、docker概念:3、docker优点:4.docker组件:5、docker安装(以centos7为例)6、docker基本命令:1、虚拟化:通过虚拟化技术将一台计算机分为多个逻辑计算机,每个逻辑计算机可以运行不同操作系统,并且应用程序可以在独立空间运行,互不干扰。2、docker概念:docker可以让开发者打包应用以及该应用所对应的依赖包到一个轻量级。可移植的容器中,可以发布到任何流行到linux机器上,从而解决“开发环境可以运行,而生.

2022-04-16 14:00:38 833

空空如也

空空如也

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

TA关注的人

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