自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 策略模式实战 6步 秒会 速成 优化代码ifelse

策略模式实战 6步 秒会 速成 优化代码ifelse

2022-06-23 17:12:57 184

原创 图解 Spring IoC 原理 源码 主流程 时序图

【IoC】最主要的类:ApplicationContext、BeanDefinition、BeanDefinitionReaderIoc从构造方法开始public ClassPathXmlApplicationContext(String… configLocations)1、定位:在ClassPathXmlApplicationContext中调用setConfigLocations()定位配置文件调用refresh();中的obtainFreshBeanFactory(); new De

2021-02-24 11:34:51 203

原创 Spring注解根据不同参数注入不同实现,@ServiceSelector注解自动选择平台端运营端,同一个接口自动根据系统走不同实现,策略模式

Spring注解根据不同参数注入不同实现,@ServiceSelector注解自动选择平台端运营端,同一个接口自动根据系统走不同实现,策略模式

2021-01-26 16:48:46 1262 5

原创 【RabbitMQ】Spring-Boot 整合 使用教程 可靠性投递 顺序消费 高可用方案 事务消息 幂等性 SET化架构 等等

1. 简介1.1 RabbitMQ定义RabbitMQ是一个消息代理和队列服务器,用来在不同应用之间共享数据,是Relang语言开发的,基于AMQP协议。1.2 AMQP定义是一个二进制协议。1.3 AMQP协议模型1.4 核心概念1. Server:Broker,接受客户端连接2. Connection:连接,应用程序与Broker的网络连接3. Channel:网络信道...

2019-02-27 18:17:31 2045 2

原创 Vim宏录制教程

【代码】Vim宏录制教程。

2022-11-06 18:43:17 1178 1

原创 Vim保姆级教程 宏录制 寄存器 映射 插件

【代码】Vim保姆级教程 宏录制 寄存器 映射 插件。

2022-11-06 18:30:05 309

原创 Linux 软件安装目录

​​/usr​​:系统级目录。可理解为​​C:/Windows/​​,​​/usr/lib​​: 可理解为 ​​C:/Windows/System32​​。​​/usr/local​​:用户级的程序目录。可理解为 ​​C:/Progrem Files/​​。用户自己编译的软件默认安装到这里。​​/opt​​:用户级的程序目录,可理解为 ​​D:/Software​​,​​opt​​用于放置第三方大型软件,当不需要时,直接 ​​rm-rf​​即可。当硬盘容量不够时,也可将​​/opt​​单独挂载到其他磁盘上使

2022-06-29 09:12:45 1198

原创 常用设计模式

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

2022-05-30 16:42:25 531

原创 Spring事务传播原理及数据库事务操作原理

xml基本配置<!-- 配置事务通知属性 --> <tx:advice id="transactionAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED" rollback-for="Exception,RuntimeException,SQLException"/> &l

2021-02-26 18:29:05 155

原创 图解 Spring MVC 原理 源码 主流程 时序图

【MVC】入口:HttpServletBean.init() extends HttpServlet.init()1、初始化1-1:入口:HttpServletBean.init()–>FrameworkServlet.initServletBean()–>FrameworkServlet.initWebApplicationContext()–>configureAndRefreshWebApplicationContext()初始化1-2:configureAndRefres

2021-02-25 15:04:06 213

原创 图解 Spring AOP 原理 源码 主流程 时序图

【AOP】入口:AbstractAutowireCapableBeanFactory的doCreateBean()1、创建代理类1-1:doCreateBean()-->initializeBean()初始容器创建的Bean实例对象,为其添加BeanPostProcessor后置处理器。1-2:initializeBean()-->applyBeanPostProcessorsAfterInitialization()对BeanPostProcessor后置处理器的postProc

2021-02-24 11:33:07 294

原创 hibernate 教程 笔记

以前的OneNote笔记

2021-02-23 18:39:19 98

原创 Struts2 教程 流程

一直使用OneNote记笔记,现在转博客好麻烦,只能以截图方式上传,也只能转一部分了,见谅……

2021-02-23 18:34:48 81

原创 图解 Spring DI 原理 源码 主流程 时序图

【DI】最主要的类:AbstractBeanFactory、AbstractAutowireCapableBeanFactory、SimpleInstantiationStrategy、BeanWrapperImpl入口:AbstractBeanFactory的getBean();1、实例化:首先,在AbstractBeanFactory调用了getBean();然后,在SimpleInstantiationStrategy调用了instantiate()中调用了BeanUtils.instant

