自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木村的博客

bug跟蚊子的相似之处: 1、不知道藏在哪里。 2、不知道有多少。 3、总是在你即将睡觉休息的时候出现。

  • 博客(199)
  • 收藏
  • 关注

原创 GitHub OAuth 第三方登录示例教程

GitHub OAuth 第三方登录示例教程很多网站登录时,允许使用第三方网站的身份,这称为"第三方登录"。下面就以 GitHub 为例,写一个最简单的应用,演示第三方登录。一、第三方登录的原理所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。举例来说,A 网站允许...

2020-01-21 16:13:13 293

原创 OAuth 2.0 的四种方式

OAuth 2.0 的四种方式RFC 6749OAuth 2.0 的标准是 RFC 6749 文件。该文件先解释了 OAuth 是什么。OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。…资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。这段话的意思就是,**OAuth 的核心就是向第三方应用颁发令牌。**然后,RFC 6749 接...

2020-01-21 16:12:45 406

原创 OAuth 2.0 的一个简单解释

OAuth 2.0 的一个简单解释OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据。这个标准比较抽象,使用了很多术语,初学者不容易理解。其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,OAuth 2.0 到底是什么。一、快递员问题我住在一个大型的居民小区。小区有门禁系统。进入的时候需要输入密码。我经常网购和外卖,每天都有快递员来送货...

2020-01-21 16:11:58 238

原创 理解OAuth 2.0

理解OAuth 2.0OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子。有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务...

2020-01-21 16:11:15 345

原创 SpringBoot事务注解详解

SpringBoot事务注解详解@Transactionalspring 事务注解1.简单开启事务管理@EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />2.事务注解详解默认遇到throw new RuntimeException("…");会回滚需要捕获的throw n...

2020-01-17 17:21:13 361

原创 Spring MVC 面试题

Spring MVC 面试题Spring MVCSpring MVC 框架有什么用?Spring Web MVC 框架提供”模型-视图-控制器”( Model-View-Controller )架构和随时可用的组件,用于开发灵活且松散耦合的 Web 应用程序。MVC 模式有助于分离应用程序的不同方面,如输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。介绍下 Spri...

2020-01-17 17:20:44 555

原创 Spring 面试题

Spring 面试题什么是 Spring Framework?Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。它可以集成其他框架,如 Spring MVC、Hibernate、MyBatis 等,所以又称为框架的框架( 粘合剂、脚手架 )。Spri...

2020-01-17 17:20:04 341

原创 面试问烂的 Spring IOC 过程

面试问烂的 Spring IOC 过程1. 广义的 IOCIoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”。两种实现: 依赖查找(DL)和依赖注入(DI)。IOC 和 DI 、DL 的关系(这个 DL,Avalon 和 EJB 就是使用的这种方式实现的 IoC):DL 已经被抛弃,因为他需要用户自己去是使用 API 进行查找资源和组...

2020-01-15 15:20:53 266

原创 Spring AOP 之 实战篇

Spring AOP 之 实战篇Spring AOP 实战看了上面这么多的理论知识, 不知道大家有没有觉得枯燥哈. 不过不要急, 俗话说理论是实践的基础, 对 Spring AOP 有了基本的理论认识后, 我们来看一下下面几个具体的例子吧.下面的几个例子是我在工作中所遇见的比较常用的 Spring AOP 的使用场景, 我精简了很多有干扰我们学习的注意力的细枝末节, 以力求整个例子的简洁性....

2020-01-15 15:19:35 165

原创 Spring AOP 之 理论篇

Spring AOP 之 理论篇基本知识其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, 含义总有着各种莫名其妙的差别. 鉴于此, 我在本章的开头, 着重为为大家介绍一个 Spring AOP 的各项术语的基本含义. 为了术语传达的准确性, 我在接下来的...

2020-01-15 15:18:58 134

原创 Spring 框架中的设计模式(五)

