君子敏于行而讷于言

我的架构师成长足迹

03-软件系统设计

MVC架构 MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新...

2018-10-19 14:43:11

阅读数 2887

评论数 0

02-软件架构设计—需求与质量

软件的属性包括功能属性和质量属性,但是,软件架构重点关注的是质量属性。因为,在大量可能的结构中,可以使用不同的结构来实现同样的功能性,即功能性在很大程度上是独立于结构的,架构设计师面临决策(对结构的选择),而功能性所关心的是它如何与其他质量属性进行交互,以及它如何限制其他质量属性。 #一、 软件...

2018-10-18 09:30:28

阅读数 2934

评论数 0

01-系统可靠性

##【问题1】 请用200字以内文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术? 系统可靠性定义:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。 根据国家标准《软件工程产品质量第1部分:质量模型》(GB/T16260...

2018-10-17 11:44:10

阅读数 3261

评论数 0

烧开水理论-证明自己存在的三个过程

烧开水理论的提出者是廖泉文廖教授指出,人生证明存在的过程犹如“烧开水”,这一过程包含了三个过程 第一个过程是“不断添柴”,即努力学习,不停顿地学习,不停顿地向社会和环境 学习的过程; 第二个过程是耐得住寂寞,“不要频繁地掀锅盖”,也就是积累过程不能急于表现自己,这种积累既要求自己吃苦,还要求自...

2018-08-19 21:21:18

阅读数 3993

评论数 0

Proxy(代理)模式

一、概述 代理模式 为其他对象提供一种代理以控制对这个对象的使用 比如人力外包 公司想招聘人干活,但又不想管理 代理对象去除无须了解的服务,实现客户与目标对象之间的关联 二、结构 1、抽象主题角色:subject,声明了代理主题和真实主题的公共接口,使任何需要真实主题的地方都...

2018-08-12 14:46:55

阅读数 7793

评论数 0

Singleton(单例)模式

一、单例模式介绍 二、单例的优缺点 2.1 主要优点 2.2 主要缺点 三、饿汉式-单例设计模式 四、懒汉单例–单例设计模式 五、两种单例模式区别 5.1 相同点 5.2 不同点 一、单例模式介绍 确保一个类只有一个实例,而且自行实例并各整个系统提供这个实例,它会...

2018-08-10 14:35:40

阅读数 8751

评论数 0

设计原则

开闭原则(ocp) 单一职责原则 里氏替换原则 依赖倒转 接口隔离 迪米特法则 开闭原则(ocp) 是指”对软件实体应当对扩展开放,对修改关闭” “对扩展开放的”这意味着模块的行为是可以扩展的, “对修改关闭”对模块进行扩展时,不必改动模块的源代码及二进制码 ...

2018-08-10 06:58:33

阅读数 8525

评论数 0

序列化与反序列化

1 序列化和反序列化的概念 2 什么情况下需要序列化 3 如何实现序列化 3.1 实现序列化 3.2 序列化,反序列测试代码 3.3 验证静态的属性能不能被序列化和反序列化 3.4 示范serialVersionUID 的作用和用法 4 jdk api 文档里面关于接口 Serializ...

2018-08-09 18:03:15

阅读数 8769

评论数 0

Web服务器及性能优化

一、WEB服务器 1.1 概述: 1.2 区别: 1.2.1 Apache 1.2.2 Tomcat 1.2.3 Jboss 二、浏览器端,关于浏览器端优化 2.1 压缩源码和图片 2.2 选择合适的图片格式 2.3 合并静态资源 2.4 开启服务器端的Gzip压缩 2.5 使用CD...

2018-08-09 07:03:34

阅读数 11672

评论数 0

分布式-分布式锁

一、分布式锁的几种实现方式 1.1 分布式锁的三种实现方式 1.2 使用分布式锁要满足的条件 二、基于数据库实现分布式锁 2.1 基于数据库表 2.2 基于数据库排他锁 2.3 总结 2.3.1数据库实现分布式锁的优点 2.3.2 数据库实现分布式锁的缺点 三、 基于缓存实现分布...