2021-02-21 12:09:24 127

原创 正向代理 squid

外网服务器:yum -y install squidsquid startvim /etc/squid/squid.conf http_access deny all --> http_access allow all内网服务器:vim /etc/profilehttp_proxy=http://zzf1:[email protected]:3128https_proxy=http://zzf1:[email protected]:3128export ht

2021-02-05 14:28:32 169

原创 JVM内存 新生代 老年代 垃圾回收

JVM基本结构句柄池JDK8中把存放元数据中的永久内存从堆内存中移到了本地内存(native memory)中,这样永久内存就不再占用堆内存,它可以通过自动增长来避免JDK7以及前期版本中常见的永久内存错误(java.lang.OutOfMemoryError: PermGen)。①类加载子系统:负责从文件系统或网络中加载class信息,存放在方法区中②方法区:存放类信息和静态信息(常量信息、常量池信息、字符串常量和数字常量等)所...

2021-02-05 14:25:01 744 1

原创 JVM 类加载器 双亲委派

JVM自带的三个加载器根类加载器:BootstrapClassLoader由C++编写,没有父加载器,加载JVM核心类库(jdk/jre/lib目录下),没有继承java.lang.ClassLoader扩展类加载器:ExtensionClassLoader由Java实现,父加载器为Bootstrap,加载扩展类库(jdk/jre/lib/ext目录下),继承java.lang.ClassLoader系统类(应用类)加载器:AppClassLoader由Java实现,父加载器为Ext...

2021-02-05 14:21:34 115

原创 【常用设计模式】观察者-模板-策略-责任链-适配器-代理-装饰器-工厂 等13个最常用设计模式

目录1-行为型-6个1-观察者模式2-模板模式3-策略模式4-责任链模式5-状态模式6-命令模式2-结构型-5个7-适配器模式8-代理模式9-装饰器模式10-组合模式11-外观模式3-创建型-2个12-单例模式13-工厂模式前言1. 设计模式分类创建型模式:用来构建对象以便能从实现系统解耦结构型模式:用不同的对象组成大规模的对象结构行...

2019-02-28 11:58:05 320

原创 【Redis】使用教程

1. 安装&amp;amp;amp;amp;配置1.1 安装1. cd /usr/local/software2. wget http://download.redis.io/releases/redis-5.0.3.tar.gz3. tar -xzf redis-5.0.3.tar.gz -C /usr/local/4. ln -s redis-5.0.3 redis5. cd redis6. make ...

2019-02-27 18:05:39 237

原创 【docker】教程 常用命令 基础使用

1. 概念1.1 Docker镜像 - Docker Images容器运行时的只读模板,操作系统 + 软件运行环境 + 用户程序class User { private String username; private Integer age;}1.2 Docker 容器 - Docker Containers容器包含了某个应用运行所需要的全部环境User user ...

2019-02-25 17:59:34 1656

原创 【supervisor】使用教程 配置 作用 服务自动重启

1. 安装 启动 supervisor1.1 安装yum -y install supervisor1.2 生成配置文件并修改配置文件echo_supervisord_conf &amp;amp;gt; /etc/supervisord.conf1.3 创建文件夹,用于放启动程序的配置文件mkdir /etc/supervisor1.4 修改配置文件vim /etc/supervisord....

2019-02-19 16:35:21 432

原创 JDK8 新特性

