![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
T31
文章平均质量分 72
lfssst
这个作者很懒,什么都没留下…
展开
-
抢票系统之高性能(CDN、缓存、读写分离)
抢票系统之高性能(CDN、缓存、读写分离)原创 2022-05-03 09:30:18 · 1329 阅读 · 1 评论 -
抢票系统之高可用(3)-存储高可用
存储高可用垂直切分水平切分分片hash哈希哈希环数据容灾流水型状态型原创 2022-04-15 14:00:17 · 2290 阅读 · 0 评论 -
抢票系统架构设计 测试设计于投产应急设计
类比12306火车抢票系统架构设计03原创 2022-04-05 13:12:20 · 484 阅读 · 0 评论 -
系统健壮性设计
系统健壮性设计1.entity作为传入的参数,不单要进行非空校验,而且要进行具体参数的校验,2.根据id查询获得users对象,要判断users是否为空3.注释//生成用户列表 很模糊,要注释成为 生成属于这个角色的用户列表4.1,3,4是错误的1.魔法数字应该定义为常量2.log的时候出错奥带上messageVo否则不知到什么地方出错3.直接使用toString输出日志F5 龙卷风的最高等级软件负载同机房,同单元优先 1ms一下跨机房 5ms左右跨区域原创 2021-11-26 09:41:03 · 680 阅读 · 0 评论 -
分布式锁 redis Redisson
1.购票占座 11车 7D的一位只能被一个人使用java可以使用sync实现,但是占座服务可能多个jvm同时抢座位,sync只能给一个jvm中的资源加锁。分布式锁 redisRedis统一管理一把锁抢到锁的再进行统一的操作setnx 判断加锁成功和锁的互斥expire 设置锁的过期时间这样客户端中断30s 锁会释放单纯这俩命令不完美解决方案:1. Set lock “1234” EX 1000NX/PX s/ms 要么都成功.原创 2021-11-23 15:30:10 · 2479 阅读 · 0 评论 -
用户系用实现
1.jwtJson web token (JWT), 是为了在⽹络应⽤环境间传递声明⽽执⾏的⼀种基于JSON的开放标准((RFC 7519).定义了⼀种简洁的,⾃包含的⽅法⽤于通信双⽅之间以JSON对象的形式安全的传递信息。因为数 字签名的存在,这些信息是可信的,JWT可以使⽤HMAC算法或者是RSA的公私秘钥对进⾏签名。2.jwt组成头部包含了两部分,token 类型和采⽤的加密算法:{ "alg": "HS256", "typ": "JWT" } 1234它会使⽤ Base64 编码组成.原创 2021-11-20 16:34:35 · 67 阅读 · 0 评论 -
单元测试与系统安全的规约
单元测试规约需要单元测试的原因:是否能够交付产品级别的项目根据项目的不同需求,进行性能测试和稳定性测试单元测试保证接口能够正常使用越早发现成本越低,单元测试的提早发现,对于软件的质量有显著的保障,也可以,提高软件质量优化代码,提高代码质量,找到潜在的问题,可以在重构的时候注意到更好的解决方案同样的一个代码,晚一轮发现,所用的时间会翻倍单元测试没有发现的bug,会导致集成测试时产生问题,需要返回啦单元测试系统测试的时候找bug会非常困难单元测试的air原则单元测试的代码框架不会对.原创 2021-11-18 14:02:37 · 3362 阅读 · 0 评论 -
Oauth2权限管理
T31权限管理实现的工具 Oauth2基于前后端的令牌的实现Oauth2是什么eg:小区让快递员进入小区的方法1.远程开门 2.告诉密码 3.使用令牌生活中的Oauth2的运用eg:京东使用qq wx 的扫码授权登录callback?code码可以换一次只能换一次令牌,这样解决了授权的问题,jd可以获得qq的用户数据Oauth1不安全Oauth2角色Resource Owner 资源持有者是用户 “我” 我来授权认证Client 京东模式授权码模式:最严谨最安原创 2021-11-16 14:04:47 · 3627 阅读 · 0 评论 -
集合与并发编程
集合与并发编程现有用例图后有功能树,用例图更接近于需求JUC 集合规约吃不准就用concurrentHashMap位移的好处是速度快不需要运用加法器,使用晶体管的物理特性就可以完成 ,若使用加法器,速度就慢说到底就是要找 13 1101 -》 1111 16找到全是1111 + 1 就是刚好比他大的2的幂次方落槽运算在这里插入图片描述右移动16位的原因是 100100100111 0000000000000000可见低16位全部是0 这样特征类型的数字都将被放入原创 2021-11-13 16:23:10 · 197 阅读 · 0 评论 -
# java避坑指南
java避坑指南以整形进行存储以RMB为例,99.99元要以9999存储 即存储的时候99.99*100,展示的时候9999/100浮点数转换java中0.1是以double类型存储的所以是一个32位的循环数将float类型强制转换成double类型不会导致精度缺失,但是会在后面补0此强转后的0.1显然小于 java中的0.1 false对5.2进行转换1.首先吧整数部分进行转化5–>101规格化的规则等同于中学知识指数使用移码,将数字向左移动一位 统一公式为 x移=x原创 2021-11-11 15:33:17 · 652 阅读 · 0 评论 -
java编码规约
编码规约目录编码规约的缘起熵增定律生活中的命名规范规范经典注释的位置在代码的上方,无参数的不需要注释前后端设计规约查到数据的结果是空应该返回什么样的集合返回json几层后台返回的是系统出错,前端要说正在维护。。。不要把徐同错误直接抛给用户和浮点数的表示有关两个都是ture两个都是false指数不能用整数表示0.100000024科学计数法的作用是来存储极大数字和极小数字第31位 是符号位 23-30位存储指数 22-0存储有效数字但原创 2021-11-08 17:25:41 · 221 阅读 · 0 评论 -
技术选型思考
技术选型选型背后体现的不只是选型,个人的经历、教育经历、性格2013废弃mighty单表映射为什么要技术选型要坚固降低研发成本和提高研发效率数据访问层关于数据库链接如何管理的问题MQ优势和劣势优势:应用解耦:一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主业务完成以后,发送一条MQ,其余模块消费MQ消息,即可实现业务,降低模块之间的耦合。应用间解耦,提高容错性和可维护性eg:订单系统中需要库存支付物流共同实现,所以一原创 2021-11-06 15:23:57 · 90 阅读 · 0 评论 -
应用分层设计
作业extend 选做include 做完才能做下一步状态 adj 状态图关注的是 状态、状态触发的条件·简化代码逻辑、增加代码的复用,暴露接口供上层使用分工 解耦的工作客户增加 可以扩容增加更换员工服务员厨师java为什么可以跨平台 ? Jvmmodel servicecontrllerview 页面dao service web表现层 app 页面 api 调用业务逻辑层(抽取通用业务逻辑层,发邮件短信)dao mybaits 框架第三方的服务 (防腐层)转换原创 2021-11-04 16:34:19 · 215 阅读 · 0 评论 -
异常处理与日志
异常处理与日志内存、断言、反射、异常是否能很好的处理异常,有好的解决方案、demo和企业级的项目的区别不同的return就是在处理异常,但是合理的捕获就不会产生异常,走try catch finally,只是抛出异常信息,导致程序的中止思考完的版本:java程序发生异常,java虚拟机jvm会帮助程序自动生成实例化异常对象,这时候看程序是否有catch,如果有捕获异常继续执行,可能有多个catch捕获不同类型的异常,最后看是否有finally(程序中是否已经处理所有异常)存在则继续执行,否则原创 2021-11-02 10:58:51 · 222 阅读 · 0 评论 -
异常处理文档
异常处理文档Java异常处理体系java程序中几种常见的异常以及出现此异常的原因**1、java.lang.NullpointerException(空指针异常)原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象。经常出现在创建对象,调用数组这些代码中,比如对象未经初始化,或者图片创建时的路径错误等等。对数组代码中出现空指针,是把数组的初始化和数组元素的初始化搞混淆了。数组的初始化是对数组分配空间,而数组元素的初始化,是给数组中的元素赋初始值原创 2021-11-02 10:34:45 · 177 阅读 · 0 评论 -
MySQL存储引擎原理拆解以及设计深度剖析
MySQL存储引擎原理拆解以及设计深度剖析页结构页头:记录页面的控制信息,共占56字节,包括页的左右兄弟页面指针(双向链表)、页面空间使用情况等。最小最大虚记录:比页内最大小主键还大小确定一个范围,即一个页的空间,查看时,根据和最大最小虚记录的比较结果判定是否在这个空间内。记录堆:行记录存储区,分为有效记录和已删除记录自由空间链表:存储记录堆中,存储的过程中可定有被删除的记录,自由空间链表的作用就是吧删除的记录链起来,方便被删除的记录有什么,找到这些被删除的空间的目的是,想要利用这些空闲的空间原创 2021-10-30 13:08:04 · 280 阅读 · 0 评论 -
T31SQL公约1028
MySQL设计规约不同的规范会导致沟通起来很困难,增加沟通的成本使用规约的时候 ,总结了一些经验在里面,防止踩坑1.命名规则delete desc 会引起歧义 关键字不使用是否 前面加if不能使用驼峰 要用小写–之间不能使用数字3day 不能数字开头members 不能复数order 关键字accept 用 ifaccept不会报错,从实际来的规范数据类型1.小数不能使用float和double 是科学技术 decimal 正数和小数分开存储2.货币用 bigint 精原创 2021-10-29 08:48:24 · 104 阅读 · 0 评论 -
T31类图
原创 2021-10-28 20:00:28 · 97 阅读 · 0 评论 -
T318.26
8.26第一讲项目介绍T31[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-khCyixkE-1635382335732)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211026200447498.png)]用户的诉求:不是kpi的诉求[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0QUahrOk-1635382335737)(/Us原创 2021-10-28 08:54:23 · 77 阅读 · 0 评论