Spring 框架中的设计模式(五)命令模式这篇文章描述的第一个行为设计模式是命令。它允许将请求封装在一个对象内并附加一个回调动作(每次遇到所所谓的回调大家就只需要理解为一个函数方法就好,省的去浪费那么多脑子)。请求被封装在命令对象之下,而请求的结果被发送到接收者。命令本身不是由调用者执行。为了直白了解其中的主要思想,想象一下管理服务器的情况(远程通过ssh操作Linux服务器)。管理员(in...

2020-01-15 11:43:05 142

原创 Spring 框架中的设计模式(四)

Spring 框架中的设计模式(四)适配器当我们需要在给定场景下(也就是给定接口)想要不改变自身行为而又想做到一些事情的情况下(就是我给电也就是接口了,你来做事也就是各种电器),使用适配器设计模式(这里再说一点,就相当于我们再一个规章制度的环境下,如何去适应并达到我们期待的效果,放在架构设计这里,可以拿一个php系统和一个Java系统来说,假如两者要互相调用对方的功能,我们可以设计一套对外的a...

2020-01-15 11:42:39 147

原创 Spring 框架中的设计模式(三)

Spring 框架中的设计模式(三)原型模式这篇文章的第一个设计模式是原型。可以通过官方文档查找有关Spring作用域中的bean作用域的文章中介绍了类似的概念(prototype)。原型设计模式与有用相同名称的(prototype)作用域有点相似。此设计模式允许通过复制已存在的对象来创建一个对象的实例。副本应该是真正的副本。这意味着新对象的所有属性应与复制对象的属性相同。如果不清楚,比一个简...

2020-01-15 11:39:49 126

原创 Spring 框架中的设计模式(二)

Spring 框架中的设计模式(二)代理模式面向对象编程(OOP)可能是编程中最流行的概念。然而,Spring引入了另一种编码规范,面向切面编程(AOP)。为了简化定义,AOP是面向系统特定点的一种编程,如:异常抛出,特定类别方法的执行等.AOP允许在执行这些特定点之前或之后执行补充动作。如何实现这种操作?它可以通过监听器(listeners)进行。但在这种情况下,我们应该在只要可能存在调用的...

2020-01-15 11:38:59 141

原创 Spring 框架中的设计模式(一)

Spring 框架中的设计模式(一)解释器设计模式在现实世界中,我们人类需要解释手势。他们可以对文化有不同的含义。这是我们的解释,给他们一个意义。在编程中,我们还需要分析一件事情,并决定它是什么意思。我们可以用解释设计模式来做。此模式基于表达式和评估器部分。第一个代表一个要分析的事情。这个分析是由评价者来做出的,它们知道构成表达的人物的意义。不必要的操作是在一个上下文中进行的。Spring...

2020-01-15 11:38:36 174

原创 深入理解MySQL索引原理和实现——为什么索引可以加速查询?

深入理解MySQL索引原理和实现——为什么索引可以加速查询?说到索引,很多人都知道“索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。”但是索引是怎么实现的呢?因为索引并不是关系模型的组成部分,因此...

2020-01-03 10:45:43 211

原创 dubbo面试题

dubbo面试题1.Dubbo 有几种配置方式?XML 配置注解配置属性配置Java API 配置详细参见官方文档:http://dubbo.apache.org/zh-cn/docs/user/configuration/xml.html比如,xml配置provider.xml 示例<beans xmlns:xsi="http://www.w3.org/2001/XM...

2020-01-02 17:46:55 842

原创 二.项目结构

二.项目结构1. 概述本文主要分享 Dubbo 的项目结构。希望通过本文能让胖友对 Dubbo 的整体项目有个简单的了解。另外,笔者会相对大量引用 《Dubbo 用户指南》 和 《Dubbo 开发指南》 ,写的真的挺好的。ps:限于排版,部分地方引用会存在未标明的情况。在拉取 Dubbo 项目后,我们会发现拆分了好多 Maven 项目。是不是内心一紧,产生了恐惧感?不要方,我们就是继续...

2019-09-07 14:07:14 214

原创 一.环境搭建

一.环境搭建1. 依赖工具MavenGitJDKIntelliJ IDEA2. 源码拉取从官方仓库 https://github.com/alibaba/dubbo Fork 出属于自己的仓库。为什么要 Fork ?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。使用 IntelliJ IDEA 从 Fork 出来的仓库拉取代码。拉取完成后,M...

2019-09-07 14:06:21 148

原创 简单面试题,但是容易忘记

简单面试题,但是容易忘记1.为什么等待和通知是在 Object 类而不是 Thread 中声明的?**1) wait 和 notify 不仅仅是普通方法或同步工具,更重要的是它们是 Java 中两个线程之间的通信机制。**对语言设计者而言, 如果不能通过 Java 关键字(例如 synchronized)实现通信此机制,同时又要确保这个机制对每个对象可用, 那么 Object 类则是的正确声明...

2019-09-06 16:25:06 278

原创 MySQL 面试题

MySQL 面试题MySQL 涉及的内容非常非常非常多,所以面试题也容易写的杂乱。当年,我们记着几个一定要掌握的重心:重点的题目添加了【重点】前缀。索引。锁。事务和隔离级别。因为 MySQL 还会有部分内容和运维相关度比较高,所以本文我们分成两部分【开发】【运维】两部分。对于【开发】部分,我们需要掌握。对于【运维】部分,更多考验开发的知识储备情况,当然能回答出来是比较好的...

2019-09-02 16:03:33 23096 7

原创 【MySQL】经典面试题

【MySQL】经典面试题经典题目1、MySQL的复制原理以及流程主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;从:sql执行线程——执行relay log中的语句;2、MySQL中myisam与innodb的...

2019-09-02 16:03:02 1098

原创 mysql优化

MySQL查询优化1.分析查询速度explain分析单条的SQL语句mysql> explain select * from user;+----+-------------+-------+--------+---------------+------+---------+------+------+-------+| id | select_type | table | ...

2019-08-27 11:25:13 159

原创 MM+keepalived 高可用

MM+keepalived**MM+keepalived **简介:双主配合keepalived这种架构设计,也是基于主从复制的原理而搭建的。使用MySQL主主复制技术+Keepalived是一种简单、便捷的解决方案,在高可用集群环境中,keepalived使用VIP,使用Keepalived自带的服务监控功能和自定义脚本来实现MySQL故障时自动切换,非常灵活。应用范围:一般中小型...

2019-08-27 11:15:44 246 1

转载 MySQL日志文件之错误日志和慢查询日志详解

MySQL日志文件之错误日志和慢查询日志详解本文链接:https://blog.csdn.net/u010870518/article/details/76019934一、MySQL日志文件分类官方文档:https://dev.mysql.com/doc/refman/5.7/en/server-logs.html日志文件记录了影响MySQL数据库的各种类型活动。常见的日志有以下几个:...

2019-08-27 10:27:46 176

原创 深入理解MySQL索引原理和实现——为什么索引可以加速查询?

深入理解MySQL索引原理和实现——为什么索引可以加速查询?说到索引,很多人都知道“索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。”但是索引是怎么实现的呢?因为索引并不是关系模型的组成部分,因此...

2019-08-23 16:54:39 279

原创 git常用命令

git命令大全1.查看git版本$ git --version2.设置用户名,邮箱$ git config --global user.name "test"$ git config --global user.email "test@test.com"#清空用户名,邮箱$ git config --unset --global user.name$ git config --u...

2019-08-22 10:56:04 137

转载 MySQL索引使用的注意事项

MySQL索引使用的注意事项MySQL 索引通常是被用于提高 WHERE 条件的数据行匹配时的搜索速度,在索引的使用过程中,存在一些使用细节和注意事项。不要在列上使用函数和进行运算不要在列上使用函数,这将导致索引失效而进行全表扫描。select * from news where year(publish_time) < 2017为了使用索引,防止执行全表扫描,可以进行改造。s...

2019-07-16 11:34:46 212 1

转载 MySQL(07) 范式与反模式

MySQL(07) 范式与反模式数据库范式是为解决关系数据库中数据冗余、更新异常、插入异常、删除异常问题而引入的。简单的理解,数据库范式可以避免数据冗余,减少数据库的空间,并且减轻维护数据完整性的麻烦。第一范式(1NF)第一范式,强调属性的原子性约束,要求属性具有原子性,不可再分解。举个例子,活动表(活动编码,活动名称,活动地址),假设这个场景中,活动地址可以细分为国家、省份、城市、市区、...

2019-06-28 10:48:34 231

转载 计算机网络面试题

计算机网络面试题网络体系结构强烈推荐阅读两篇文章:艿艿:可以后续回过头来看。《计算机网络体系结构综述(上)》《计算机网络体系结构综述(下)》简单一瞥:OSI 七层体系结构具有概念清楚、理论完整的特点,是一个理论上的国际标准,但却不是事实上的国际标准。具有简单易用特点的 TCP/IP 四层体系结构则是事实上的标准。需要指出的是,五层体系结构虽然综合了 OSI 和 TCP/...

2019-06-27 15:02:27 3308 1

转载 Linux面试题

常用命令艿艿:这一小节会非常非常非常长,当做温故知新吧。另外,面试官也可能会问,你熟悉 Linux 么?你平时使用哪些 Linux 命令。酱紫的连环炮~当然,建议重点看下 「性能相关」 小节。目录相关find 命令《Linux 命令大全 —— find 命令》查找指定文件名的文件(不区分大小写):find -iname "MyProgram.c" 。对找到的文件执行某个命令:...

2019-06-26 17:11:37 73481 17

转载 maven面试题

Maven 是什么?Maven 主要服务于基于 Java 平台的项目构建、依赖管理和项目信息管理。Maven 的主要功能主要分为 5 点:依赖管理系统多模块构建一致的项目结构一致的构建模型和插件机制

2019-06-26 16:46:20 18560 2

转载 Java集合面试题

Java集合面试题Java 集合框架的基础接口有哪些?Collection ,为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。Set ,是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。List ,是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List 更像长度动态...

2019-06-25 14:46:19 12777 4

转载 ArrayList 扩容详解,扩容原理

ArrayList 扩容详解,扩容原理ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长。ArrayList不是线程安全的,只能用在单线程环境下。实现了Serializable接口,因此它支持序列化,能够通过序列化传输;实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问;实现了Cloneable接口,能被克隆。动态扩容一 初始化...

2019-06-24 17:46:15 2015 1

转载 (六)springboot + mybatis plus实现多表联查分页3

(六)springboot + mybatis plus实现多表联查分页3.X版本注明 : 上两篇文章我们讲解了springboot+mybatis-plus对于单表的CRUD和条件构造器的使用方法,但是对于我们的实战项目中多表联查也是经常会出现的。今天我们就来说下怎么在springboot+MP模式下实现多表联查并分页。项目源码下载位置 | giteeMP推荐使用的是一种苞米豆团队自己封装...

2019-06-24 10:35:58 1980

转载 (五)springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper

(五)springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper一、条件构造器关系介绍介绍 :上图绿色框为抽象类abstract蓝色框为正常class类,可new对象黄色箭头指向为父子类关系,箭头指向为父类wapper介绍 :Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示Abstrac...

2019-06-24 10:33:06 1474 1

转载 (四)springboot + mybatis plus详细拆解CRUD

(四)springboot + mybatis plus详细拆解CRUD初始化项目搭建初始化项目我就不在一一阐述了,如果有不知道的童鞋可以看我的上篇博文来做项目的初始化搭建,也可以去Gitee下载源码源码地址 Gitee层级代码展示上图为自动生成后的层级展示,那么下面就开始我们的测试之路在测试之前我们需要注意一些要点,如下放代码所示我们需要在yml配置文件中加入下面的代码块。这样在我...

2019-06-21 17:43:27 254

转载 (三)springboot + mybatis plus集成AutoGenerator快速搭建项目

(三)springboot + mybatis plus集成AutoGenerator快速搭建项目注明 : AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。下文中也会有通过springboot集成m...

2019-06-21 16:31:32 770

转载 (二)springboot+mybatis plus快速构建项目

(二)springboot+mybatis plus快速构建项目注明:我将通过一个Demo来阐述MyBatis-Plus的强大我的环境JDK1.8maven3.5.4开发工具ideaspringboot2.0.5mybatis-plus3.0.3mysql5.7上面是我的环境版本。源码下载地址对应的数据库脚本CREATE TABLE user( id BIGINT(...

2019-06-21 16:25:56 542 1

转载 (一)mybatis-plus详细介绍

注明 : 我写这篇mybaits-plus专栏主要是参考http://mp.baomidou.com/guide/这个中文文档进行的,目的是将此中文文档的内容和使用方法更加细致化的呈现给大家,让大家能更好的更快速更方便的掌握mybatis-plus。这里我只使用java语言进行讲解,通过springboot做案列分析结合maven管理工具进行演示。数据库使用mysql进行演示。那么童靴们咱们就开始...

2019-06-21 16:11:32 2424

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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