架构
文章平均质量分 53
架构知识慢慢累积
Itfuture03
只为造就未来梦想!
展开
-
【开源协议】关于6种开源协议的说明(GPL,LGPL,BSD,MIT,Apache)
开源协议是为开源许可证服务的,如何选择开源协议,将对自己的代码的版权有更好的保护以及发展!对于软件开发者来说,无论是个人还是商业组织,为了分享自己的优秀作品、为了扩大自身影响力,多多少少都有想把自己的软件作品以开源的形式公之于众的想法。但无论是开源自己的软件,还是使用已开源的软件,出于商业和法律因素的考虑,我们都应该搞清楚:当我们使用开源软件或者将自己的作品开源时,我们保留了啥权力?我们又放弃了啥权力?主流的开源许可协议有以下几种:GPL、LGPL、MPL、BSD、MIT、Apache License。原创 2023-03-22 18:49:14 · 3378 阅读 · 0 评论 -
【编程入门】计算机硬件、操作系统、万维网、软件开发、职业规划等简单学习
编程入门一、概要二、计算机硬件1. 冯·诺依曼体系结构2. 赫兹(Hz)3.IT定律之计算机发展规律4.内存5.两大人物三、操作系统(Operating System)四、万维网五、软件开发1. 人机交互:2. 命令行3.计算机语言六、职业规划思维导图:一、概要学会:如何使用程序设计来解决问题一些基本的计算机常识二、计算机硬件1. 冯·诺依曼体系结构现在计算机的基础,计算机之父:冯·诺依曼2. 赫兹(Hz) 每台计算机有内部时钟,该时钟以一定速度发射电子脉冲,速度越快,给定时间内原创 2021-08-09 20:01:18 · 223 阅读 · 1 评论 -
12种接口优化思想
关于锁粒度:就是你要锁的范围有多大,不管是synchronized还是redis分布式锁,只需要在临界资源处加锁即可,不涉及共享资源的,不必要加锁,就好比你要上卫生间,只需要把卫生间的门锁上就可以,不需要把客厅的门也锁上。我们都用过数据库连接池,线程池等,这就是池思想的体现,它们解决的问题就是避免重复创建对象或创建连接,可以重复利用,避免不必要的损耗,毕竟创建销毁也会占用时间。批量操作数据库,这个很好理解,我们在循环插入场景的接口中,可以在批处理执行完成后一次性插入或更新数据库,避免多次IO。原创 2023-04-08 16:00:53 · 689 阅读 · 0 评论 -
【Java性能优化八个细节】
尽量在合适的场景使用单例模式尽量避免随意使用静态变量尽量避免过多的创建对象尽量使用final修饰符尽量使用局部变量尽量处理好包装类型和基本类型的使用场景慎用synchronized尽量不要使用finalize方法原创 2023-04-08 15:45:40 · 48 阅读 · 0 评论 -
【鉴权】SSO单点登录和OAuth2.0的区别?
SSO是Single Sign On的缩写,OAuth是Open Authority的缩写,这两者都是使用令牌的方式来代替用户密码访问应用。流程上来说他们非常相似,但概念上又十分不同。SSO大家应该比较熟悉,它将登录认证和业务系统分离,使用独立的登录中心,实现了在登录中心登录后,所有相关的业务系统都能免登录访问资源。OAuth2.0原理可能比较陌生,但平时用的却很多,比如访问某网站想留言又不想注册时使用了微信授权。原创 2022-11-26 22:28:28 · 371 阅读 · 0 评论 -
一句话说明白23种设计模式
简单工厂模式:通过一个工厂方法创建同一类对象。工厂方法模式:定义一个创建对象的接口,由子类决定实例化哪一个类。抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类。单例模式:确保一个类只有一个实例,并提供全局访问点。建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。原型模式:通过复制现有的实例来创建新的实例。适配器模式:将一个类的接口转换成客户希望的另外一个接口。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。组合模原创 2023-04-08 16:06:19 · 364 阅读 · 0 评论 -
关于计算机、数据的存储单位(bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB)
计算机、数据存储的单位一、数据存储的单位有哪些二、单位换算三、为什么计算机储存单位的进率是1024而不是1000?一、数据存储的单位有哪些 计算机存储单位一般用 bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB来表示. 我们经常将Byte简称为B,将KB简称K 常说的什么几K,什么几B…二、单位换算计算机的最小存储单位:bit 位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。计算机存储容量原创 2021-11-15 11:11:15 · 12414 阅读 · 0 评论 -
【接口设计】这样写接口更优雅
总目标:安全性,可重复调用,稳定性,追溯性1.签名:对外提供的接口要做签名认证,认证不通过的请求不允许访问接口、提供服务。2.加密:敏感数据在网络传输过程中应该加密。3.IP白名单:限制请求的IP,增加IP白名单,一般在网关层处理。4.限流:尤其是对外提供的接口,无法保障调用的频率,应该做限流处理,保障接口服务正常提供服务。5.参数校验:即使前端做了非空,规范性校验,服务端参数仍然是非常必要的。6.统一返回值:一个服务一套统一的数据返回结果和传参规范。7.统一异常封装:系统报错友好提示,避免暴原创 2023-04-08 15:34:28 · 680 阅读 · 0 评论 -
如何让接口性能提升?
即我们不用阻塞等待系统B的接口,而是先去做别的操作,等系统B的接口处理完,通过事件回调通知,我们接口收到通知再进行对应的业务操作即可。如果每次需要用到线程都去创建,就会增加一定的耗时,而线程池可以重复利用县城,避免不必要的耗时。在高并发场景,为了防止超卖等情况,我们经常需要加锁来保护共享资源,但是,如果加锁的粒度过粗,很影响接口的性能。耗时操作,考虑用到一步处理,这样可以降低接口耗时,比如用户注册成功后,短信邮件通知,是可以异步处理的。预取思想很容易理解,就是提前把要计算查询的数据,初始化到缓存。原创 2023-04-08 15:41:44 · 498 阅读 · 0 评论 -
系统设计入门必须要掌握的五个知识点
1.负载均衡 load balancing2.数据库 Database Design:数据模型,数据库选型,数据模型是数据库选型的重要依据3.数据缓存 Caching4.内容分发网络 CDN5.异步处理 Async Processing原创 2023-04-08 15:19:31 · 98 阅读 · 0 评论