自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot集成knlife4j

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!到此springboot集成knlife4j完成,需要注意的是在接口中如果没有制定请求方式,直接使用@RequestMapping则会在swagger文档中看到七种请求类型的接口。另外,还可以对接口进行排序.一、Knlife4j介绍。

2023-01-05 00:04:36 368

原创 四种线程池创建方式比较说明

线程池,顾名思义就是若干个线程的集合。在程序中通过使用线程池,减少cpu和内存的使用。节省线程的创建和销毁时间,下面将对线程池进行介绍。举个例子,创建一个核心线程数为10,最大线程数为15的线程池,当一个任务提交,首先会判断当前线程数是否达到核心线程数也就是10,如果达没有达到,将会创建线程来执行任务,如果达到核心线程数,将会判断队列已满,如果未满,则会将任务添加到队列等待执行,如果满了,判断线程池是否已满线程数达到15,如果没满,创建非核心线程来执行任务。如果线程池已满,将会执行拒绝策略。1、拒绝策略

2022-07-12 17:00:01 770

原创 Mysql事务实现原理-Redo日志

mysql中事务涉及到的日志主要有(1)Redo. Log(2)Undo Log(3)Bin Log今天主要介绍Redo Log日志。在Mysql中事务的原子性和持久性是由Redo Log实现的。Redo Log也被叫做是重做日志,是在数据库执行引擎Innodb中产生的日志,用来保证数据库事务的持久性和原子性,进而保证事务要么全部成功,要么回滚。Redo log记录的主要是物理日志,也就是对磁盘上的数据修改的操作,Redo Log用来恢复提交后的物理数据页。Redo Log主要包含两部分,一部分是

2022-06-30 11:04:11 552

原创 Mysql数据库SQL执行流程

一条sql从客户端发起,在mysql中经过了一系列的流程,归结为如下图所示:客户端提交一条sql语句,先在查询缓存中查询,如果缓存没有命中,将会进行查表操作。查表的流程总结过为如下:(1)将sql交给解析器处理,生成一个解析树。(2)预处理器会处理解析器,重新生成一个解析器,这个过程中将会改写sql。(3)改写后的解析器交给查询优化器,查询优化器生成sql的执行计划。(4)执行计划交给执行引擎调用存储引擎的的API接口,查询数据。(5)最终的结果由执行引擎返回给客户端,如果看,开启查询缓存的话

2022-06-28 15:42:25 4083

原创 Mysql数据库SQl优化

(一)为什么要优化优化的目的主要可分为以下四个:1)提高资源利用率;2)避免短板效应;3)提高系统吞吐量;4)同时满足更多用户的在线需求。简单来说,优化的目的是为了提高资源的利用率,让资源充分发挥价值。常见场景下,一台服务器有4大资源:CPU、内存、网络和磁盘,一旦其中某个资源出现问题,整个服务器提供服务的能力就会变差。优化的最终目的是为了同时满足更多用户的在线需求。(二)优化目标MySQL优化目标主要有3个:(1)减少磁盘IO,在数据库中主要是来自于像全表扫描这种扫描大量数据块的场景

2022-06-27 14:58:32 318

原创 Dubbo服务调用实现

本文利用springCloudAlibaba实现dubbo分布式服务的调用。服务通过网关进行访问,注册中心采用阿里开原的nacos。下载地址:https://nacos.io/zh-cn/docs/quick-start.html安装方式有源码安装和jar包安装,我这里选择的是jar包的安装方式。下载下来后,修改application.properties文件中的数据库连接。修改启动脚本中的启动方式为单机启动,如果是windods,修改startup.cmd,如果是linux修改startup.sh

2022-06-14 11:12:05 2140 2

原创 Dubbo分布式架构介绍

Dubbo相比传统的分布式架构框架有很大的区别,Dubbo解决的问题不仅仅是分布式服务调用,提供高性能和透明化的rpc调用框架,以及SOA服务治理方案。Dubbo是一款阿里巴巴开源的分布式服务治理框架,每天为2000+服务提供3000000000+访问支持。1、dubbo服务治理框架dubbo服务治理框架,治理的不仅仅是简单的SOA架构,而是指的是大规模的服务集群治理。综上,dubbo服务治理主要包括乳腺癌几方面的内容:2、dubbo支持的协议(1)Tcp协议(2)Dubbo协议(默认)(3)Rm

