自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 源码角度--理解ArrayList扩容机制

源码的分析://调试入口public class ArrayListTest { public static void main(String[] args) { List<String> stringList = new ArrayList<>(); stringList.add("a"); stringList.add("b"); }}ArrayList的属性: private static fina

2022-05-30 23:15:49 288 1

原创 Spring事务传播机制--包含用例解释

Spring事务传播机制一、何为Spring传播机制:Spring事务的传播机制就是,事务如何在方法的调用如何传播。二、使用传播机制的时候的关键点:使用声明式的事务时,调用方法和被调用方法不能在同一个类。比如同在一个service方法中,这样是不会生效的。Spring的事务分为编程式和声明式的注解,我们一般使用声明方式的注解,利用@Transactional注解标记需要使用事务的类,Spring会利用AOP为我们在方法执行前启动事务,接受后提交和关闭事务。而AOP是基于动态代理的实现,生成代理对

2022-05-20 14:03:47 5170 5

原创 Spring Could系列(四):微服务网关--Spring Could Gateway

Spring Could新一代网关—Spring Cloud Gateway一、Gateway的概述依据官网说法:Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到 ApI,并提供交叉切割问题,例如:安全性、监控/指标和弹性。简单理解其实它是,我们访问微服务的一个道大门,负责处理一些路由,类似于医院大厅的质询台,指引我们具体的科室,当然也可以判断改路由是否符合断言,是否允许通过,其实也是保安加咨询。可以看微服务的架构图,了解它扮演的角色:二、Gateway的功能(特点)

2021-03-30 17:49:53 419

原创 Spring Could系列(三)Rest风格访问——OpenFeign

Spring Could OpenFeign一、OpenFeign的概述OpenFeign是Spring Could基于Feign发明的。OpenFeign是一个声明式的Rest风格的网络访问客户端,它具有可插入式注释支持,包括feign注释和 JAX-RS 注释。 OpenFeign还支持可插入式编码器和解码器。春云增加了对Spring MVC 注释的支持,以及默认在Spring Web 中使用相同内容的支持。春云集成了eureka、Spring Could断路器以及Spring Could负载平衡器

2021-03-29 13:00:22 771

原创 Spring Could系列(二)服务与注册中心--Eureka

Spring Could服务注册和发现中心—eureka一、eureka概述1.eureka是什么eureka是实现Spring Could关于微服务的服务注册和发现功能的一个实现。是Netflix(网飞公司)的一个技术,Spring Could将eureka整合进了Spring框架,使其可以通过声明式(注解)实现一些功能。2.服务注册和发现微服务架构图:微服务中,我们的架构已经不再向以前的单体模式一样,所有的功能和代码都集中在一个Spring Boot Apps中,这显然会带来很多问题,比如

2021-03-26 00:37:57 215 1

原创 Spring Could系列(一):Spring Could的初步了解

Spring Could系列一:Spring Could的初步了解一、Spring Could的概述Spring Cloud 为开发人员提供了工具,可以快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器、智能路由、微型代理、控制总线、一次性令牌、全球锁定、领导力选择、分布式会话、集群状态)。分布式系统的协调会导致锅炉板模式,使用Spring Cloud开发人员可以快速支持实现这些模式的服务和应用程序。它们将在任何分布式环境中运作良好,包括开发人员自己的笔记本电脑、裸机数据中心以及云铸造厂

2021-03-26 00:36:25 521 2

原创 CSS盒子模型-水平布局

盒子模型-水平布局盒子模型中的子元素在水平方向的布局由以下属性决定-border-left-margin-left-padding-left-width-border-right-padding-right-margin-left并且以上属性的值必须满足以下等式: 上述所有属性值的和 === 父容器的宽度如不满足,则称之为过度约束, 此时,如果其他值不为auto, 浏览器自动设置margin-right的值满足该等式当然这里要明白,这些值的默认值,也就是没有设置的时候,他们的初始值:

2021-03-17 00:23:43 929

原创 屡试不爽的lambda表达式

屡试不爽的lambda表达式一、lambda表达式的概述lambda表达式时java8中新增的内容,也时语法糖,它和stream流,接口中的default等都是Java8的新特性,虽然Java都已经有14版本了,但是Java依旧是开发式的主流,所以非常有必要去了解并熟练使用Java的新特性——lambda表达式。但是要想明白lambda表达式先要了解函数式接口。二、Java的函数式接口其实函数式编程,是想python等语言才有的,这种编程模式,让我们的代码更加的简洁明了,但是也要满足相应的约定,就像

2021-03-16 01:25:45 216

原创 过滤器,拦截器,AOP之间比较

