自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dubbo 核心源码解读

前言:在当下微服务盛行的局势下,服务之间的通行异常频繁,而Dubbo也就应运而生,提供一套高效的服务间调用方案。Dubbo整合了Netty通过TCP/IP网络协议实现服务间调用,更高效快捷。从两个方面来了解:Provider @Service、Consumer @Reference代理类的产生、一次服务间的调用流程Dubbo如何定义:Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 Dub...

2020-11-25 15:55:18 421

原创 从零学习ELK

ElK是Elasticsearch、Logstash、 Kibana的缩写,了解这个分布式搜索引擎就要从这三个组件学起。来看看官网的介绍:Elasticsearch是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。Kibana是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行...

2020-11-02 17:10:11 311

原创 Spring 自动装配之依赖注入(DI)

依赖注入发生的时间 当 Spring IOC 容器完成了 Bean 定义资源的定位、载入和解析注册以后,IOC 容器中已经管理类 Bean 定义的相关数据(具体存放在DefaultListableBeanFactory Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap(256)),但是此时 IOC 容器还没有对所管理的 Bean 进行依赖注入,依赖注入在以下两种情况 发生:1)、用户第一次调用 g.

2020-10-22 13:39:14 231

原创 惊:Swagger3.0 官方 starter 发布了

对于一个搞java开发的人来说,swagger 就不多介绍了,突然发现swagger 3.0 starter 发布了,对于开发人员来说,依赖更加简单方便,不会再存在不同插件之间兼容问题,赶紧来试一下:此版本的亮点: Spring5,Webflux支持(仅支持请求映射,尚不支持功能端点)。 Spring Integration支持(非常感谢反馈)。 SpringBoot支持springfox Boot starter依赖性(零配置、自动配置支持)。 具有自动完成功能的.

2020-10-16 10:38:32 550 1

原创 Spring Ioc 容器启动流程源码解析

做java开发四年了,很多时候都在想spring究竟是怎么玩转的,当对java有一定深入的理解,我们就需要对spring的源码进行解读,源码的解读过程个人觉得至少要看5遍以上才会不晕车,品读其中的奥妙。IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创 建、依赖的代码,反转给容器来帮忙实现。一、Spring 核心容器类图1、BeanFactory: spring Bean 的创建是典型的工厂模式,这一系列的 Bea...

2020-10-14 17:25:23 771 1

原创 荐:Java常见设计模式

设计模式的原则:1、开闭原则 对扩展开放,对修改关闭。2、依赖倒置原则 通过抽象使各个类或者模块不相互影响,实现松耦合。3、单一职责原则 一个类、接口、方法只做一件事。4、接口隔离原则 尽量保证接口的纯洁性,客户端不应该依赖不需要的接口。5、迪米特法则 又叫最少知道原则,一个类对其所依赖的类知道得越少越好。6、里氏替换原则 子类可以扩展父类的功能但不能改变父类原有的功能。7、合成复用原则 尽量使用对象组合、聚合,而不使用继承关系达到代码复用的目的。代码地址: ...

2020-10-12 16:28:28 327

原创 Redis分布式锁的正确姿势

前言:随着互联网的发展,单体web应用已无法满足业务的需求,随之而来的是微服务,再加上分布式部署,带来的是各种问题,个个服务在不同的进程,当对同一资源进行修改时就会发生线程安全问题,特别是在电商活动(抢优惠券、下单等业务场景),记录一下自己探索分布式锁的过程一、单机redis下基于jedis分布式锁 1、环境: redis-server: redis-6.0.3 、 redis-client: jedis 2.9.1、springboot :2.1.3 2、创...

2020-09-10 16:31:37 845

原创 Tomcat 调优探索

电脑环境:window10 i5-7200U 4核Tomcat版本:apache-tomcat-8.5.57压测工具:jemeter 并发数为4000左右,该并发数为多次测试的结果,受电脑性能,数据包的大小等因素影响部署一个Springboot 应用,创建一个rest接口用来测试,下面是响应数据(不连接数据库):{"1":"张三1","2":"张三1","3":"张三1","4":"张三1","5":"张三1","6":"张三1","7":"张三1","8":"张三1","9":"张...

2020-09-03 13:35:07 297

原创 Linux 数据库 MySql 安装

Linux内核版本:Linux version 3.10.0-1062.18.1.el7.x86_64数据库版本:mysql-5.7.20-1.el7.x86_64.rpm-bundle一、 数据库安装 1. 将“mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar”拷到 CentOs 中,并解压...

2020-08-26 11:26:58 288

原创 Windows 环境下用vagrant+virtualbox 搭建虚拟机

Linux版本:Linux version 3.10.0-1127.8.2.el7.x86_64 vagrant:2.2.6VirtualBox :6.0.121.按照官网步骤安装 vagrant 和 vartualbox2.提前下载好virtualbox.box 虚拟机文件3.添加virtualbox.box 到vagrant, vagrant box add centos/7(虚拟机名称) /***/**/virtualbox.box(box 路径)4.启动虚拟机...

2020-08-25 09:59:43 434

原创 FastDFS 分布式存储安装部署

# 部署说明1. [安装gcc](#安装gcc(C++编译工具))2. [安装yasm](#安装yasm(汇编编译工具))3. [安装ffmpeg](#安装ffmpeg(编码/解码器))3. [安装fastdfs](#安装fastdfs(分布式文件管理系统))3. [安装fastdfs-nginx-module](#安装fastdfs-nginx-module(nginx插件,实现同组同步等功能))一、安装gcc(C++编译工具) ```sh yum inst...

2020-08-22 23:44:08 192

空空如也

空空如也

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

TA关注的人

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