获得徽章 1
赞了这篇文章
#青训营笔记创作活动#
2月8日 打卡day9
Java 8 引入了一个十分实用的 Optional 类,它主要是为了解决空指针异常(NullPointerException)。当我们对对象的属性进行检查,判断它的值是否为期望的格式,最终却发现我们查看的并不是一个对象,而是一个空指针,它会立即抛出一个让人厌烦的 NullPointerException 异常。
本质上,Optional 类是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。
这个文章讲了如何optional解决空指针异常的问题,很具有启发意义
2月8日 打卡day9
Java 8 引入了一个十分实用的 Optional 类,它主要是为了解决空指针异常(NullPointerException)。当我们对对象的属性进行检查,判断它的值是否为期望的格式,最终却发现我们查看的并不是一个对象,而是一个空指针,它会立即抛出一个让人厌烦的 NullPointerException 异常。
本质上,Optional 类是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。
这个文章讲了如何optional解决空指针异常的问题,很具有启发意义
展开
评论
点赞
#青训营笔记创作活动#
2月7日 打卡day7
该文章主要讨论在秒杀的高并发场景下,传统订单架构存在的性能瓶颈,如何利用 redis、MQ 等中间件对系统做优化,解决缓存加速、防止重复提交、排队下单、超卖
像这种瞬时高并发的场景,传统的系统很难应对,我们需要设计一套全新的系统。可以从以下几个方面入手:
页面静态化
CDN加速
负载均衡
防重
缓存
异步
熔断、限流
分布式锁
总而言之:分层过滤,分而治之。
文章很好的讨论了并发的问题
2月7日 打卡day7
该文章主要讨论在秒杀的高并发场景下,传统订单架构存在的性能瓶颈,如何利用 redis、MQ 等中间件对系统做优化,解决缓存加速、防止重复提交、排队下单、超卖
像这种瞬时高并发的场景,传统的系统很难应对,我们需要设计一套全新的系统。可以从以下几个方面入手:
页面静态化
CDN加速
负载均衡
防重
缓存
异步
熔断、限流
分布式锁
总而言之:分层过滤,分而治之。
文章很好的讨论了并发的问题
展开
评论
点赞
#青训营笔记创作活动#
2月5日 打卡day7
websocket完美继承了TCP协议的全双工能力,并且还贴心的提供了解决粘包的方案。它适用于需要服务器和客户端(浏览器)频繁交互的大部分场景。比如网页/小程序游戏,网页聊天室,以及一些类似飞书这样的网页协同办公软件。在使用websocket协议的网页游戏里,怪物移动以及攻击玩家的行为是服务器逻辑产生的,对玩家产生的伤害等数据,都需要由服务器主动发送给客户端,客户端获得数据后展示对应的效果。
2月5日 打卡day7
websocket完美继承了TCP协议的全双工能力,并且还贴心的提供了解决粘包的方案。它适用于需要服务器和客户端(浏览器)频繁交互的大部分场景。比如网页/小程序游戏,网页聊天室,以及一些类似飞书这样的网页协同办公软件。在使用websocket协议的网页游戏里,怪物移动以及攻击玩家的行为是服务器逻辑产生的,对玩家产生的伤害等数据,都需要由服务器主动发送给客户端,客户端获得数据后展示对应的效果。
展开
评论
点赞
#青训营笔记创作活动#
2月4日 打卡day6
1.注释尽可能全面,写有意义的方法注释
2.项目拆分合理的目录结构
3. 不在循环里远程调用、或者数据库操作,优先考虑批量进行。
4. 封装方法形参
5. 封装通用模板
6. 封装复杂的逻辑判断条件
7. 保持优化性能的嗅觉
8. 可变参数的配置化处理
还有许多实用的开发习惯,值得学习与借鉴
2月4日 打卡day6
1.注释尽可能全面,写有意义的方法注释
2.项目拆分合理的目录结构
3. 不在循环里远程调用、或者数据库操作,优先考虑批量进行。
4. 封装方法形参
5. 封装通用模板
6. 封装复杂的逻辑判断条件
7. 保持优化性能的嗅觉
8. 可变参数的配置化处理
还有许多实用的开发习惯,值得学习与借鉴
展开
评论
点赞
#青训营笔记创作活动#
2月3日 打卡day5
一条SQL的诞生都源自于一个用户请求,在开发程序时,SQL的大体逻辑我们都会由业务层的编码决定,具体的SQL语句则是根据用户的请求参数,以及提前定制好的“SQL骨架”拼揍而成。当然,在Java程序或其他语言编写的程序中,只能生成SQL,而SQL真正的执行工作是需要交给数据库去完成的。
2月3日 打卡day5
一条SQL的诞生都源自于一个用户请求,在开发程序时,SQL的大体逻辑我们都会由业务层的编码决定,具体的SQL语句则是根据用户的请求参数,以及提前定制好的“SQL骨架”拼揍而成。当然,在Java程序或其他语言编写的程序中,只能生成SQL,而SQL真正的执行工作是需要交给数据库去完成的。
展开
评论
点赞
#青训营笔记创作活动#
2月2日 打卡day4
502其实是由网关代理(nginx)发出的,是因为网关代理把客户端的请求转发给了服务端,但服务端却发出了无效响应,而这里的无效响应,一般是指TCP的RST报文或四次挥手的FIN报文。
2月2日 打卡day4
502其实是由网关代理(nginx)发出的,是因为网关代理把客户端的请求转发给了服务端,但服务端却发出了无效响应,而这里的无效响应,一般是指TCP的RST报文或四次挥手的FIN报文。
评论
点赞
#青训营笔记创作活动#
1月30日 打卡day3
该文章介绍了七个不常用但很有用的CSS属性,类似position: sticky实现的滚动栏吸顶功能,如果没有该属性显然实现起来很麻烦,诸如这样实用的CSS属性还有很多,收获多多。
1月30日 打卡day3
该文章介绍了七个不常用但很有用的CSS属性,类似position: sticky实现的滚动栏吸顶功能,如果没有该属性显然实现起来很麻烦,诸如这样实用的CSS属性还有很多,收获多多。
评论
点赞
#青训营笔记创作活动#
1月19日 打卡day2
该文章给出了11个常用的JavaScript工具方法,类似回到顶部和复制文本,都是很实用的功能,但在第一个的使用上要注意 moment 的官方维护似乎已经停止。
1月19日 打卡day2
该文章给出了11个常用的JavaScript工具方法,类似回到顶部和复制文本,都是很实用的功能,但在第一个的使用上要注意 moment 的官方维护似乎已经停止。
评论
点赞
#青训营笔记创作活动#
1月14日 打卡day1
工欲善其事,必先利其器,学习前端的开始就是接触前端工具,但是似乎推荐的工具的使用是有风险的,另外一些网站如阿里巴巴矢量库很有用
1月14日 打卡day1
工欲善其事,必先利其器,学习前端的开始就是接触前端工具,但是似乎推荐的工具的使用是有风险的,另外一些网站如阿里巴巴矢量库很有用
评论
点赞