心得分享
muzi木子
把简单的事做好,就是不简单!
把平凡的事做好,就是不平凡!
展开
-
【心得分享】 2. 设计模式——单一职责原则
2. 设计模式——单一职责原则2.1 什么是单一职责单一职责原则(全称:Single Responsibility Princile,简称SRP),它表示一个类只具有某种职能,比如人又生理需求(吃、喝、睡)、生活需求(工作、锻炼),生理需求和生活需求分别当做两个类,他们里边任意方法的改变都不会影响另一个类的正常运行,如果一个类里边具有多种职能,那么意味着一种职能的变化可能会影响另一种职能,那么这个时候就应当将它们才分成两个负责不同职能的类。又比如,我们常用的DAO模式,就是采用的单例模式,比如Use原创 2021-01-30 16:20:42 · 797 阅读 · 0 评论 -
【心得分享】1.设计模式概述
1.设计模式概述1.1 为什么需要设计模式因为软件开发中,存在很多相似的场景,不管在什么项目(OA、CRM、电商等),而设计模式就是为这些场景提供一种通用的解决方案。设计模式,可以使得我们的代码更加具有可扩展性与可维护性,可以使得代码松耦合,提高代码的可重用性。使得代码更容易理解。1.2 设计模式设计原则(即设计模式是根据什么原则来设计的)设计模式共有七大原则:单一职责原则开闭原则依赖倒置原则里氏替换原则接口隔离原则迪米特法则合成复用法则...原创 2021-01-30 15:47:33 · 545 阅读 · 0 评论 -
【心得分享】-- 微服务架构演变过程
1. 微服务架构演变过程1.1 传统的架构所有的业务都写在一个工程里边(ALL IN ONE),开发起来比较简单,部署也比较简单,但是程序的耦合度高,业务与业务之间代码耦合在一起,不利于团队开发!1.2 分布式架构就是将原来的单体架构,拆分成多个负责相关业务的服务(降低业务之间的耦合度),每个服务拥有自己的相关资源(数据库、缓存、消息队列),各个服务间通过RPC远程调用进行通信(http、dubbo、grpc)。1.2.1 SOA面向服务架构什么是面向服务架构呢?面向服务架构即S原创 2020-12-26 18:41:36 · 257 阅读 · 0 评论 -
【开发技巧】-- MarkDown使用文档
1. MarkDown使用文档1.1 什么是MarkDown?MarkDown是一种非常简单的标记语言,它非常适合于程序员使用因为它支持很多非常好用的基础语法,并且它非常方便使用。1.2 为什么要使用MarkDown编写文档?说到编写文档我们最先想到的一定会是Word文档,但是对于我们程序员而言,我们的文档中往往都会有代码块、图片应用等一些文档元素,而Word文档对于代码块的处理支持的不是那么好,而MarkDown为我们解决了这样的问题,它支持插入代码高亮显示。1.3 快速入门MarkDown1原创 2020-08-03 00:04:08 · 291 阅读 · 0 评论 -
【心得分享】-- SQL执行分析以及通过索引SQL性能优化的方法
1.1 MySQL简介MySQL是一个关系型数据库,它是由MySQL AB公司主要研发的一款开源免费的数据库产品,现在隶属于Oracle,MySQL主要由:连接层、处理层、引擎层、文件系统层四个部分组成,这里需要注意的是MySQL的存储引擎是可拔插的,也就是说我们可以通过自己的需求选择合适的数据库存储引擎。1.2 MySQL的存储引擎在MySQL5.5之前的版本,MySQL默认使用的是MyISAM存储引擎,在5.5之后,MySQL默认的存储引擎变更为了InnoDB。MyISAM与InnoDB之间有原创 2020-07-05 23:46:42 · 221 阅读 · 0 评论 -
【心得分享】-- 类的加载机制深度解析
1. 类的加载机制深度解析1.1 类的加载运行过程如上图所示,Java中的类的加载靠的是类加载器实现的,其中通过loadClass进行类加载的时候会经历:加载》》验证》》准备》》解析》》初始化几个步骤。加载:查找磁盘中的类的字节码文件并通过io操作读入,只有类被真正使用的时候才会被加载验证:验证字节码是否符合规范准备:为静态变量分配内存空间,并且赋上默认的初始值。int类型赋值0、boolean类型赋值false、对象类型赋值null解析:将符号引用(静态方法)转换为直接引用初始化:为静态原创 2020-07-04 18:00:39 · 200 阅读 · 0 评论 -
【心得分享】-- 关系型数据库中七种常见的join(连接)查询
1.1 什么是join查询?join查询,即连接查询,当我们需要查询两张或两张以上表的关联数据的时候就需要使用连接查询,数据库中的连接查询分为:内连接查询(INNER JOIN)、左外连接查询(LEFT OUTER JOIN 或 LEFT JOIN)、右连接查询(RIGHT OUTER JOIN或RIGHT JOIN)以及全连接查询(FULL OUTER JOIN)。1.2 内连接、外连接、全连接查询之间的区别是什么?类型描述图示INNER JOIN内连接查询,会把关联表中,有原创 2020-06-29 18:23:15 · 1681 阅读 · 1 评论 -
【经验分享】-- API安全设计-接口安全加密传输(对称加密与非对称加密)
1.1 为什么要对API接口进行加密?因为http协议是明文传输,它是不够安全的,比如进行get请求的时候,请求参数会直接附加在URL后边,即使是post请求其实也是不够安全的,如果用户连接了不安全的网络,这个时候黑客可能可以通过抓包工具直接获取请求信息,并且黑客可能对请求参数进行非法篡改,所以API接口加密就显得至关重要了!1.2 常见的接口加密方式有哪些?使用https协议(相比较与http协议,https协议加入了ssl证书,并且https是基于ssl的密文传输方式)、参数加密使用对称加密或非原创 2020-06-28 15:16:22 · 3663 阅读 · 0 评论 -
【心得分享】-- 秒杀业务的设计与实现
1.1 业务背景随着电子商务的发展,网上购物的用户越来越多,各大网络商家为了达到促销的目的,通常会将一些商品的价格设置为超低的价格,这个时候就导致大量用户前来抢购这一商品。 正式因为这样的促销活动,引发了一次又一次的技术架构革新,并且引起了大量关于解决高并发、高性能、高可用解决方案的讨论。1.2 秒杀业务存在的挑战1.2.1 服务的可用性(大量的请求可能会导致应用服务器以及数据库服务负载过重)1.2.2 数据的一致性和完整性(因为系统需要在一瞬间就处理大量的请求,所以如果稍不谨慎就可能导致数据不一致原创 2020-06-09 17:27:23 · 397 阅读 · 0 评论