自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 工厂模式

一.工厂模式简介工厂模式属于23种设计模式之一,属于创建性设计模式。在许多优秀的框架的源码中都有过应用。工厂模式可以分为三大类:简单工厂模式、工厂方法模式、抽象工厂模式二.简单工厂模式定义:指由一个工厂对象决定创建出哪一种产品类的实例。简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心。我们举一个例子:华为公司是一家大型企业,...

2020-03-18 01:23:20 375

原创 ClassNotFoundException:ch/qos/logback/core/util/OptionHelper

记录一次SpringBoot项目用war包部署到tomcat中的报错:ClassNotFoundException:ch/qos/logback/core/util/OptionHelper这种错一般都是由于jar包冲突和jar包丢失引起的一开始我以为是由于logback-classic和logback-core两个jar包版本不一致引起的,但是在我本地检查是一样的。然后我跑去部署环境...

2020-01-14 14:01:20 3087

原创 【vue学习】—前端模块化

1. 为什么需要模块化1.1 早期js开发的痛点在网页开发的早期,js制作作为一种脚本语言,做一些简单的表单验证或动画实现等,那个时候代码还是很少的。那个时候的代码是怎么写的呢?直接将代码写在1.2 使用模块作为出口我们可以将需要暴露到外面的变量,使用一个模块作为出口,什么意思呢?在匿名函数内部定义一个对象给这个对象添加各种需要暴露到外面的属性和方法最后将这个对象返回,在...

2020-01-12 15:38:54 429

原创 【vue学习】—slot插槽的使用

1 编译的作用域在学习插槽slot之前,我们先理解一个概念,编译的作用域。下面我们通过一个例子来说明:我们定义一个组件,在组件里定义一个属性:isShow,对应的值为false,然后在Vue实例中也定义一个这样的属性,属性的值为true:<my-cpn v-show="isShow"></my-cpn>最后我们看这行代码里面的内容能不能被渲染出来,代码如下:&l...

2020-01-11 18:53:15 276

原创 【vue学习】—组件化开发

1. 什么是组件化人在面对复杂问题的时候,习惯将复杂的问题按照一定的规律和逻辑拆成一个个小的问题来慢慢解决,当所有小的问题解决了,那么原本那个大的复杂问题也迎刃而解了。组件化也有类似的思想:如果我们将一个页面的所有逻辑全部放在一起处理,那么处理起来将会变得比较复杂,而且也不利于后期的维护和扩展。但是,如果我们将一整个页面拆解成一个个小的功能块,每个功能块完成属于自己那部分独立的功能,那么之后整...

2020-01-10 02:07:38 200

原创 【vue学习】—表单绑定(v-model)

1. 基本概念表单控件在实际开发中是非常常见的。特别是对于用户信息的提交,需要大量的表单。Vue中使用v-model指令来实现表单元素和数据的双向绑定。<div id="app"> 输入:<input type="text" v-model="msg"> <h2>{{msg}}</h2> </div> &l...

2020-01-09 01:04:53 280

原创 【vue学习】—条件判断、循环遍历

1. 条件判断1.1 v-if/v-else-if/v-else上面这三个指令与js中的条件语句if、else 、else if 用法类似Vue的条件指令可以根据表达式的值在DOM中渲染或者销毁元素或者组件简单的案例演示: <div id="app"> <h2 v-if="score>=90">优秀</h2> <h2 v-e...

2020-01-08 23:19:48 1489

原创 【vue学习】— 事件监听

1. 事件监听在前端开发中,我们经常需要监听浏览器的时间,例如点击、拖拽、键盘等操作。那么在vue中是如何监听事件的呢?那就是使用v-on指令1.1 介绍作用:绑定事件监听器缩写:@预期:Function | Inline Statement | Object参数:event1.2 简单使用我们可以在事件中写表达式也可以将事件指向一个在methods中定义的函数 &lt...

2020-01-08 00:52:30 1094

原创 【vue学习】—基础语法(插值操作、属性绑定、计算属性)

1. 插值操作1.1 mustache语法mustache语法,简单来说就是{{}}语法,并且数据是响应式的<div id="app"> //mustache语法 <h2>{{message}}</h2> </div> <script src="../js/vue.js"></script>...

2020-01-07 00:19:27 1033

原创 【vue学习】—axios

1. 简介1.1 什么是axiosaxios是一个基于Promise的Http库,可以用在node.js环境和浏览器中1.2 功能特点在浏览器中发送XMLHttpRequests在node.js中发送Http请求支持Promise拦截请求和响应转换请求数据和响应数据取消请求自动转换json数据客户端支持防御XSRF1.3 安装这里就简单的介绍一种安装方式:npm安装...

2020-01-06 02:13:50 97

原创 【Docker-2】Docker组成和原理

1. Docker理念Docker是基于Go语言开发的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。Linux 容器技术的出现就解决了这样一个问题,而 Docker 就...

2019-11-04 02:04:55 190

原创 【Docker】centos7安装/卸载docker并配置镜像加速

在cenos上安装docker,建议在centos7版本上安装docker,不建议在centos7以下的版本安装。并且docker运行在centos7上时,要求系统为64位,系统内核版本为2.6.32及以上,可以使用 **uname -a **命令查看。uname -a Linux localhost 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:3...

2019-11-02 01:18:49 183

原创 分割tomcat下catalina.out文件

我们在部署应用到tomcat中时,会经常查看tomcat下日志信息。而我们最常看的日志文件就是tomcat下logs中的catalina.out文件中的信息了。但是随着时间的积累,catalina.out文件会越来越大,所以,对该文件的有效切割就是有必要的了。下面简单介绍一下使用cronolog对catalina,out 文件进行切分的步骤:首先下载并安装cronolog#下载gz包...