2018-08-08 16:20:48

阅读数 9511

评论数 0

分布式-分布式缓存Redis

一、Redis常用五大数据类型 1.1 String(字符串) 1.2 Hash(哈希) 1.33 List(列表) 1.4 Set(集合) 1.5 zset(sorted set:有序集合) 二、redis应用场景 2.1 缓存——热数据 2.2 计数器 2.3 队列 2.4 位操作(...

2018-08-08 10:40:14

阅读数 9914

评论数 0

Postgresql使用技巧

1.递归层次查询 2.重复数据过滤 3.COALESCE滤空处理 4.日期、字符转换函数 5.case when条件判断 6.like模糊查询 7.json中作为查询条件及只显示json中相应的key 8.mybatis调用存储过程 9.插入数组字段 10.插入jsonb字段 11.创建表序...

2018-08-07 19:32:55

阅读数 5464

评论数 0

JDKProxy与CGlibProxy

一、原理区别: java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。 而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。 1、如果目标对象实现了接口,默认情况下会采用J...

2018-08-06 18:30:35

阅读数 5462

评论数 0

详解PV、UV、VV、IP及其关系与计算

通过kafka进行日志收集 一、什么是PV? PV即Page View,网站浏览量,指页面浏览的次数,用以衡量网站用户访问的网页数量。 用户每次打开一个页面便记录1次PV,多次打开同一页面则浏览量累计。一般来说,PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量,如同...

2018-08-05 17:37:26

阅读数 6263

评论数 0

TCP的三次握手与四次挥手

https://blog.csdn.net/qzcsu/article/details/72861891 1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。 1.2 OSI先有模型,后有协议...

2018-08-04 10:48:50

阅读数 9113

评论数 0

Servlet

Servlet是单实例多线程运行方式,所以对象变量线程不安全,局部变量线程安全。 Servlet 生命周期、工作原理 Servlet的生命周期由Servlet容器管理; Servlet 生命周期: - Servlet 加载—>实例化...

2018-08-03 16:31:30

阅读数 9512

评论数 0

Mybatis插件原理(拦截器)

MyBatis拦截器原理探究 MyBatis拦截器介绍 MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。那么拦截器拦截MyBatis中的哪些内容呢? 我们进入官网看一看: MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,...

2018-08-02 07:59:44

阅读数 10076

评论数 0

客户端与服务器端防重复提交

一、客户端防表单重复提交 1.1 实现方式、思路 为了防止用户在客户端重复提交表单,要分析从客户端和服务端对重复提交的表单就行处理,首先是客户端处理重复提交表单,使用JavaScript方法 第一种是只允许表单提交一次,后来的不能再提交 第二种是提交一次后按钮变成不可用 1.2...

2018-08-01 07:02:48

阅读数 9867

评论数 0

Dubbo高级篇_14_Filter实现Dubbo接口黑白名单

微服务背景下,一个web应用都可能不再service依赖,而是通过RPC调用远端服务器上的服务。 这些服务里,就包括了一些不能轻易暴露的后台功能接口。暴露出去的dubbo接口注册到某一个zk上后,该dubbo接口对注册到该zk上的消费者都是可见的。 对公司内部而言,通常不会有人蓄意去调用一些敏...

2018-07-31 15:14:14

阅读数 10341

评论数 0

Dubbo高级篇_13_Dubbo缓存

结果缓存,用于加速热门数据的访问速度, Dubbo提供声明式缓存,以减少用户加缓存的工作量。 按照SPI的要求,我们从配置文件中可以看到dubbo提供的三种缓存接口的入口: threadlocal=com.alibaba.dubbo.cache.support.threadlocal....

2018-07-30 22:28:15

阅读数 11518

评论数 0

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