自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沐宇熙IT成长之路

记录工作中的点滴

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

原创 JVM学习目录

jvm相关博文:JVM-01 JVM内存结构JVM-02 类加载器深入解析JVM-03 JVM性能调优监控工具JVM-04 JVM垃圾回收JVM-05 实战调优

2019-02-27 09:39:03 4690 1

原创 springcloud教程目录

快速入门springcloud微服务介绍   

2018-08-15 11:26:20 1255

原创 springboot教程目录

快速入门springboot初体验 springboot属性配置文件详解 springboot日志[logback、log4j、log4j2]web基础springboot集成模板引擎实现web应用 springboot统一异常处理 springboot自定义视图映射插件集成springboot简单集成异步线程 springboot集成Swagger2构建RESTful ...

2018-08-13 12:37:22 19634 2

原创 实体类转换还在用反射技术吗? 你已经out了看mapstruct如何帮你实现

文章目录1.什么是MapStruct1.1 JavaBean 的困扰1.2 MapStruct 带来的改变2.MapStruct 入门2.1 添加依赖2.2 po类2.3 dto类2.4 创建转换接口2.5 测试方法2.6 运行效果2.7 查看编译的class3.MapStruct优点分析3.1 性能高3.2 使用简单3.3 代码独立3.4 易于 debug4.MapStruct使用案例4.1 ...

2020-01-07 16:07:20 716

原创 css01-css2

文章目录1.CSS简介1.1 CSS的发展历程1.2 CSS 网页的美容师1.3 CSS初识1.4 引入CSS样式表(书写位置)1.4.1 内部样式表1.4.2 行内式(内联样式)1.4.3 外部样式表(外链式)1.4.4 三种样式表总结(位置)1.4.5 CSS样式规则1.5 CSS注释2.开发者工具(chrome)3.选择器(重点)3.1 CSS基础选择器3.1.1 标签选择器(元素选择器)3...

2019-11-29 15:40:04 905

原创 html01-html4

文章目录1.web初识1.1 什么是web1.2 什么是web前端和后端1.3 什么是web前端?1.4 Web前端所有需要的技术?1.5 浏览器1.6 web标准1.7 什么是网站和网页?2.开发工具3.html3.1 html简介3.2 html骨架结构4.常用标签4.1 标签的类型4.2 标签的关系4.3 常用标签4.4 图片标签``4.4.1 插入图和背景图的区别4.5 超链接``4.5...

2019-11-29 15:29:47 502

原创 mybatis04-mybatis源码-一级缓存、二级缓存

文章目录拓展阅读一级缓存具体流程注意事项开启日志打印源码分析缓存key创建最终查询方法执行update、inset方法一级缓存问题关闭一级缓存二级缓存mybatis缓存执行流程redis集成mybatis二级缓存mybatis.xml指定缓存二级缓存回收策略软引用与弱引用的区别:MybatisRedisCacheUserEntity测试效果源码分析TransactionalCacheTransac...

2019-11-29 15:24:45 320

原创 mybatis03-mybatis源码分析2

文章目录获取mapper接口实例源码jdk动态代理伪代码实现动态获取mapper接口实现类UserMapper.xml如何被加载到内存获取mapper代理源码执行方法分析SQLSession的作用build.openSession()源码分析执行器源码分析执行器分类获取mapper接口实例源码// 5.获取对应的mapperUserMapper userMapper = sqlSession...

2019-11-29 15:22:12 163

原创 mybatis02-mybatis源码分析

文章目录Mybatis使用常用设计模式源码查看环境准备sql添加依赖entitymapper接口mapper xmlmybatis配置文件 mybatis.xml测试类运行效果源码分析Reader分析SqlSessionFactoryBuilderXMLConfigBuilderConfigurationmapperElementMybatis使用常用设计模式Builder模式,例如Sq...

2019-11-29 15:19:54 134

原创 mybatis01-简介

文章目录0.拓展1.jdbc操作数据库1.1 maven依赖1.2 java代码1.3 传统 JDBC 的弊端2.现阶段数据访问层框架2.什么是mybatis2.1 参考手册2.2 mybatis架构3.helloword(xml)4.mybatis全局注解详解5.mybatis注解实现5.1 mybatis-config.xml5.2 UserMapper6.Mybatis 之注解和 xml 优...

2019-11-29 15:15:05 206 1

原创 1.设计模式概述

[toc]1.为什么要使用设计模式使用设计模式可以重构整体架构代码、提交代码复用性、扩展性、减少代码冗余问题。Java高级工程师必备的技能!2.什么时候需要用到设计模式实现代码重构的肯定是整体的骨架、聚合支付平台、写一些框架3.设计模式六大原则开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不...

2019-10-16 15:37:17 863

原创 设计模式-11 单例模式

