前语
咱们好,我是田螺。
最近有位读者问我:田螺哥,日常开发中,都是在做业务需求,怎么提高自己的技术呢? 所以,本文田螺哥整理了提高技术的13个主张,小同伴们,一同加油。
1. 打好根底,深化学习言语特性
比方,关于Java
程序员来说,要了解Java
言语的基本概念和中心特性,包含面向对象编程、调集结构、反常处理、多线程等等。能够经过阅览Java
的官方文档、教程、参阅书籍或在线资源来学习。
假如最基本的根底都不厚实,就不要谈什么提高技术啦。 比方说:
- 你知道
HashMap和ConcurrentHashMap
的区别嘛? - 在什么时分运用
ConcurrentHashMap
?操作文件的时分 - 你知道在
finally
块中开释资源嘛? - 你知道在哪些场景适合用泛型嘛?
因而,要提高自身技术,首要便是要把根底打厚实。 有些小同伴说,上班没时刻学根底呀,其实不是这样的,根底这玩意,每天地铁上下班看看,下班后回到家在看看,周末在家看看,多点写写代码,一般一两个月,你的根底就很好啦。
又有些小同伴说,怎么提高Java根底呢? 能够:
- 阅览Java相关书籍或教程,如Java编程思维、Java中心技术、Java虚拟机、菜鸟教程等
- 阅览Java博客和社区参加讨论:重视Java领域的博客、论坛和社区,了解最新的技术动态和解决计划,与其他开发者交流。
- 多实践,多敲代码:在B站找个Java根底视频看,平常多实践、多敲代码
2. 了解把握常用的开发工具
工欲善其事,必先利其器. 所以一位好的程序员,往往编码功率就更高。而提高编码功率,一般要求了解并灵敏应用工具.比方Eclipse、IntelliJ IDEA、Maven、Navicat
等。了解运用这些工具,能够提高开发功率。
我举个例子,比方你了解把握IntelliJ IDEA
的快捷键,三两下就把实体类的setter和getter
办法生成了,而有些的程序员,还在一行一行渐渐敲。。
3. 日常工作中,总结你踩过的坑
优异的程序员,之所以优异,是因为他会总结踩过的坑,避免重蹈覆辙。所以,田螺哥主张你,日常开发中,假如你踩了哪些坑,就需要总结下来.茶余酒后,再温习温习.
比方,你知道:
- Redis分布式锁运用,或许会有哪些坑嘛?
- 线程池运用有哪些坑?
- Java日期处理又又哪些坑嘛?
-
Arrays.asList
运用或许有哪些坑?
假如一时刻忘记的话,能够看下我以前的这些文章:
- 细数线程池的10个坑
- Redis分布式锁的10个坑
- Java日常开发的21个坑,你踩过几个?
- 程序员必备:Java日期处理的十个坑
这些都是我工作总结出来的,也希望你们日常开发中,遇到哪些坑,都总结下来哈。
4.工作中,阅览你项目优异的代码和规划文档
孔子说,三人行,必有我师。咱们平常在看代码的时分,不要总吐槽着项目的烂代码。其实,能够多点重视写得优异的代码,然后看懂别人为什么这些写,仿制着来写。
当然,一些好的规划文档也是:人家为什么这么规划,好处在哪里,缺乏又在哪里,假如是你来规划,你怎么思考等等。把好的规划,读懂后,记录下来,变成自己的常识.
5.日常工作中,总结一些通用的技术计划.
在日常工作中呢,留意整理一些通用的技术计划。
比方幂等规划、分布式锁怎么规划、分布式业务规划、接口优化、限流规划、分库分表规划、深分页问题解决等等. 咱们能够看下我之前的一些通用计划规划的文章哈:
- 后端思维篇:规划好接口的36个锦囊!
- 咱们为什么要分库分表?
- 面试必备:聊聊分布式锁的多种完成!
- 聊聊幂等规划
- 实战!聊聊怎么解决MySQL深分页问题
当然,田螺哥也主张你,日常开发中,把自己遇到的一些通用规划计划总结下来,了解把握这些通用技术计划。
6.参加技术讨论,活跃技术共享
参加技术讨论和交流,能够有助于你与其他Java开发者共享经历、解决问题和学习新常识。进行技术共享,能够加深自己的理解、建立专业名誉、促进个人成长、为技术社区做贡献等等。
比方你做需求遇到的一些难题,都能够跟有经历的同事、或许技术leader讨论讨论。一些常见的难题,讨论完能够记录下来,然后做技术共享。
7. 主人翁认识,活跃霸占项目的难题
作为一名开发工程师,具有主人翁认识并活跃霸占项目的难题,是非常重要的。遇到项目中的比较棘手问题时,先不管是谁的问题,咱们都要持有主人翁认识,活跃主动地找到解决计划并采取举动。
而在技术找解决计划的进程,咱们也就成长了。当霸占问题后,你也取得领导的认可,好绩效不远了,一举多得!
8. 思考项目中,哪些能够提高功率
日常开发中,几乎大多数程序员都是在进行增修改查。怎么怎么避免自己成为普通的增修改查程序员呢。
我觉得能够这样做:平常工作中,思考项目中,有哪些能够提高的功率。包含了解开发工具、把握恰当的调试技巧、了解常用结构、持续学习和重视技术发展等等。
比方:
- 好的的debug调试技巧,能够让你快速找到问题
- 再比方一个插件
easyyapi
能够一键让你快速生成yapi
接口文档,而不用一个一个字段手艺敲接口文档。
当然,日常开发中,还有许多能够提高功率的技巧/工具,等待咱们去发现。
9. 了解你的业务,让自己不容易被代替
咱们普通程序员,多数都是做业务的。一般工作个五年以上,水平差不了太多。怎么避免自己被淘汰呢?我个人主张是,尽量做到了解你们做的业务,让你变得不容易被代替。
10. 多看看你的体系,或许存在哪些问题,如接口耗时、慢SQL等等
一般的体系,多多少少都有些问题。比方接口耗时过长、慢SQL、fullGC频繁等等。
首要需要把握这些技术,比方怎么优化接口,怎么优化慢SQl、fullGC怎么排查等等。咱们能够看下这几篇文章哈:
- 实战总结!18种接口优化计划的总结
- 盘点MySQL慢查询的12个原因
- SQL优化思路+经典事例分析
- JAVA线上毛病排查全家桶
- 线上服务的FGC问题排查,看这篇就够了!
11. 学以致用,将理论常识应用到实践项目中
许多小同伴说,看过许多计算机相关的书,阅览过许多博客,背了许多八股文,依然做欠好一个体系。
我觉得,咱们能够多点思考,把平常堆集的东西,应用到实践项目中。背八股文不是没用,你能够把它应用到实践开发中的。比方说,你看了田螺哥的文章,IO模型详解
这个表面看起来便是一个常见的八股文常识点,工作中似乎没用到。可是我在工作中,就用到这种类似的异步思维:
比方发起一笔批量转账,可是批量转账处理比较耗时,这时分后端能够先告知前端转账提交成功,比及成果处理完,再通知前端成果即可。
再比方,你看完田螺哥的:MySQL索引15连问,抗住!,你是不是能够回头看看,你的体系中,那些sql的索引加的是否合理呢?是不是能够思考一下怎么优化,对吧。因而,便是要学以致用。
12. 阅览一些优异结构的源码,如spring、rockectMq等等
假如你有空余的时刻,就主张你看看一些优化结构的源码,比方spring、rockectMq
等等。
关于spring源码的话,能够按模块来呀,比方aop,控制反转,spring业务
等,你先写个demo
,然后debug
盯梢流程,经过调试器逐渐盯梢源码执行进程,调查各个办法的调用联系和数据变化。最好是结合电子书一同,如(Spring源码深度解析
这本书一同)
优异结构的源码,咱们能够学习到许多编码思维的,加油。
13. 多编码,少偷闲,养成编程的好习惯
作为程序员,一定要多打代码,不要偷闲,代码敲多了,你就会了。还有便是,少点偷闲,坚持!努力!养成酷爱编程的好习惯。
总归,提高技术需要不断学习、实践、总结和堆集经历。