自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 史上最通俗易懂的Mybatis源码分析之执行流程总结,5分钟就能看懂

一:Mybatis源码分析流程public static void main(String[] args) {try {// 基本mybatis环境// 1.定义mybatis_config文件地址String resources = "mybatis_config.xml";// 2.获取InputStreamReaderIo流Reader reader ...

2020-01-17 10:38:57 290

转载 深入MyBatis源码,理解Java设计模式之适配器模式,距离架构技术更近一步

写在前面:设计模式源于生活,而又高于生活!什么是适配器模式定义:将一个系统的接口转换成另外一种形式,从而使原来不能直接调用的接口变得可以调用。适配器模式角色划分适配器模式涉及3个角色:1.源(Adaptee):需要被适配的对象或类型,相当于插头。2.适配器(Adapter):连接目标和源的中间对象,相当于插头转换器。3.目标(Target):期待得到的目标,相当于插...

2020-01-16 09:37:46 155

转载 RedisRDB与AOF持久化机制的区别,你是否知道?

RDB存在哪些优势呢? 1). 一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的。比如,你可能打算每个小时归档一次最近24小时的数据,同时还要每天归档一次最近30天的数据。通过这样的备份策略,一旦系统出现灾难性故障,我们可以非常容易的进行恢复。 2). 对于灾难恢复而言,RDB是非常不错的选择。因为我们可以非常轻松的将一个单独...

2020-01-15 10:00:36 200

转载 【架构师小技巧】微服务中五种跨域解决方案,你知道有多少?

网站跨域的五种解决方式1、什么是跨越? 一个网页向另一个不同域名/不同协议/不同端口的网页请求资源,这就是跨域。 跨域原因产生:在当前域名请求网站中,默认不允许通过ajax请求发送其他域名。 2、为什么会产生跨域请求? 因为浏览器使用了同源策略 3、什么是同源策略? 同源策略是Netscape提出的一个著名的安全策略,现在所有支持JavaScrip...

2020-01-14 10:21:25 916

转载 浅谈Java代理设计模式,看完这篇文章瞬间秒懂了

什么是代理模式?为其他对象提供一种代理以控制对这个对象的访问。为什么使用代理模式?中介隔离:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的...

2020-01-13 15:02:56 125

转载 经典设计模式之策略模式【如何重构聚合支付平台,对接【支付宝,微信,银联支付】】

为什么要使用设计模式重构代码使用设计模式可以重构整体架构代码、提高代码复用性、扩展性、减少代码冗余问题。Java高级工程师装逼的技能!什么是策略模式策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。1.环境(Context)角色:持有一个Strategy的引用2.抽象策略(Strategy)角色:这是一个抽...

2020-01-10 13:48:47 404

原创 2019全网最新SpringCloud2.0视频教程【免费学习】

SpringCloud视频教程是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风...

2019-08-07 15:07:17 441 1

转载 浅谈Nginx负载均衡原理与实现

1 负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。2 测试环境由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台CentOS。测试域名 :a.comA服务器IP :192.16...

2019-07-23 17:32:35 149

原创 跨域网站请求解决方案

第一节-彻底解决网站跨域请求问题引入第二节-网站跨域项目环境搭建题)第三节-模拟网站跨域问题演示第四节-网站跨域五种解决方案第五节-使用jsonp解决网站跨域问题第六节-使用httpclient内部转发解决跨域问题第七节-使用Nginx搭建API网关第八节-Nginx网关配置解决跨域问题第九节-使用Zuul网关解决跨域问题...

2019-07-12 17:25:21 158

原创 手写SpringIOC容器框架

IoC是什么  Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下:  谁控制谁,控制什么:传统Java ...

2019-07-12 15:34:15 341

原创 纯手写SpringMVC框架

