自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot的自动配置原理

可以看到,springboot自动装配的核心原理就是通过注解在spring容器启动时,加载了META-INF/spring.factorie的文件,文件中标明了需要装配类的全限定名,在每个XXXXAutoConfiguration中还利用@Conditional相关的注解,按需开启配置项。

2022-12-09 15:50:38 648 2

转载 什么是分区容错性?

这个回答我觉得一个知乎上的老哥说的特别好,我把他的话引用过来。原回答地址:https://www.zhihu.com/question/54105974一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。提高分区容忍性的办法就是一个数据项复制到多个节点.

2020-07-21 10:19:45 22105 21

原创 Redis集群搭建

一、环境检查安装ruby环境: yum install ruby 安装Redis: gem install redis 这里如果报错,可以参考:https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/rubyInstall.html 二、集群搭建cd /software/ 新建目录: mkdir redis-cluster 创建两个目录:mkdir b...

2020-03-29 13:37:37 225

原创 阿里云的CentOS7下安装tomcat并部署应用踩过的坑。

一、场景给Linux上安装tomcat并部署自己的应用。二、步骤前置条件,我们需要安装好JDK。可以自行百度步骤,比较简单不做介绍。先给Linux上安装Tomcat。 准备Tomcat的tar包。 https://tomcat.apache.org/download-70.cgi 把tar包传到服务器上。 这块可以用scp命令。格式:scp tar包的地址 服务器用...

2020-01-08 22:50:56 721

原创 关于SpringBean的生命周期

提到生命周期,无外乎两个方法:1.init();2.destroy();在SpringBean的生命周期中也是这两个方法。原来在配置文件中配置一个bean的时候有init-method和destroy-method两个属性配置bean的生命周期。现在用注解配置也是一样的道理。只要我们记得初始化的销毁这两个关键方法。方法一、注解版init-method/destroy-metho...

2019-10-08 14:16:04 234

原创 LeetCode11. 盛最多水的容器

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水...

2019-09-16 17:45:53 222

原创 关于MySQL遇到的一个小问题引发的思考?

一、问题的引出今天早上在看一个关于SQL的面试题目中问到了这样一个问题:1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名原文中博主的表结构是:name course grade张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英语 90博主给出的SQL是:select nam...

2019-08-01 17:24:18 320 1

原创 关于分布式锁的一点入门

一、前言由于有面试的同学,所以写一点面试时总问的分布式锁。就简短的分析一下,希望面试时问到这一块不至于一无所知。二、理论问题的引出:由于现在的分布式乃至微服务的兴起,很多的服务都部署在多台机器。JVM已经不在一台机器上运行了,所以如何保证分布式环境下锁的使用成为分布式系统不得不考虑的问题之一。当下较为成熟的方式有Redis/ZK的解决方案。今天我们逐个来分析。Redis...

2019-07-11 16:07:56 132

原创 关于SpringBoot使用FreeMarker的入门案例

一、前言项目内最近在使用freemarker,简单看了一下很快就可以上手入门。其实我之前使用的大部分都是jsp。想要转换的话其实很容易,只要你认识HTML的标签就好。别的大家都是一样的。二、代码示例首先我们的步骤就是1.导入WEB的包和FreeMarker的包,boot都帮我们整合成starter了直接引入:<dependency> <groupId&gt...

2019-07-09 10:49:07 1766 1

原创 关于对doCreateBean方法下的的createBeanInstance方法的分析

一、前言最近在看Spring的相关源码,这次来分析一下createBeanInstance()方法。在getBean()的时候调用了doGetBean(),而doGetBean()内最为核心的就是doCreateBean()方法,在doCreateBean()方法下又有很多步骤而其中bean真正被创建的时机就在createBeanInstance()方法内。故此我们今天来分析一下这个方法。算是...

2019-07-08 11:35:38 879

原创 关于SpringBean的创建方式