文章目录1.什么是单例模式2.单例模式优缺点2.1 优点2.2 缺点3.单例写法3.1 饿汉式3.2 懒汉式(线程不安全)3.3 懒汉式(线程安全)3.4 双重检验锁3.5 静态内部类3.6 枚举方式3.7 容器管理4.如何防止破坏单例4.1 反射技术4.2 使用序列化技术破解单例5.防止破解5.1 反射技术5.2 序列化1.什么是单例模式单例模式确保一个类只有一个实例,并提供一个全局访问点...

2019-07-29 19:56:16 14140

原创 设计模式-10 适配器模式

文章目录1.什么是适配器模式2.适配器模式角色划分3.适配器模式应用场景4.适配器创建的方式5. 适配器快速入门例子5.1 源5.2 适配器5.3 测试代码6.使用适配器模式实现日志收集6.1 定义基本实体类6.2 源接口6.3 源实现6.4 目标接口6.5 适配器6.5.1 类适配器模式6.5.2 对象适配器方式(使用较多)6.6 测试7.适配器模式优缺点7.1 优点7.2 适配器模式的缺点8....

2019-07-29 19:55:37 528

原创 设计模式-09 状态模式

文章目录1.什么是状态模式2.状态模式应用场景3.状态模式类图4.状态模式实现4.1 添加依赖4.2 状态抽象接口4.3 状态实现4.4 上下文4.5 控制类4.6 工具类4.7 启动类1.什么是状态模式状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。2.状态模式应用场景一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为...

2019-07-29 11:43:35 546

原创 设计模式-08 外观模式(门面)

文章目录1.什么是外观模式2.外观模式类图3.代码实现外观模式3.1 添加依赖3.2 创建业务逻辑封装3.3 创建门面接口4.门面模式优缺点4.1 优点4.2 缺点1.什么是外观模式外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。...

2019-07-29 11:42:24 859

原创 设计模式-05 装饰者模式

文章目录1.什么是装饰者模式2.装饰者模式应用场景3.装饰者模式优缺点4.代码实现装饰模式4.1 装饰者模式定义4.2 装饰者模式类图4.3 代码实现4.3.1 规范接口4.3.2 被装饰者4.3.3 抽象装饰类4.3.4 具体装饰者4.3.4 使用4.3.6 效果4.3.7 代码优化4.3.8 继续优化5.Java I/O 中的装饰者模式6.责任链与装饰模式区别1.什么是装饰者模式在不改变...

2019-07-29 10:21:26 191

原创 设计模式-07 观察者模式

文章目录1.什么是观察者模式2.观察者模式应用场景3.观察者模式原理类图4.观察者模式简单的实现4.1 抽象主题4.2 抽象观察者4.3 具体主题4.4 具体观察者4.5 测试方法5.JDK自带观察实现消息发送5.1 案例5.1.1 具体主题5.1.2 具体观察者5.1.3 测试方法6.Spring封装事件监听6.1 添加依赖6.2 主题类6.3 具体监听类6.4 控制类6.5 启动类1.什么是...

2019-07-29 10:15:24 495

原创 设计模式-06 代理模式

文章目录1.什么是代理模式2.为什么使用代理模式3.代理模式实现原理4.代理模式应用场景5.代理模式创建的方式5.1 静态代理5.1.1 基于接口实现方式5.1.2 基于实现类方式5.2 动态代理5.2.1 JDK动态代理5.2.2 CGLIB动态代理5.2.2.1 CGLIB原理5.2.2.2 Cglib优缺点5.2.2.3 CGLIB代理实现5.3 JDK动态代理与CGLIB实现区别5.4 使...

2019-07-27 14:48:57 518

原创 Eureka实现动态扩容

文章目录1.概述2.Springcloud Config实现动态扩容Eureka2.1 原理图2.2 代码实现2.2.1 创建工程2.2.2 eureka-expansion2.2.2.1 添加依赖2.2.3 配置中心(config-server)2.2.3.1 添加依赖2.2.3.2 启动类2.2.3.3 配置文件2.2.4 eureka服务端(eureka-server)2.2.4.1 添加依...

2019-07-23 20:49:11 15198

原创 设计模式-04 工厂模式、模版模式

文章目录1.工厂模式1.1 Spring框架中工厂模式1.2 工厂模式优缺点2.模版模式2.1 什么是模版方法2.2 代码实现2.2.1 添加依赖2.2.2 启动类2.2.3 抽象类2.2.4 实现类2.2.5 工厂2.2.6 controller2.2.7 测试2.3 模式模式优缺点2.4 策略模式与模版方法模式的区别1.工厂模式工厂模式是为了解耦:把对象的创建和使用的过程分开。就是Cl...

2019-07-23 20:37:21 711

原创 设计模式-03 责任链模式

