自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nicky's blog

Email:nickypm@foxmail.com

原创 Spring5.0源码学习系列之Spring AOP简述(九)

在前面章节的学习中,我们对Spring框架的IOC实现源码有了一定的了解,接着本文继续学习Springframework一个核心的技术点AOP技术。 在学习Spring AOP源码之前,您是否对AOP有足够熟悉的理解?在对应用都不熟悉之前就去学习源码,肯定是很难理解的,所以本文先不描述源码的实现,...

2020-11-24 14:36:43 110 0

原创 Spring5.0源码学习系列之浅谈循环依赖问题(八)

所谓的循环依赖就是指两个及以上的类互相调用依赖,形成闭环,Spring框架检测到这种场景会抛 BeanCurrentlyInCreationException,提前暴露对象的方法

2020-11-22 11:58:55 271 5

原创 浅谈Springframework框架的循环依赖问题

前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文浅谈Spring循环依赖问题,这是一个面试比较常见的问题 所谓的循环依赖就是指两个及以上的类互相调用依赖,形成闭环,Spring框架检测到这种场景会抛 BeanCurrentlyInCrea...

2020-11-18 22:31:31 64 1

原创 Spring5.0源码学习系列之浅谈懒加载机制原理(七)

懒加载(Lazy-initialized beans):懒加载模式是bean在第一次调用时候被实例,而不是spring容器启动时候,默认是不开启的,( A lazy-initialized bean tells the IoC container to create a bean instance...

2020-11-12 16:25:47 644 14

原创 Spring5.0源码学习系列之浅谈Bean创建过程(六)

提示:在上一章的学习中,我们对BeanFactory的创建过程有了一个熟悉,其实实际的操作不止创建BeanFactory,调用的过程也实现了将xml解析为Document对象,再转换成BeanDefinition(很重要,Spring的Bean),并注册到BeanFactory,接着本文带着疑问学...

2020-11-12 14:41:45 153 2

原创 Spring5.0源码学习系列之浅谈BeanFactory创建(五)

在上一章的学习中,我们简单了解了Spring IoC容器启动初始化的主流程,不过并没有详细解释,因为代码比较复杂,没有做长篇大论,所以本文接着学习BenFactory的创建过程,学习源码建议带着疑问去学,一点点跟,时间积累之后就可以串起来

2020-11-11 15:18:57 320 4

原创 Spring5.0源码学习系列之浅谈IoC初始化主流程(四)

在上一章的学习中,我们已经比较详细地介绍了Spring IoC容器和简单应用,本文接着学习,可以参考Spring官网对IoC容器做了比较详细介绍,其中就指出了IoC容器在Spring框架中的实现核心是通过ApplicationContext,也可以说ApplicationContext是Sprin...

2020-11-10 14:57:33 413 4

原创 IntelliJ IDEA使用教程之常用操作整理笔记

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界很受还原,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是很实用的

2020-11-05 17:17:28 225 0

原创 postman系列之入门指南和常用技巧整理

postman是一款很不错的api接口测试软件,Postman提供功能强大的Web API & HTTP请求调试,现在能给提供PC版本、网页版、谷歌插件版

2020-11-04 18:12:45 2041 20

原创 Gradle系列之使用Intellij IDEA创建项目

Gradle,这是一个基于 JVM 的富有突破性构建工具。Gradle 正迅速成为许多开源项目和前沿企业构建系统的选择,同时也在挑战遗留的自动化构建项目。本教程主要讲解了如何使用 Gradle 构建系统和构建系统过程中涉及的插件。

2020-11-03 10:24:30 151 0

原创 POI系列之根据样式识别word内容和标题

业务场景:最近接到需求,想实现将一份word文档,其中特定的文本内容获取出来,首先想到两种方法,一种是通过OCR技术,一种是通过模板占位符。 虽然想起来好像是可以实现的,不过ocr技术自己要在短时间实现是不太现实的,要用第三方的会加重项目成本。然后思路是想通过先固定特定的模板,通过一些占位符技术去...

2020-11-02 15:43:55 173 2

原创 Spring5.0源码学习系列之核心技术IoC概述(三)

IOC:Inversion of controll(控制反转 / 反转控制),ioc是一种技术思想,在spring框架开发之前就已经提出来的,spring框架对ioc技术思想进行了很好的实现 对控制反转的理解:控制反转(IOC)可以理解为获取依赖对象的方式反转过来,有反转就有“正转”,所谓“正转...

2020-10-28 11:06:08 1625 14

原创 利用ADB命令强制卸载oppo自带浏览器

前言 oppo浏览器是自带oppo浏览器的,这个自带的浏览器带有oppo推荐的负面新闻很多,而且有时也自动推送一些消息给用户,页面不够简洁,打开浏览器负面内容比较多,所以想要强制卸载oppo浏览器,然后发现oppo root权限太难获取了,所以只能通过网上找资料 提示:没有思路的情况,先想到去v...

2020-10-25 12:04:10 1863 15

原创 MySQL系列之事务日志Redo log学习笔记

MySQL系列之事务日志Redo log学习笔记 学习本博客之前需要储备知识: MySQL体系架构 InnoDB存储引擎 MySQL事务知识 在上篇博客,我们知道了undo log,继续上篇博客,学习另外一种重要的InnoDB事务日志redo log 1、Redo Log 1.1、什么是Red...

2020-10-24 10:43:42 140 0

原创 SpringCloud系列之声明式服务调用Netflix Feign

在上一章的学习中,我们知道了微服务的基本概念,知道怎么基于Ribbon+restTemplate的方式实现服务调用,接着上篇博客,我们学习怎么基于Feign实现服务调用,请先学习上篇博客,然后再学习本篇博客 Feign是一个声明式的web service客户端,它使得编写web service客户...

2020-10-22 16:17:25 1043 10

原创 Spring5.0源码学习系列之Spring基本概述(二)

Spring5.0源码学习系列之SpringFramework基本概述 在上一章的学习中,我们已经能够构建部署SpringFramework的源码,接着在学习源码之前还是要对SpringFramework框架进行基本的了解和熟悉

2020-10-20 18:09:23 1664 10

原创 Spring5.0源码学习系列之部署构建Spring源码(一)

Spring框架:作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多,所以知识量很广

2020-10-20 14:31:52 4027 40

原创 MySQL系列之二进制日志Binlog学习笔记

在上一篇博客的学习,我们知道了InnoDB存储引擎的两种事务日志,redo log是InnoDB特有的功能,而MySQL也是有自己的日志机制的,也即本文学习的binlog binlog(二进制日志):binary log,简称是binlog,binlog记录所有数据库表结构变更以及表数据修改,而不...

2020-10-16 15:01:38 878 8

原创 MySQL系列之事务日志Redo log学习笔记

Redo log:被称之为重做日志,是在数据库发生意外时,进行数据恢复,redo log会备份是事务执行过程中的修改数据,redo log备份的是事务过程中最新的数据位置

2020-10-15 18:28:24 534 3

原创 MySQL系列之事务日志Undo log学习笔记

undo log是mysql中两种比较重要的事务日志,另外一种是redo log,undo log顾名思义,是一种用于撤销回退的日志,用于事务没提交之前,会将要修改的记录存放到 Undo 日志文件里,当事务回滚时或者数据库崩溃时,可以利用 Undo 日志回退事务

2020-10-15 14:59:14 1597 13

原创 MySQL系列之体系结构原理学习笔记

MySQL系列之体系结构原理学习笔记 引用来自官网的图,MySQL Server架构从上到下依次为网络连接层(Connectors)、服务层(MySQL Server)、存储引擎层(Plugable Storage Engines)、系统文件层(File System)

2020-10-14 15:13:59 5981 30

原创 Linux系列之下载安装jdk-8u261-linux-i586.tar.gz

1、创建下载目录 在/usr/目录下创建java目录 mkdir /usr/java 进入java目录 cd /usr/java 2、下载JDK Oracle官网下载jdk8:https://www.oracle.com/java/technologies/javase/javase-j...

2020-10-10 15:57:08 3594 11

原创 SpringCloud系列之API Gateway开发手册(Hoxton版本)

1 什么是API网关? API网关是所有请求的入口,承载了所有的流量,API Gateway是一个门户一样,也可以说是进入系统的唯一节点。这跟面向对象设计模式中的Facet模式很像。API Gateway封装内部系统的架构,并且提供API给各个客户端。它还可能有其他功能,如授权、监控、负载均衡、缓...

2020-09-16 13:30:36 1790 6

原创 SpringCloud系列之分布式配置中心学习

分布式微服务项目,就会有很多的模块,比如微服务A、微服务B等等,每个工程都有一套配置文件,随着业务增长,肯定会有很多配置,分散管理,不能实现统一的管理,所以就有了微服务的配置文件统一管理组件,比如spring cloud官方的spring cloud config、携程的 Apollo,还有最近比...

2020-09-09 22:11:26 1794 5

原创 SpringCloud系列之分布式配置中心极速入门与实践

分布式微服务项目,就会有很多的模块,比如微服务A、微服务B等等,每个工程都有一套配置文件,随着业务增长,肯定会有很多配置,分散管理,不能实现统一的管理,所以就有了微服务的配置文件统一管理组件,比如spring cloud官方的spring cloud config、携程的 Apollo,还有最近比...

2020-09-09 16:10:25 1546 6

原创 并发编程系列之JDK JUC实现内存缓存(支持并发)

利用jdk JUC, java.util.concurrent里的类实现定时缓存,缓存可以设置过期,过期可以定时清缓存。对于业务数据来说,如果缓存有数据,就直接读缓存(内存),缓存没数据才读数据库,读取之后要将数据再丢到缓存

2020-09-07 17:54:21 661 1

原创 设计模式系列之建造者模式构建实体类

建造者模式包含如下角色 Builder:抽象建造者 ConcreteBuilder:具体建造者 Director:指挥者 Product:产品角色 如果系统只需要一个具体的建造者类的时候,可以省略抽象建造者,有时候指挥者类也可以省略,让建造者类同时充当指挥者和建造者

2020-09-04 14:42:08 348 0

原创 Servlet3.0动态配置过滤器、监听器、Servlet

Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到非常兴奋,同时也获得了 Java 社区的一片赞誉之声

2020-09-04 14:30:02 480 4

原创 SpringMVC对接CAS客户端实现单点登录SSO

业务场景:之前写过CAS服务端的例子,也对接过基于SpringBoot的CAS,不过最近项目要对接第三方的CAS实现单点登录,而我们项目是基于SpringMVC的,所以就摸索了一下对接方案

2020-09-04 14:17:22 435 0

原创 SpringBoot系列之从入门到精通系列教程(专栏导航)

本专栏基于Springboot2.0,配套自己写的代码例子,内容设计基本的配置用法,web,数据库,Redis,也涉及到企业级开发的消息队列,dubbo,搜索引擎等方面,并有源码的简单分析,适合作为入门教程

2020-08-16 10:21:00 1372 0

原创 SpringCloud系列之API网关(Gateway)服务Zuul
原力计划

1、什么是API网关 API网关是所有请求的入口,承载了所有的流量,API Gateway是一个门户一样,也可以说是进入系统的唯一节点。这跟面向对象设计模式中的Facet模式很像。API Gateway封装内部系统的架构,并且提供API给各个客户端。它还可能有其他功能,如授权、监控、负载均衡、缓存...

2020-08-06 17:38:15 1452 0

原创 SpringCloud系列之服务容错保护Netflix Hystrix

1. 什么是雪崩效应? 微服务环境,各服务之间是经常相互依赖的,如果某个不可用,很容易引起连锁效应,造成整个系统的不可用,这种现象称为服务雪崩效应。 如图,引用国外网站的图例:https://www.javatpoint.com/fault-tolerance-with-hystrix#,如图系统...

2020-08-05 16:55:19 438 0

原创 SpringCloud系列之客户端负载均衡Netflix Ribbon

负载均衡是一种基础的网络服务,它的核心原理是按照指定的负载均衡算法,将请求分配到后端服务集群上,从而为系统提供并行处理和高可用的能力。提到负载均衡,你可能想到nginx。对于负载均衡,一般分为服务端负载均衡和客户端负载均衡 Ribbon 是由 Netflix 发布的负载均衡器,它有助于控制 HTT...

2020-07-31 17:41:17 1340 0

原创 SpringCloud系列之声明式服务调用Netflix Feign

在上一章的学习中,我们知道了微服务的基本概念,知道怎么基于Ribbon+restTemplate的方式实现服务调用,接着上篇博客,我们学习怎么基于Feign实现服务调用,请先学习上篇博客,然后再学习本篇博客 Feign是一个声明式的web service客户端,它使得编写web service客户...

2020-07-28 14:20:06 361 0

原创 SpringCloud系列使用Netflix Eureka进行服务治理

Spring Cloud是一个分布式的整体解决方案的框架。基于Spring Boot开发。Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,负载,网关,消息总线,集群管理,安全管理,分布式锁,分布式事务等等)中快速构建的工具,使用Spring Cloud的开发者可以快速的启...

