架构
qinhej
这个作者很懒,什么都没留下…
展开
-
Linux使用小记
文章目录一、linux的体系结构二、指令1、cd2、find:查找文件3、chown chomd4、grep5、对文件内容做统计 awk6、批量替换文本内容 sed一、linux的体系结构体系结构主要分为用户态(用户上层活动)和内核态内核:本质是一段管理计算机硬件设备的程序系统调用:内核的访问接口,是一种能再简化的操作公用函数库:系统调用的组合拳Shell:命令解释器,可编程二...原创 2020-04-27 11:43:11 · 407 阅读 · 0 评论 -
rabbitmq使用总结
demo代码在ssm-demo中一、rabbitmq的几种工作模式1、simple 三个对象:生产者、队列、消费者 代码: Sender:package com.my.test.rabbitmq.simple;import com.my.test.rabbitmq.utils.ConnectionUtils;import com.rabbitmq.client.Cha...原创 2020-04-24 16:41:25 · 279 阅读 · 0 评论 -
java Builder模式
java Builder模式/** * 通用的 Builder 模式构建器 * * @author: CipherCui * @since 2019/8/29 */public class Builder<T> { private final Supplier<T> instantiator; private List<Consumer&...原创 2020-04-24 16:01:42 · 417 阅读 · 0 评论 -
springboot文件上传下载
文章目录1、application.properties 配置1、页面2、服务端3、ResponseEntity下载1、application.properties 配置server.port=80## MULTIPART (MultipartProperties)# 开启 multipart 上传功能spring.servlet.multipart.enabled=true# 文件...原创 2020-04-24 15:59:47 · 151 阅读 · 0 评论 -
java注解
一、自定义java注解@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})public @interface Demo { /** * default extension name */ String value() default "";}1、@Rete...原创 2020-04-24 15:56:56 · 122 阅读 · 0 评论 -
双亲委派
1、双亲委派:于任意一个类,都需要由加载它的类加载器和这个类本身来一同确立其在Java虚拟机中的唯一性。双亲委派:如果一个类加载器收到了加载某个类的请求,则该类加载器并不会去加载该类,而是把这个请求委派给父类加载器,每一个层次的类加载器都是如此,因此所有的类加载请求最终都会传送到顶端的启动类加载器;只有当父类加载器在其搜索范围内无法找到所需的类,并将该结果反馈给子类加载器,子类加载器会尝试去自...原创 2020-04-24 15:55:04 · 101 阅读 · 0 评论 -
mysql索引优化
文章目录一、select_type1、simple2、primary derived3、union4、subquery二、type1、 system2、const3、eq_ref4、all5、ref6、range7、index三、possible_keys四、key五、key_len六、ref七、 rows八、Extra九、不能使用索引的情况1、在使用LIKE关键字进行查询的查询语句中,如果匹配字...原创 2020-04-24 15:49:19 · 307 阅读 · 0 评论 -
Event Sourcing和CQRS
深入浅出Event Sourcing和CQRSEvent Sourcing也叫事件溯源,是这些年另一个越来越流行的概念,是大神Martin Fowler提出的一种架构模式。简单来说,它有几个特点:整个系统以事件为驱动,所有业务都由事件驱动来完成。事件是一等公民,系统的数据以事件为基础,事件要保存在某种存储上。业务数据只是一些由事件产生的视图,不一定要保存到数据库中。什么是Event ...原创 2020-04-24 15:27:04 · 272 阅读 · 0 评论 -
EDA事件驱动架构
EDA事件驱动架构事件代表过去发生的事件,事件既是技术架构概念,也是业务概念。以事件为驱动的编程模型称为事件驱动架构EDA。EDA是一种以事件为媒介,实现组件或服务之间最大松耦合的方式。传统面向接口编程是以接口为媒介,实现调用接口者和接口实现者之间的解耦,但是这种解耦程度不是很高,如果接口发生变化,双方代码都需要变动,而事件驱动则是调用者和被调用者互相不知道对方,两者只和中间消息队列耦合。...原创 2020-04-24 15:25:20 · 651 阅读 · 0 评论 -
状态对象:数据库的替代者
状态对象:数据库的替代者这是一个实战中非常重要但是容易被忽视的概念,说它重要,是因为它比数据库重要;说它容易被忽视也是同样的原因,它经常被数据库概念替代。如果你经验和经历中没有状态这个概念,极端地说:可能你的Java系统经验还未积累到一定程度,状态是每个Java程序员深入Java系统后必然碰到的问题。本文我想试图表达的是:状态分两种:活动的状态对象和持久化的状态。而数据库中的数据只是状态的一...原创 2020-04-24 15:22:58 · 126 阅读 · 0 评论 -
内存缓存(in-memory cache)
内存缓存(in-memory cache)当建立一个大型Java应用时,引起性能问题大部分是延迟,延迟是指请求和响应之间的时间差,在一个分布式Java系统中引起延迟的原因有:从磁盘上加装数据的IO延迟跨网络加装数据的IO延迟。在分布式锁上的资源争夺。垃圾回收引起的暂停。典型Ping时间是:本地机器是57µs;局域网是300 µs;从伦敦到纽约是100ms;对于1Gb网络,网络数据传...原创 2020-04-24 15:21:43 · 1035 阅读 · 0 评论 -
DCI模型架构
DCI模型架构DCI是对象的Data数据, 对象使用的Context场景, 对象的Interaction交互行为三者简称, DCI是一种特别关注行为的模式(可以对应GoF行为模式),而MVC模式是一种结构性模式,DCI可以使用演员场景表演来解释,某个实体在某个场景中扮演包公,实施包公升堂行为;典型事例是银行帐户转帐,转帐这个行为按照DDD很难划分到帐号对象中,它是跨两个帐号实例之间的行为,我们...原创 2020-04-24 15:20:46 · 1127 阅读 · 0 评论 -
领域驱动设计
一、了解DDD Eric Evans的“Domain-Driven Design领域驱动设计”简称DDD,Evans DDD是一套综合软件系统分析和设计的面向对象建模方法。 定义:DDD是一种以领域为核心的设计和开发理念。领域驱动设计(Domain-driven design 缩写DDD)不是一种技术或者方法,DDD提供了一种实践性的指导原则,用来解决和加速处理复杂领域的软件项目。DDD通...原创 2020-04-24 15:18:49 · 416 阅读 · 0 评论