1.Lambda1.1 Lambda-开启线程new Thread(() -&gt; { // TODO 线程代码}).start();1.2 Lambda-匿名类// 使用 java 7 排序private void sortUsingJava7(List&lt;String&gt; names){ Collections.sort(names, new Comp...

2019-02-10 09:37:47 568

原创 Spring beans 源码 分析

2019-01-14 18:16:52 201

原创 dubbo 源码分析 消费者请求

2019-01-14 18:15:46 142

原创 CountDownLatch 源码分析

2019-01-14 18:14:11 231

原创 【iTerm】教程 常用命令

• 常用快捷键 a. command + T:创建新窗口 b. command + D:垂直切分 c. command + shift + D:水平切分 d. command + option + E:全局查找窗口 e. 按住command: i. 选中字符串,可以拖拽 ii. 点击URL,调用默认浏览器打开 iii. 点击文件,用程序打开 iv. 同时安装option,...

2019-01-14 09:01:31 992

原创 Docker 命令

好久没有更新了,生锈了1. 基本操作启动一次性容器:docker run centos echo 'hello world'启动交互式容器:docker run -it centos /bin/bash,exit 退出并停止容器启动守护式容器:docker run -it centos /bin/bash,Ctrl+P/Ctrl+Q 退出并后台运行启动守护式容器:docker run -...

2019-01-12 21:27:10 211

原创 【AQS】JDK1.8 源码分析 之 AbstractQueuedSynchronizer

好几年没有更新博客了,满屋子的蜘蛛网

2019-01-12 21:07:07 173

原创 【Spring-Cloud】核心源码分析 高级篇

好几年没有更新博客了,满屋子都是灰尘1. Ribbon源码之负载均衡1.1 分析入口 @LoadBalancedpublic class RibbonLoadBalancerClient implements LoadBalancerClient { public &amp;amp;amp;amp;lt;T&amp;amp;amp;amp;gt; T execute(String serviceId, LoadBalancerRequest&amp;amp;amp;amp;l

2019-01-12 21:01:47 1515

原创 【Spring-Cloud】使用教程 基础篇 Eureka Ribbon Feign Hystrix Zuul Dashboard Sleuth Zipkin Config Bus

虽然用了好久,还是把有道云上的笔记1. Eureka-Server1.1 添加pom依赖&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;group

2019-01-11 09:22:39 304

原创 【Spring-Boot】源码 简解析 之 启动流程

断点源码只分析主要方法 源码版本:1.5.10package com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationp...

2018-05-04 17:53:51 190

原创 【动态多数据源】spring boot mybatis

概述spring boot + mybatis 实现动态多数据源,本文讲解一写两读,更多的配置一样前提:需要做好mysql的主从同步功能 实现的动态数据源的代码,主要在包conf中 DataSourceConfigurer.java ====&amp;amp;amp;amp;gt; 数据源配置类 DataSourceKey.java ====&amp;amp;amp;amp;gt; 数据源key类 DynamicDataSourceAspect...

2018-05-04 16:44:39 235

原创 Java多线程之初阶

线程安全 ① 什么是线程安全? 当多个线程访问某一个类(对象或方法)时,这个类能表现出正确的行为,那么这个类(对象或方法)就是线程安全的 synchronized:就是给对象或方法加锁,而加锁的代码称为“互斥区”或“临界区” ② 示例总结: 当多个线程访问同一个加锁方法时,是以线程排队的形式访问(这个排队的顺序是CPU指定的,不是代码指定的) 当一个线...

2018-04-13 19:41:16 204

原创 JVM类加载 & Tomcat类加载

JVM类加载1.根类加载器:BootstrapClassLoader由C++编写,没有父加载器,加载JVM核心类库(jdk/jre/lib目录下),没有继承java.lang.ClassLoader2.扩展类加载器:ExtensionClassLoader由Java实现,父加载器为Bootstrap,加载扩展类库(jdk/jre/lib/ext目录下),继承java.lan...

2018-04-12 13:51:22 384

原创 【Linux】常用命令 之 vim编辑器

vim编辑器 模式:命令模式、编辑模式、低行命令模式命令模式 i、a、o:进入编辑模式 I、A:在改行的最前/最后插入 gg:跳到文件的首行 G:跳到文件的末行 dd:删除一行 2dd:删除2行 yy:复制一行 3yy:复制3行 p:粘贴 u:undo v:进入字符选择模式,选完后,y复制,p粘贴 ctrl+v:进入块选择模式,选完后,y复制,p粘贴 shift+...

2018-04-10 19:34:09 277

原创 【Linux】常用命令 之 网络&系统

网络操作查看ip cat /proc/net/arp:查看内网ipPID&amp;amp;amp;端口 lsof -i:8080:查看端口被那个进程占用 netstat -nltp | grep 8080:查看端口监听情况 netstat -anp|grep 8080:查看端口被那个进程占用 netstat -nltp:查看网络进程的端口监听情况 jps:查看java端口 kill...

2018-04-10 13:03:33 227

原创 【Linux】常用命令 之 目录&文件

目录操作查看 ll:查看当前目录下的内容 ll -a:查看当前目录下的内容,包括隐藏 ll -h:查看当前目录内容,并显示对应文件的大小 cd/cd ~:切换到当前用户目录下 alias ll=’ls -l’:alias 重命名命令,然后将次命令加入到创建 mkdir aaa:创建aaa文件夹 mkdir -p aaa/bbb:递归创建目录删除 rm -rf ...

2018-04-09 08:52:44 421

空空如也

空空如也

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

TA关注的人

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