文章目录1.什么是责任链模式1.1 定义1.2 责任链主要流程2.责任链模式类结构图3.责任链模式优缺点3.1 优点3.2 缺点4.责任链模式应用场景5.网关权限控制责任链模式5.1 java实现责任链模式5.1.1 抽象角色5.1.2 实现类5.1.3 工厂5.1.4 测试方法5.2 基于数据库实现5.2.1 sql5.2.2 maven依赖5.2.3 SpringUtils5.2.4 mapp...

2019-07-22 17:01:10 303

原创 设计模式-02 策略模式

文章目录1.什么是策略模式2.策略模式角色3.策略模式应用场景4.策略模式架构图5.策略模式环境搭建5.1 依赖包5.2 启动类5.3 算法接口5.4 实现5.5 上下文相当于service5.6 controller5.7 mapper、实体5.8 spring工具类5.9 运行结果1.什么是策略模式策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可...

2019-07-21 22:18:12 186

原创 设计模式-1 设计模式概述

文章目录1.为什么要使用设计模式2.什么时候需要用到设计模式3.设计模式六大原则4.设计模式的分类1.为什么要使用设计模式使用设计模式可以重构整体架构代码、提交代码复用性、扩展性、减少代码冗余问题。Java高级工程师必备的技能!2.什么时候需要用到设计模式实现代码重构的肯定是整体的骨架、聚合支付平台、写一些框架3.设计模式六大原则开闭原则(Open Close Princi...

2019-07-21 22:15:54 200

原创 彻底解决网站跨域问题

文章目录1.环境准备2.什么是网站跨域3.跨域问题演示![在这里插入图片描述](https://img-blog.csdnimg.cn/20190712102730902.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMxNDYz...

2019-07-12 10:30:56 4224

原创 分布式事务02-Jta+Atomikos解决分布式事务

文章目录1.基本概念1.1 Jta+Atomikos 简介1.2 XA协议1.3 JTA1.4 Atomikos2.两阶段提交协议3.代码实现3.1 添加依赖3.2 配置两个数据源3.3 测试1.基本概念1.1 Jta+Atomikos 简介传统项目中,比如项目中使用到多数据源的时候大多数采用jta+Atomikos解决分布式事务问题,jta+Atomikos底层是基于XA协议的两阶段提交...

2019-05-31 16:43:59 10762

原创 分布式事务01-分布式事务概述

文章目录1.分布式事务产生的背景1.1 分布式事务在不同场景下如何产生1.2 案例2.事务理论知识2.1 ACID(酸碱平衡理论)2.2 CAP(帽子原理)2.2.1 什么是CAP2.2.2 CAP原理2.3 BASE理论2.4 柔性事务和刚性事务2.4.1 柔性事务解决方案1.分布式事务产生的背景在微服务环境下,因为会根据不同的业务会拆分成不同的服务,比如会员服务、订单服务、商品服务等,让...

2019-05-31 11:07:44 605

原创 rabbitmq-04 rabbitmq解决分布式事务

1.RabbitMQ消息重试机制消费者在消费消息的时候,如果消费者业务逻辑出现程序异常,这时候应该如何处理?答案:使用消息重试机制。(springboot默认有消息重试机制)1.1 如何合适选择重试机制消费者获取到消息后,调用第三方接口,但接口暂时无法访问,是否需要重试? (需要重试机制)消费者获取到消息后,抛出数据转换异常,是否需要重试?(不需要重试机制)需要发布进行解决。...

2019-05-03 15:38:59 16307 9

原创 rabbitmq-03 rabbitmq集成springboot

代码地址1.添加依赖<dependencies> <!-- springboot-web组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star...

2019-05-03 15:37:29 944

原创 rabbitmq-02 rabbitmq五种队列

1.消息队列RabbitMQ的五种形式队列点对点(简单)的队列工作(公平性)队列模式发布订阅模式(fanout)路由模式Routing通配符模式Topics官网2.点对点(简单)的队列2.1 代码实现2.1.1 添加依赖<dependency> <groupId>com.rabbitmq</groupId> <a...

2019-05-03 15:28:45 1108

原创 rabbitmq-01 rabbitmq概念介绍

1.RabbitMQ简介RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ ...

2019-05-03 15:24:31 954

原创 sharding-sphere-01 ss介绍中间件的比较

文章目录1.什么是分库分表2.为什么需要分库分表2.1 读写分离3.分库分表常见方式3.1 垂直(字段拆分)3.1.1 特点3.1.2 优点3.1.3 缺点3.2 水平(内容拆分)4.分库分表之后带来的问题5.分库分表算法6.常见的中间件1.什么是分库分表一个数据库一张表分成N小表(不把鸡蛋放在一个篮子里)2.为什么需要分库分表业务越来越大,单表数据超出了数据库支持的容量。持久化磁盘IO...

2019-02-27 09:57:19 438

原创 JVM-05 实战调优

文章目录1.JVM调优主要就是调整下面两个指标2.GC调优步骤3.Parallel Scavenge收集器(默认)3.1 生成分析日志parallel-gc.log3.2 上传parallel-gc.log到gceasy3.3 第一次调优,设置Metaspace大小3.4 第二次调优,添加吞吐量和停顿时间参数:3.5 第三次调优,修改动态扩容增量:4.配置CMS收集器5.配置G1收集器5.1 G1...

2019-02-27 09:32:52 686

原创 JVM-04 JVM垃圾回收

文章目录1.JVM内存分配与回收1.1 对象优先在Eden区分配1.1.1 测试1.2 大对象直接进入老年代1.3 长期存活的对象将进入老年代2.如何判断对象可以被回收2.1 引用计数法2.2 可达性分析算法2.3 finalize()方法最终判定对象是否存活2.4 如何判断一个常量是废弃常量2.5 如何判断一个类是无用的类3.垃圾收集算法3.1 标记-清除算法3.2 复制算法3.3 标记-整理算...

2019-02-26 11:51:40 803

原创 用FastDFS一步步搭建文件管理系统

一、FastDFS介绍FastDFS开源地址:https://github.com/happyfish100参考:分布式文件系统FastDFS设计原理参考:FastDFS分布式文件系统个人封装的FastDFS Java API:https://github.com/bojiangzhou/lyyzoo-fastdfs-java1、简介FastDFS 是一个开源的高性能...

2019-02-26 11:36:14 240

原创 JVM-03 JVM性能调优监控工具

文章目录1.Jinfo1.1 查看jvm的参数1.2 查看java系统参数2.Jstat2.1 类加载统计2.2 垃圾回收统计2.3 堆内存统计2.4 新生代垃圾回收统计2.5 新生代内存统计2.6 老年代垃圾回收统计2.7 老年代内存统计2.8 元数据空间统计2.9 gc工具3.Jmap3.1 实例个数以及占用内存大小3.2 堆信息(mac报错)3.3 堆内存dump3.3.1 内存溢出示例3....

2019-02-26 11:32:19 781

原创 JVM-02 类加载器深入解析

文章目录1.类加载过程1.1 类加载1.2 类加载器种类1.2.1 测试代码1.3 类加载机制1.3.1 全盘负责委托机制1.3.2 ==双亲委派机制==1.3.2.1 双亲委派模式优势1.4 类加载过程1.类加载过程Java运行时编译源码(.java)成字节码,由jre运行。jre由java虚拟机(jvm)实现。Jvm分析字节码,后解释并执行1.1 类加载类加载器将class文件...

2019-02-26 11:24:22 940

原创 JVM-01 JVM内存结构

文章目录1.JVM整体架构1.1 JVM(虚拟机)1.2 Java虚拟机阵营2.JVM子系统构成3.JVM内存结构3.1 名词解释3.2 JVM对该区域规范了两种异常3.3 实例详解Java栈3.4 栈+堆+方法区的交互关系3.5 堆(线程共享)3.5.1 **为什么jdk1.8用元数据区取代了永久代**?3.5.2 java虚拟机调优的目的3.6 JVM执行案例分析3.6.1 编写java类3....

2019-02-26 11:17:24 3296 4

原创 spring-06 springmvc设计思想与体系结构

文章目录1.servlet 与jsp 执行过程2.spring mvc 执行2.1 spring mvc 执行流程2.2 spring mvc 体系结构2.3 实现简单spring mvc2.3.1 项目依赖2.3.2 web.xml2.3.3 spring-mvc.xml2.3.4 创建controller2.3.5 运行jeety2.4 体系结构UML3.mvc 执行流程解析3.1 mvc 各...

2019-02-26 10:34:04 539

原创 spring-05 AOP

文章目录1.什么是AOP2.AOP作用3.AOP底层实现4.Spring中的AOP4.1 AOP相关术语4.2 关于代理的选择4.3 springAop和AspectJ的关系4.4 Spring的AOP配置4.4.1 添加依赖4.4.2 添加切面类4.4.3 服务类4.4.4 spring-aop.xml4.4.5 测试4.5 ==切入点表达式的写法==4.5.1 execution4.5.2 w...

2019-02-26 10:32:41 201

原创 spring-04 spring事务底层原理分析

文章目录1.数据库的事务的基本特性1.1 演示1.1.1 sql准备1.1.2 设置连接参数1.2 数据库默认隔离级别1.3 查看mysql 的默认隔离级别2.spring对事务的支持与使用2.1 spring 事务相关API说明2.1.1 如何使用spring事务2.2.2 接口结构图2.2.3 API使用2.2 声明示事物2.2.1 如何使用2.2.1.1 添加依赖2.2.1.2 xml配置2...

2019-02-26 10:31:54 3946

空空如也

空空如也

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

TA关注的人

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