自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 JVM从零开始(二) -垃圾回收机制以及内存分代模型

JVM中垃圾回收的判定标准最终目的是将内存中无用的对象回收掉。具体的判定方法有:引用计数法,不采用,指的是维护对象被引用的次数,次数为0则意味着是垃圾。可达性算法-GC Roots tracing,指的是从GC Roots开始往下遍历所有引用的对象,(每个GC Root就是一个树状图)...

2019-09-03 01:15:00 586

转载 Redis缓存维护方案-怎么解决缓存与数据库不一致

一般常用的缓存方案有两种:第一种读的时候,先读缓存,缓存没有的话,读数据库,取出数据后放入缓存,同时返回响应。更新的时候,先删除缓存,在更新数据库。第二种读的时候,先读缓存,缓存没有的话,读数据库,取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,再删除缓存。第...

2019-09-02 23:52:00 866

转载 关于Springboot注解声明事务切面优先级的小测试

我们都知道,SpringBoot数据库事务是基于切面实现的,我们经常在自定义切面实现一些数据库操作,这些操作受不受Spring事务管理勒,怎么控制我们自己切面和事务切面的优先级关系,我做了些测试。前提:事务和切面的实现都采取注解实现,这也是我们当前最常用的。就不贴测试过程了,有点弱。测试结...

2019-09-02 21:39:00 3006

转载 Hystrix学习笔记

前言本文主要介绍Hystrix的基本功能,原理。Hystrix协调分布式系统中各个服务高可用的框架,SpringCloud体系重要的一员。Hystrix主要解决了服务雪崩问题、服务监控问题等。Hystrix功能介绍资源隔离与限流作用主要在于预防依赖服务崩溃影响到自己服务资源被耗光,...

2019-08-30 16:29:00 220

转载 分布式环境中分库分表、读写分离相关问题总结

一、为什么要用分库分表当不使用分库分表的情况下,系统的性能瓶颈主要体现在:当面临高并发场景的时候,为了避免Mysql崩溃(MySql性能一般的服务器建议2000/s读写并发以下),只能使用消息队列来削峰。受制于单机限制。数据库磁盘容量吃紧。数据库单表数据量太大,sql越跑越慢而分...

2019-08-26 12:08:00 737

转载 分库分表中间件-sharding-jdbc学习笔记-基于SpringBoot+TKMybatis搭建

一、前言常用分库分表的框架或中间件有MyCat和Sharding-JDBC。MyCat是基于中间件的形式,shrrding-jdbc是基于本地jar包的类库。sharding-jdbc属于ShardingSphere体系的一个组件,ShardingSphere体系也有Sharding-Pro...

2019-08-22 00:30:00 1788

转载 分布式锁之Redis锁和ZK锁

分布式锁分布式系统中,常见的分布式锁有两种,一种是基于Redis实现的分布式锁,一种是基于ZooKeeper锁。本篇文章简要介绍下其原理及方案。Redis锁redis锁简单版本上锁先说上锁的命令,上锁的命令是:set {lockName} {randomVal} nx px 3000...

2019-08-20 23:40:00 560

转载 dubbo学习笔记

一、流程简图dubbo的流程简图:二、通信协议dubbo支持多种通信协议,包括:dubbo协议(默认)。单一长连接(消费者和生产者一直保持单一的长连接)+ NIO异步通信(provider作为服务端轮询socket)+ hessian序列化协议。适用传输数据量很小,但是并发量很高,...

2019-08-19 23:39:00 141

转载 MyBatis插件运用之实体自动修改自己的业务主键和时间

一、前言一直很好奇,公司脚手架具体是如何自动在插入或修改数据库的时候自动去改修改时间,创建时间,如何去生成业务主键。今天仔细看了下mybatis的源码和公司的源码大概了解了些。现将心得总结如下。二、MyBatis的插件机制MyBatis是用了JavaSDK的动态代理机制对Executor...

2019-08-14 22:08:00 511