目录一、前置二、实例一、前置最近看了一下Spring的doCreateBean方法的实现,里面提到Spring会利用策略查看是否是工厂方法的bean,是则利用工厂直接构建。反之再选择对应参数的构造。于是乎复习了一下SpringBean的构建方法,分为:1.构造构建2.工厂构建3.静态工厂构建二、实例我们通过XML的方式来配置bean。<?xml ...

2019-07-05 11:13:40 407

原创 Docker入门案例

一、安装关于Docker的安装由于博主使用的是Mac,若有Windows的小伙伴可以参考:https://www.cnblogs.com/5bug/p/8506085.html1.mac下的安装可以直接在终端输入命令:brew cask install docker即可,过程中可能需要Mac的密码输入即可。2.安装好后打开时需要登录到Docker。我们需要在Docker上注册...

2019-07-01 16:02:55 950

原创 Quartz的HelloWorld案例。

一、说在之前刚才突然想起了Quartz,想快速使用起来。找了半天HelloWorld的demo奈何都没有一个能称之为helloWord。介绍一堆没用的。。。废话不多说。直接上代码。拿去就能用。二、code1)引入依赖 <dependency> <groupId>org.quartz-scheduler</groupId&gt...

2019-06-27 17:28:32 181

原创 设计模式之状态设计模式

一、状态确立万事万物都有状态,这个模式强调的就是对状态的把控,可以很轻松的在各个状态之间来回切换。那我们先明确一下状态模式的定义:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。简单理解就是在内部操控状态(调起了别的方法)但是外部对此感知好像是修改了它的类一般。再拿类图来理解一下:图中的三个角色:Context:环境角色由它负责状态的切换;...

2019-06-27 15:30:28 226

原创 设计模式之命令设计模式

一、命令模式的引入。先来看一下命令模式的类图乍一看好像类很多,其实我们逐个分析他们。类图中存在的类可以分为:Invoker、ICommand、ConcereteCommand、ReceiverInvoker类 上层直接调取Invoker类ICommand 是对命令的抽象ConcereteCommand 是命令的具体实现 我们有多少个命令就有多少个具体的实现但是这个实现也...

2019-06-26 15:45:54 330 1

原创 设计模式之适配器模式

一、认识适配器我第一时间想起来的就是充电器的适配器。有时候我们用Apple手机发现家中只有Android的充电器,真令人头疼。如果有一个转换头那就好办了。哈哈,这就是适配器模式。那我们先上类图分析一下吧。类图中有三个角色我们来分析一哈:1.Target 目标类 就是我们想转换成的目标2.Adaptee 被适配器类 就是我们的源目标3.Adapter 适配器类 就是我们中...

2019-06-26 11:23:06 161

原创 设计模式之桥梁设计模式

一、认识我们先拿类图分析一下他的主要类:在类图中出现了四个角色:1.Abstraction 抽象化类2.RefinedAbstraction 修正抽象化类3.Implementation 实现化类4.RealImplementation 具体实现化类二、理解看过一篇文章里面提到了一个例子比较形象,拿来帮助理解。毛笔和蜡笔,我们有三个型号的笔头和五种颜色,那么...

2019-06-25 16:49:00 286

原创 Spring篇之Bean的加载(上)

一、开山篇这个系列将会作为我阅读Spring相关书籍后的一些整理和学习到的内容所做一些分享,可能会有不对的地方。欢迎指正。声明,我所导入的是Spring5.1.5版本。二、从Bean的加载开始BeanFactory bf = new XmlBeanFactory(new ClassPathResource("/*.xml"));我们围绕这句代码展开。1.对Resource接...

2019-06-23 22:29:39 289

原创 设计模式之策略设计模式