2022-06-07 23:55:34 611

原创 springboot处理跨域问题

一、跨域跨域是指浏览器不能执行其他网站的脚本引起的,本质上是因为同源策略造成的。同源策略:指url的协议类型,域名,端口不同产生的跨域。同源策略是浏览器对处理请求的一种安全校验,保证本地数据不会被javascript获取回来的数据污染。浏览器在发送正式请求之前,会发送一个预检请求,验证浏览器是否能跨域,如果能跨域,则进行发送正式请求。二、springboot处理方式@Configurationpublic class DsptCrosConfiguration { @Bean p

2020-12-15 15:08:24 208

原创 vue绑定class的几种方式

vue绑定class的几种方式1.对象语法在对象上绑定class属性,来控制class 的几种状态。<body><div id = "app"> <h1 :class = "{'active': isActive}">hello world!</h1></div><script src = "https://unpkg.com/vue/dist/vue.min.js"></script><scr

2020-08-26 23:51:05 1463

原创 docker安装

docker安装准备环境:1.centos服务器的内核版本必须要高于3.10可用uname -r命令查看2.如果低于3.10可以做升级,使用命令 yum update3.计算机要连上网络,否则无法下载安装包安装命令:yum install docker出现如下的界面安装完成会出现complete。启动docker:systemctl start docker停止docker systemctl docker将docker设置成开机启动项目 systemctl enable

2020-08-10 14:55:12 77

原创 客户端负载均衡 Spring Cloud Ribbon

客户端负载均衡 Spring Cloud RibbonSpring Cloud Ribbon是一个基于客户端负载均衡的工具,是基于Spring Cloud NetFlix 实现的,在远程调用多节点服务,通过客户端进行转换。通过Spring Cloud R巾bon的封装, 我们在微服务架构中使用客户端负载均衡调用非常 简单, 只需要如下两步:• 服务提供者只需要启动多个服务实例并注册到一个注册...

2020-05-07 16:52:26 98

原创 Eureka服务注册与发现笔记(一)

一、Eureka简单说明Eureka是Spring-Cloud-Netflix中的组件,主要是实现微服务的治理功能。包括服务的注册与发现,服务健康检查等。如下图所示是Eureka的服务注册与服务消费的关系。Eureka Server提供服务注册和发现Service Provider提供服务,将自身服务注册到Eureka从而使服务消费方能查找到。Service Consumer服务...

2020-04-24 14:38:25 165 1

原创 浅析微服务架构

一、什么是微服务架构?简单的描述,微服务是系统架构设计方面的一种风格,它的设计精髓是将原本一个独立的系统进行拆分成多个小应用。这些应用都在各自独立的进程中运行,拥有各自执行的cpu资源,互不影响。若一个应用挂了也不影响其他的系统。并且每一个应用都维护着各自的数据存储,业务开发,自动化部署案例和独立的部署机制。二、与传统单体应用的区别1、随着后期业务的拓展和维护,单体应用变得日益臃肿,难以维护...

2020-04-24 10:42:34 196

原创 this关键字说明

this关键字虽简单,但是在面试中经常会问到。对于刚接触java的初学者来说,理解起来有一定的难度。作为java语言的一个小知识点,还是有必要了解一下。

2020-04-16 11:56:20 182

原创 springboot集成mybatis

springboot在集成mybatis的时候也很简单,我们要做的只是引入相关的依赖,然后写相关的业务代码。在整合过程中需要注意的是要在配置文件中添加配置项开启驼峰命名,否则查询数据的时候查询不到用驼峰命名的数据的值。由于我在这里做的是演示例子,所以我创建的表比较的简单,只是单纯的说明springboot整合mybatis的过程而已。下面是详细的整合步骤。一、引入相关的依赖引...

2018-12-16 18:20:40 100

原创 springboot集成jpa

springboot集成jpa其实很简单,我们要做的只需要三步即可完成1.引入依赖(详细见下图)最核心的有三个依赖:jpa,mysql,web依赖。2.配置数据库的连接信息3.编写业务代码(1)为了看到演示效果,我只编写了一个实体类,也就是在数据库只生成一张表。(2)编写dao层其中PagingAndSortingRepository接口中封装了常用的增...

2018-12-15 16:25:03 147

空空如也

空空如也

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

TA关注的人

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