转载 Mybatis自定义全局TypeHander

一、TypeHander介绍typeHander就是mybatis处理Java类型和Jdbc类型时转换策略。mybatis在查询设置参数和从查询结果映射到Java类型时会调用相应的typeHander的方法完成转换。这里我写了一个小demo以完成自定义List到数据库的转换关系,mybati...

2019-08-13 23:38:00 1766

转载 关于伪删除的表如何设计唯一索引以满足外键关联只有一个保证插入幂等的小技巧...

刚来公司时看到很多表都有一个valid_code字段,最开始还不懂是什么含义,问了同事才明白。比如一张业务表有id,code,外键code,state,valid_code。state有两个状态表示数据是否存在,删除就是修改这个字段。valid_code我们的规则是如果是有效数据我们设为0...

2019-08-13 19:02:00 451

转载 Redis学习笔记

一、基础知识(一)Redis的线程模型其中:1.多路IO复用器。负责轮询监听服务器套接字和客户端套接字,这里是NIO的机制,所以每个套接字中间的可读,可写状态没有阻塞,避免了线程花费时间等待可读、可写状态。多路IO复用器监听之后生成了各个事件,分为可读和可写两类并携带对应套接字,然后...

2019-08-13 01:48:00 119

转载 elasticsSearch学习笔记

一、前言在分布式搜索引擎中,elasticsSearch逐渐变成一种标准了,其通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。但底层还是使用Lucene来实现搜索功能。二、核心概念index: 索引,是一类数据的抽象。type: 类型,是一类数据的具...

2019-08-06 21:39:00 134

转载 消息队列学习笔记

一、市面上流行的消息队列对比ActivityMQ activityMQ是老牌的消息队列,技术相对成熟,但吞吐量一般,目前行业趋势渐渐用的少了,社区也相比其他mq不够活跃。RabbitMQ,rabbitMQ是基于erlang语言开发的,国内中小企业比较流行,功能完备,特别值得一提的是管理后...

2019-07-30 23:23:00 110

转载 初识LCN分布式事务框架

今天无意中发现了一款分布式事务框架,LCN,看了下网上介绍感觉挺强大的。这里做一下笔记。一、环境基础LCN框架基础需要一台服务器作为事务管理器TxManager,此外还需要Redis和Eureka做配合,eureka负责为TxManager注册,redis主要是用于TxManager存放事...

2019-07-27 23:35:00 129

转载 分布式事务相关概念及解决方案模型

一、基本知识概念(一)数据库事务4大特性:ACID数据库事务需要实现下面4大特性:A-Atomicity-原子性,指的是事务要么成功提交,要么失败回滚C-Consistency-一致性,指事务操作前后,数据库的完整性不会产生变化,因为事务不可能执行一半,导致数据库内容不正确I-Is...

2019-07-27 13:03:00 109

转载 Springboot 2.1.5 配置JPA多数据源

最近在学sprinJpa,照着网上博客想试着配一下Jpa的多数据源,但发现因为springboot版本太高的问题,网上的demo都不适用,导致找了很久才找到解决办法。现在把操作过程记录如下。一、yml配置spring: datasource: test1: driv...

2019-07-18 22:39:00 223

转载 jackson自定义全局序列化、反序列化

需要自定义Jackson序列化和反序列化有两种方式,一种是全局定义,一种是非全局定义。先来看看全局定义。全局定义的步骤如下,以定义一个localDateTime的序列化和反序列化为例:一、创建序列化类创建一个序列化类然后继承JsonSerializer,重写serialize序列化方法。其...

2019-07-14 15:49:00 4329

转载 idea快速生成entity、dao、service

经常写一些业务代码,学会快速生成项目上业务代码所需的类entity、dao、service类对我们提高工作效率很有帮助,整理步骤如下:一、准备工作在idea中连接数据库下载idea的CodeMaker插件二、生成实体类准备生成实体类的groovy脚本,这里我直接用写好了的脚本,因...