2019-08-30 16:00:49 569

转载 B+树算法在mysql中能存多少行数据?

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-27 02:55:34 227

转载 B+tree结构详解

B+Tree的定义B+Tree是B树的变种,有着比B树更高的查询性能,来看下m阶B+Tree特征:1、有m个子树的节点包含有m个元素(B-Tree中是m-1)2、根节点和分支节点中不保存数据,只用于索引,所有数据都保存在叶子节点中。3、所有分支节点和根节点都同时存在于子节点中,在子节点元素中是最大或者最小的元素。4、叶子节点会包含所有的关键字,以及指向数据记录的指针,并且叶子节...

2019-08-27 02:18:06 1711

转载 深入理解Mysql索引底层数据结构与算法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-27 01:41:35 110

原创 【每日一算】两数之和

给定一个整数数组nums 和一个目标值 target ,请在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。假设每种输入只会对应一种答案。但是,你不能重复利用这个数组中同样的元素。示例:给定:nums = [2,7,11,15] , target = 17返回:[0,3]解题思路:我们可以在遍历的过程中将元素放入hash表中,并且在每次放入hash 表之前,比较目标值与当前...

2019-08-25 23:59:31 110

原创 【每日一算】旋转有序数组

在旋转有序数组中找出给定的一个整数,并返回该整数在数组中的下标?//常规有序数组int[] arr1 = {1,2,3,4,5}//旋转有序数组int[] arr2 = {50,60,70,80,20,30,40} 解题思路:假设最左边下标用left标识,最右边下标有right标识,中间整数下标用mid标识;每次判断下标mid对应的整数值是否大于下标left对应整数值,如果大于,...

2019-08-23 12:25:57 272

原创 【每日一算】二分查找

给定一个整形有序数组,如何找出某一整数是否在数组中,以及该整数在数组中对应的下标?例如:int[] arr = {1,4,6,11,23}int target = 11找出target在arr中对应位置的下标结果是:index = 3这是一个典型的二分查找问题,代码如下:public class Solution_1 { private static int findTa...

2019-08-23 11:06:09 113

原创 docker使用-v命令挂载宿主机目录后,容器内目录操作报错Permission denied

在使用docker的-v 命令来挂载宿主机的目录时,发现在容器里操作挂载目录报:Permission denied 现象: ~~~docker run -it -v /myhostData:/mycontainerData centos /bin/bash 进入容器内挂载的目录 cd /mycontainerData 在该目录下创建文件 touch container.t...

2019-08-16 14:35:45 1738

原创 SpringBoot(7)—日志框架

当我们在进行web开发时,经常会用到各种各样的框架,常见的有spring、mybatis、hibernate等等,每个框架底层都有着自己的日志实现,那么难道我们在进行开发时,还需要在使用不同框架的时候使用其对应的API嘛?这将会大大增加我们的开发成本。还有如果我们在后期对项目进行二次开发时,如果要换日志框架,难道还得需要把原本的日志API全部替换掉吗?此时我们在想,如果每个日志框架能像我们平时开...

2019-07-20 15:18:57 199

原创 SpringBoot(6)— Profile

SpringBoot版本:2.1.1.RELEASEProfile是Spring对不同环境提供不同配置的支持,可以通过激活、指定参数等方式快速切换环境。一、多Profile文件我们在编写主配置文件的时候,可以是application-{profile}.yml/properties 的格式,如果不指定环境,默认是加载application.properties/yml 中的配置文件。a...

2019-07-19 01:11:58 118

原创 SpringBoot(5)—配置文件

SpringBoot版本为:2.1.1.RELEASESpringBoot默认使用全局的一个配置文件,文件名称固定,格式有两种:application.propertiesapplication.yml官方推荐使用yml类型的配置文件。YAML这种语言是以数据为中心,比xml、json更加适用于做配置文件。下面详细说明YAML语法。YAML语法基本语法K:(空格)V:表示一对...

2019-07-18 00:47:42 162

原创 SpringBoot(4)—自动配置原理

SpringBoot版本:2.1.1.RELEASE在SpringBoot应用启动时,会加载大量的默认配置,从而简化了我们的开发成本。那么,SpringBoot是如何实现自动配置的呢?在SpringBoot应用的启动类上,我们可以看到 @SpringBootApplication注解,这个注解是一个组合注解,它不仅能标记这个应用是一个SpringBoot应用,更重要的是它能开启自动配置的功...

2019-06-13 01:29:12 269

原创 SpringBoot(3)— 事件监听机制

SpringBoot版本:2.1.1.RELEASE在SpringApplication对象创建和run()方法的运行过程中,我们可以发现有几个重要的事件回调机制,分别是:ApplicationContextInitializerSpringApplicationRunListenerApplicationRunnerCommandLineRunner...

2019-06-05 01:08:59 494 1

原创 SpringBoot(2)—启动原理之run方法的运行

SpringBoot版本为:2.1.1.RELEASE在上一篇文章中,我们讲到了SpringApplication对象的创建,接下来将会分析SpringApplication创建之后run()方法的执行。通过debug的方式,我们可以进入run方法,源代码如下:...

2019-05-28 01:51:21 8621

原创 SpringBoot(1)—启动原理之SpringApplication对象的创建

创建SpringApplication对象运行run方法事件监听机制

2019-05-22 23:31:50 714 1

空空如也

空空如也

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

TA关注的人

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