过滤器,拦截器,AOP之间比较一、过滤器(Filter)1.Filter的概述package javax.servlet;import java.io.IOException;public interface Filter { default void init(FilterConfig filterConfig) throws ServletException { } void doFilter(ServletRequest var1, ServletRespons

2021-03-08 00:02:35 1151 4

原创 集合知识(一):集合的整体认识

集合知识(一):集合的整体认识1.集合的简单介绍集合:简而言之就是一种存储数据的容器,包括集合的接口,实现类,以及算法。接口:规定了整个集合的顶层框架,常用的API的规范,相当于给整个集合制定了标准,实现了接口的,都可以看作集合,这也是Java多态思想的体现。实现类:就是对接口中的方法的具体的实现,相当于根据接口制定的标准的具体实现。算法:算法存在于实现类中,是对接口中规定的ApI的实现过程,这里是集合的精髓,也是集合强大的原因,这些算法方便了我们的程序开发。2.集合的体系原则简而言之,集合的

2021-03-05 23:49:44 466

原创 保姆级!Git分支合并及解决冲突

Git 合并分支及解决冲突一、Git的工作流:1.工作流大概介绍:Git作为一个可以协同团队开发代码的工具,我们要使用它,明白它的工作流程很重要。图中的每一个圆点都可以看作是一个版本,Git有指针指向相应的版本,如HEAD指针指向当前所在版本,每一次的git commit 都代表了一个新的版本的诞生,这是HEAD指针也就移动了。其中我们需要协同开发,那最起码我们要做到两个团队相对独立,但是最终又能何为一体。所以这里就有了一个分支的概念,分支抽象的可以理解为,一个河流分为两条道,分开流淌后,然后最终

2020-11-20 22:21:19 1253

原创 震惊!!!如此bug竟然让我找了半个下午

记bug一个bug出现场景:当再利用maven使用mybatis的时候,一切配置都准备好,要启动项目的时候,突然报错:Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The error may exist in com/kyg/mapper/xml/OrderMapper.xml### Cause: org.apache.

2020-11-09 21:29:03 118

原创 【每日LeetCode】:买卖股票的最佳时机II

买卖股票的最佳时机II题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。提示:1 <= prices.length <= 3 * 10 ^ 40 <= prices[i] <= 10 ^ 4实例:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时

2020-11-09 09:49:51 103

原创 【每日LeetCode】:寻找两个正序数组的中位数

【每日LeetCode】:寻找两个正序数组的中位数题目描述:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。实例:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2我的解题思路:首先注意到,给定的两个数值是有序的。我们知道,中位数是处于有序数字中间的数字,可能是一个数,也可能是两个数的算数平均数。所以最直接的方法有两步:将两个有序数组合并成一

2020-11-08 00:20:51 179

原创 Mybatis Plus初级

Mybatis Plus初级一、Mybatis plus环境搭建创建数据库表:-- ------------------------------ Table structure for user-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` bigint(20) NOT NULL, `NAME` varchar(32) CHARACTER SET utf8 CO

2020-05-24 10:44:22 1445 2

原创 Swagger入门

Swagger入门一、what is Swagger?用自己的话来说,swagger就是一款生成,描述,展示Restful风格接口的框架。对于现如今web开发大量使用前后端分离的开发方式的大环境下,swagger(丝袜哥)无疑是一个神器。二、How use Swagger?使用swagger主要分为三步:引入swagger的依赖(可以到maven中央仓库找到,也可以到官网)swagger的配置(对于spring boot来说,就是建立swagger的相关的配置类)使用swagger提供相关的

2020-05-23 17:34:03 247

原创 Mybatis的映射文件的配置

Mybatis映射文件的配置一、映射文件mapper.xml的主要配置元素select:查询语句,最常用,最复杂的语句之一insert:插入语句update:更新语句delete:删除语句sql:定义sql语句的一部分,尽量是可以复用的那部分resultMap:用来描述从数据库集中加载对象,提供映射规则二、主要元素的描述1 、select它是用于映射sql语句中的selec...

2019-12-24 17:22:44 758

原创 Mybatis的XML配置

Spring Mybatis的XML配置一、配置文件的顶层结构上述这些结构中,有六中最常用的,一般都会写进配置文件中,下面详细讲解二、常用的六种1.properties(属性)这里面的包含的属性都是可动态替换的属性,可以让很多属性不必写死,可以灵活替换。替换方式大概有两种:通过properties的子属性配置和外部文件的配置。下面以替换书籍库的连接的相关属性演示:propertie...

2019-12-22 23:48:04 177

原创 Mybatis入门程序的详细教程

Mybatis入门程序一、资源的准备1、mybatis的jar包通过访问mybatis的官网下载相关的jar包。mybatis官网2、mysql连接的jar包可以根据自己的版本导入合适的jar包二、创建项目1、创建普通的java项目,导入好准备好的jar包项目的目录结构如下:2、数据库的创建表(这里直接用图形化界面建立表)三、编写代码1、创建实体类(由于没用用到Hash...

2019-12-22 00:33:24 1445

原创 Spring学习笔记第一天

什么是Sping?

2019-11-13 22:52:28 171

空空如也

空空如也

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

TA关注的人

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