2020-07-27 18:29:16 870 2

原创 SpringSecurity系列之极速入门与实践教程

Spring Security 是 Spring 家族中的一个安全管理框架,应用程序的两个主要区域是“认证”和“授权”(或者访问控制)。Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型

2020-07-24 17:12:04 387 0

原创 SpringBoot系列之Actuator监控管理极速入门与实践

SpringBoot官方提供了spring-boot-starter-actuator场景启动器用于系统的监控管理,可以通过HTTP,JMX,SSH协议来进行操作,自动得到审计、健康及指标信息等

2020-07-23 18:12:14 480 0

原创 SpringBoot系列之IDEA项目中设置热部署教程

1、新建SpringBoot项目 环境准备 JDK 1.8 SpringBoot2.2.1 Maven 3.2+ 开发工具 smartGit IntelliJ IDEA2018 创建一个SpringBoot Initialize项目,详情可以参考我之前博客:SpringBoot系列之快速...

2020-07-23 13:27:21 263 0

原创 SpringBoot系列之发送邮件极速入门与实践

SpringBoot系列之发送邮件开发手册一、前言介绍二、例子实践2.1 实验环境准备2.2 Meavn配置文件2.3 application配置2.4 发送文本格式邮件2.5 发送Html格式邮件2.6 发送html内嵌图片2.7 发送模板html邮件2.8 发送Attachment邮件 一、前...

2020-07-22 20:52:17 511 0

原创 SpringBoot系列之使用Spring Task实现定时任务

SpringBoot系列之使用Spring Task实现定时任务1、前言介绍 1、前言介绍 定时任务是企业开发中很常用的,比如定时推送一些接口数据,在java中实现定时任务的方法有Spring Task、Quartz等等框架,也有JDK自带的ScheduledExecutorService、Tim...

2020-07-22 14:56:41 367 0

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