一、认识策略还记得静态代理吗?以下是策略的类图仔细看一下他们的区别吧,没错我们的代理模式要求代理类和被代理类实现同一个接口,在策略模式中封装角色并不是我们策略的子类。先总结一下策略的核心类:1.策略类 2.策略的具体实现类 3.封装角色二、代码分析我们就用常举例的,封装一套简易计算器的策略帮大家理解。/** * 抽象策略 * @author liyic...

2019-06-21 15:35:43 236

原创 笔试题--阿里巴巴往年秋招

一、写在前面 在牛客上作答了阿里的一些秋招题,现来分享一部分简单的题目。若有不足欢迎指正。二、秋招试题1.有个特殊的餐厅,对客人的要求是如果要离开餐厅一定要看下餐厅内有没有比你迟进来的人,一定要所有比你迟进来的人离开后你才能离开,有一天甲,乙,丙,丁四个客人先后进入了这家餐厅,那么他们离开的顺序不可能是:A:丙,乙,甲,丁B:甲,乙,丙,丁C:乙,甲,丙,丁D:丁,丙...

2019-06-21 11:17:20 1517

原创 设计模式之观察者设计模式

一、观察者与被观察者 这个模式很好理解,又被称之为发布订阅。没错其实很多的中间件都有这个模式,例如Redis、MQ等等。 而在JAVA原生的API中又为我们提供了观察者和被观察者的类。所以我们实现起来就更容易了。先拿类图理解一下 记住四个角色: 1.被观察者(Subject) 2.具体被观察者(ConcreteSubject) 3.观察者(...

2019-06-20 17:31:08 238

原创 设计模式之门面设计模式

一、理清门面 门面模式很简单而且我们就在使用,废话不多说直接上类图。 关注Client类和Facad类还有subsystem即可。 OK,是不是觉得似曾相识,哈哈一会解答。先捋一捋门面的作用,从类图上来看我们外部的Client都需要通过访问Facad类才可以访问到subsystem。 很简单的模式,我不过多做解释了,先码代码。一看就明白了。二、code 一股脑...

2019-06-19 17:39:58 548

原创 排序算法之冒泡排序

一、写在前面的话 今天在地铁上看到有博主分析时间复杂度,提到冒泡排序的时间复杂度是O(n²)。我竟然想起这么多年没有再写过冒泡了,于是乎自己再动手整理一遍算是复习也是新的学习。二、冒泡的思想 冒泡的思想其实就是两两比较,每趟都能确定一个最大/最小的数值在最末尾。那举例来说明,例:我们要将数组int[] a = {7,6,5,4,3,2,1}做正序排序。这是一个比较极端的情...

2019-06-19 11:31:11 218

原创 设计模式之装饰设计模式

一、先认识 装饰模式和代理模式很相似,就是对类的某个某个方法进行装饰、对功能扩展。至于不同点后面再详细解释。 直接看类图,清楚明白几个核心类以及它们的作用。OK,记住核心类:1:Component 就是要装饰类的抽象2:ConcreteComponent 要装饰的类3:Decorator 装饰器 它里面一定有要装饰类所以它和ConcreteComponent是...

2019-06-18 19:00:43 215

原创 设计模式之中介设计模式

一、定义 中介设计模式的初衷就迪米特原则中所期望的,一个类只与自己的朋友类有交流(所谓朋友类就是类中的属性和方法的参数中出现的类)。当一个类与众多类有交流时,就可以考虑使用该设计模式。把自己完成不了的事情交给中介类去完成。 我们只需要记住该设计模式的几个重要对象就可以轻松运用: 1:抽象中介类;2:具体中介类;3:同事类; 明确概念,中介模式出现的意义在于:同事类之间的交集...

2019-06-18 15:31:11 325

原创 设计模式之建造模式

一、写在前面的话 其实我也看过很多博主写的设计模式,多多少少的也都忘记了。 今天终于是我自己来写,希望不会那么晦涩生硬的把我想表述的都表达出来。 但愿这是个不同寻常的系列,愿它对你有所帮助。‘二、先从一个故事入手吧 有一天,女娲捏泥人捏累了。于是乎,她就找了一个包工头,她告诉包工头说:“你帮我找几个也会捏人的神仙吧,让他们帮帮我”。于是包工头答应了,包工头问女娲,”你这...

2019-06-15 01:29:06 287

空空如也

空空如也

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

TA关注的人

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