java工作将近两年的感悟

1.小到无数次二次开发,大到独立设计分布式高并发项目。感触最深的,是应该把可能会发生的问题先想好,再去实现功能

二次开发的增删改查项目,基本都是屎山。工具类、实体类重复;接口入参因为需求增增减减导致其实现类等下游跟着改。刚开始写着很快,越到后面因为需求变动,改动越大,耗费成本越高,反而误事。这些问题如果在开发前就考虑到并设计好,后面就只是无脑的编码而已

独立设计分布式高并发项目,也踩过坑。比如去年做的联想管家数据上报的项目,记录登录联想管家用户设备信息数据,以针对性地进行广告投放。每天都有几百万用户登录联想管家,相当部分是重复用户,在早上八点左右请求量大到峰值,并且新用户逐日递增。这些我事先都没去想,直接开发了。把整体拆成生产者和消费者,按照leader意思用rocketmq做链接缓冲请求量,各部署集群,消费者将数据存储到es中,然后用jmeter压测

过程也是曲曲折折:发现请求量很大,es新增数据相对来说没那么多,那么就是有相当的重复用户,可以考虑允许少数数据丢失,使用异步的方式发送mq消息,性能最高;mq要是消息积压挂掉怎么办,之前activemq就是这样。不过rocketmq确实很棒,也许是服务器配置不错吧,用峰值压测也没有出现消息积压的情况

以前总看前人说80%时间设计项目,20%时间写代码,不以为然。后来项目写的越来越多,才切身体会到其意义所在

2.程序员入门不靠智商,而是固执,不认输

刚开始学java的时候,一点知识点不懂就到处问别人,搞不会情绪就崩了。后来随着越来越多的问题被解决,自己逐步建立起自信,碰到问题不会问别人了,自己百度谷歌。逐渐发现,给我一个搜索引擎,这世界没有我不会的东西o(∩_∩)o 哈哈

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值