2019-07-14 14:27:00 2954

转载 日常思考

转载于:https://my.oschina.net/u/4101481/blog/3048362

2019-05-11 15:35:00 89

转载 Activiti流程引擎学习笔记

转载于:https://my.oschina.net/u/4101481/blog/3048243

2019-05-10 23:53:00 119

转载 设计模式之中介者模式

一、什么是中介者模式Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to e...

2019-04-14 15:25:00 77

转载 设计模式之原型模式

转载于:https://my.oschina.net/u/4101481/blog/3036568

2019-04-14 01:33:00 72

转载 设计模式之代理模式

一、定义Provide a surrogate or placeholder for another object to control access to it.(为其他对象提供一种代理以控制对这个对象的访问。)二、基本组成(一)类图(二)角色定义Subject抽象主题角色。抽...

2019-04-14 00:42:00 69

转载 设计模式之建造者模式

一、定义Separate the construction of a complex object from its representation so that the same construction process can create different representatio...

2019-04-11 00:14:00 55

转载 设计模式之模板方法模式

一、定义Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain steps ...

2019-04-09 23:06:00 63

转载 设计模式之工厂模式

一、定义Define an interface for creating an object,but let subclasses decide which class toinstantiate.Factory Method lets a class defer instantiatio...

2019-04-07 16:35:00 66

转载 设计模式之单例模式

单例模式应该都很熟悉,就简单上一张图吧: 转载于:https://my.oschina.net/u/4101481/blog/3033197...

2019-04-07 14:27:00 72

转载 设计模式六大设计原则(六):开闭原则

一、定义Software entities like classes,modules and functions should be open for extension but closed for modifications.(一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。)...

2019-04-07 13:59:00 96

转载 设计模式六大设计原则(五):最少知识原则

一、定义一个对象应该对其他对象有最少的了解。在介绍具体含义之前先解释下什么是朋友类:出现在成员变量、方法的输入输出参数中的类称为成员朋友类,而出现在方法体内部的类不属于朋友类。最少知识原则的包含的具体含义:只和朋友交流。类与类之间的关系是建立在类间的,而不是方法间,因此一个方法...

2019-04-06 15:48:00 276

转载 设计模式六大设计原则(四):接口隔离原则

一、定义有两种定义:Clients should not be forced to depend upon interfaces that they don't use.(客户端不应该依赖它不需要的接口。)The dependency of one class to another o...

2019-04-06 05:54:00 135

转载 设计模式六大设计原则(三):依赖倒置原则

一、定义High level modules should not depend upon low level modules.Both should depend upon abstractions.Abstractions should not depend upon details.D...

2019-04-06 04:27:00 89

转载 设计模式六大设计原则(二):里式替换原则

一、里氏替换原则的概念里氏替换由Barbara Liskov女士提出,其给出了两种定义:If for each object o1 of type S there is an object o2 oftype T such that for all programs P defin...

2019-04-05 16:08:00 154

转载 设计模式六大设计原则(一):单一职责原则

什么是单一职责原则单一职责原则的原话是:There should never be more than one reason for a class to change。翻译过来就是应该有且仅有一个原因引起类的变更。要知道,我们的方法、接口、类都是基于职责设计的,只是粒度不同,单一...

2019-04-05 01:54:00 134

转载 设计模式之策略模式

什么是策略模式策略模式图示:这里选了《设计模式之禅》书中配图解释策略模式。该图示中有4个角色。分别为:使用者赵云表示外层业务策略上下文类 成员变量有策略接口,bao露set策略接口的方法供使用者,以及一个或多个方法,这些方法中引用了策略接口的方法。策略接口 封装了一个算法族(一...

2019-04-04 00:45:00 65

转载 MarkDown用法

转载于:https://my.oschina.net/u/4101481/blog/3031425

2019-04-02 16:17:00 67

空空如也

空空如也

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

TA关注的人

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