通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages( JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了 控制器、模型 对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。Lifecycle fo...

2019-07-11 16:56:18 594

原创 纯手写LinkedList集合

LinkedList是基于双向链表实现的,LinkedList同样是非线程安全的,只在单线程下适合使用。public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable...

2019-07-10 16:10:34 131

原创 纯手写HashMap集合

HashMap的实例有两个参数影响其性能:初始容量和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行rehash操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。在Java编程语言中,加载因子默认值为0.75,默认哈希表元为101[1]。...

2019-07-08 16:45:41 214

原创 纯手写SpringBoot框架

什么是spring bootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(...

2019-07-08 15:55:08 492

原创 SpringBoot性能优化方案

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。第一节-SpringBoot性能优化之扫包优化第...

2019-07-05 17:44:20 1490

原创 Nginx+Tomcat实现动静分离

Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日...

2019-07-04 17:54:48 262

原创 防止服务雪崩效应利器Hystrix

崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,它指明文或密钥的少量变化会引起密文的很大变化,就像雪崩前,山上看上去很平静,但是只要有一点问题,就会造成一片大崩溃。 可以用在很多场合对于Hash码,雪崩效应是指少量消息位的变化会引起信息摘要的许多位变化。我国有线电视行业:产业升级将带来雪崩效应。 目前我国有线数字电视用户已经开始进入爆发性增长期,并将在1-2年后进入收入的高增长期。在与...

2019-07-02 16:26:26 259

原创 高性能Nginx服务器

Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日...

2019-07-02 16:22:57 130

原创 互联网API接口幂等设计

一般在服务调用时,读服务如果调用失败了,会自动按配置次数转移到别的服务上去请求。而写服务就不能重复请求,如果因为超时或者网络故障等原因被调用服务并没有返回成功的响应,服务调用方就认为是失败了,但很有可能的是已经成功了,如果继续重复请求写服务,如转账类的服务,可能会造成严重的后果。所以,写服务失败不能设计成继续发重复请求,被调用服务也要设计幂等性,即使重复请求,也不会造成影响。知道上面的背景,所...

2019-07-02 16:20:23 209

原创 源头分析Https协议底层实现原理

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使...

2019-07-01 16:59:43 1205

原创 彻底解决网站跨域请求

什么是跨域问题是两个项目之间用ajax(前端类似于后端技术httpClient技术)实现通讯,如果浏览器访问的域名地址与ajax访问的地址不一致的情况下,默认情况下浏览器会有安全机制,这个机制导致跨域问题,会无法获取到返回结果。浏览器跨域问题产生的原因:如果使用ajax请求调用第三方接口,如果ajax访问的接口域名和端口与浏览器访问的域名和端口号不一致的情况下,就会产生跨域问题(属于浏览器...

2019-07-01 16:56:58 217

原创 搭建Eureka高可用集群注册中心

第一节-SpringCloud服务注册与发现课程概述第二节-微服务服务治理技术概述第三节-服务注册与发现原理第四节-Eureka2.0服务注册中心第五节-搭建服务提供者注册到Eureka第六节-使用RestTemplate调用服务接口第七节-@LoadBalanced实现本地负载均衡第八节-Eureka2.0高可用集群环境搭建第九节-客户端调用Eureka...

2019-07-01 16:54:40 187

原创 Ribbon客户端负载均衡原理

在微软产品中Ribbon功能区Ribbon 最早应用于 Office 2007 中,后来也被运用到 Windows 7 的一些附件中,如画图(Paint)和写字板(Write)。在Windows 8中,Ribbon 被运用到文件资源管理器(File Explorer)中。在第三方应用中ESRI 推出的ArcGIS Explorer 9.4、Autodesk推出的AutoCAD、3DS ...

2019-06-27 15:18:48 503

原创 高性能微服务zuulGateway网关

课程目录第一节-互联网API接口的分类 第二节-架构师面试题如何设计一套API接口 第三节-ApiGateway网关的作用 第四节-Nginx与Zuul的区别 第五节-使用网关拦截请求参数 第六节-搭建ZuulGateway服务 第七节-搭建ZuulFilter拦截请求参数 第八节-Zuul网关负载均衡效果演示 第九节-搭建动态Zuu...

2019-06-27 15:16:15 438

原创 纯手写Mybatis框架

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache softwarefoundation迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Ac...

2019-06-27 15:12:33 210

原创 Dubbo分布式框架原理分析

Dubbo是阿里巴巴公司开源的一个高性能优秀的 服务框架,使得应用可通过高性能的 RPC 实现服务的输 出和输入功能,可以和Spring框架无缝集成。编辑Remoting: 网络通信框架,实现了 sync-over-async 和 request-response消息机制.RPC: 一个远程过程调用的抽象,支持 负载均衡、 容灾和 集群功能Registry: 服务目录框架用于...

2019-06-26 16:12:45 201

原创 最全Elasticsearch6视频教程

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建...

2019-06-26 16:08:57 4108

原创 MySQL主从复制与数据备份

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据...

2019-06-26 16:06:22 144

原创 SpringCloud分布式配置中心

一、什么是分布式配置中心?Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对SpringEnvironment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用。作为一个应用可以通过部署管道来进行测试...

2019-06-24 17:07:26 101

原创 使用Jenkins实现自动化部署

功能Jenkins功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。2启动首先保证系统中已经安装了jdk,最好是jdk1.5以上。第一种启动方法,切换到jenkins.war存放的目录,输入如下命令:$ java -jar jenkins.war如果需要修改端口可以使用如下命令:$ java -jar jenkins.jar--httpPort=8081然...

2019-06-24 14:23:42 110

原创 深入研究枚举单例底层原理

说到单例首先要提到单例模式,因为单例模式是单例存在的目的单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。单例,顾名思义:单独的实例。简单的说,单例是一个特殊的实例,在单例所属的类...

2019-06-20 14:40:45 386

原创 spring Cloud视频教程里面到底哪一个是讲解的比较系统的?今天我们来对比一下!

首先我们先来了解一下spring Cloud:spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来...

2019-06-18 17:24:20 2082

转载 我们如何学好Java?

正在学习Java 计算机言语并且打算作为自己往后的发展方向,不幸的是你在学习中遇到了比较困惑而又不能处理的问题, 你必需求清晰以下几个很重要的问题和把握相对正确和合适自己学 习编程的办法,然后为自己解惑并不断的提高自己,终究到达一个大都企业入职的根本标准。首要,你要清楚自己学习Java的真实方针是否清晰,学习Java的想法是否是老练的。关于这个问题或许许多人都会嗤之以鼻,凭借我多年从事Java...

2019-06-17 14:14:36 181

转载 新手到底怎么学习Java?

我总是想起三年前的我,想入门而不得。门都找不到,没人给我建议。用什么书,怎么学,统统没头绪。我大学计算机专业。15年离开学校时,只是普普通通的网民,平时电脑有问题,只用360或者暴力关机的那种。毕业后利用业余时间学了一点C的皮毛,目前正在自学javaSE。作为完全零基础,我必须先声明:自学难度很大,新手小白请做好打硬仗的准备。但如果真的热爱,你会甘愿为她花时间,恨不得了解她的全部的。我建议...

2019-06-14 17:58:54 760 1

原创 玩转分布式任务调度平台

分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件第一节(任务调度概述)第二节(使用Quartz实现定时调度)第三节(分布JOB如何解决幂等性)第四节(XXL-JOB环境概述)第五节(分布式任务调度平台执行原理) VIP...

2019-05-08 11:08:35 160

空空如也

空空如也

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

TA关注的人

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