当前位置: 首页 > 科技观察

这8个技巧,助你成为优秀的Java开发者

时间:2023-03-19 01:38:08 科技观察

私底下,不时有读者问我:“二哥,我怎样才能成为像你一样优秀的Java开发者?”如果“我怎样才能像你一样”去掉了,这道题是个好题,不然总有彩虹屁的嫌疑。但话又说回来,我喜欢提问的艺术。从大学学习Java到现在,已经积累了10多年的编程经验。虽然距离优秀还有很长的路要走,但我可以和大家分享一些经验。重要,但有点用处,至少在我看来是这样。01.学习Java8如果我没记错的话,已经是Java14了。可惜我IDE里配置的JDK版本还是Java13,还有一个备用版本,就是Java8。我之所以没有赶不上时尚可能是因为我没有像年轻时那样努力学习。让我羞愧一阵子。还有一个客观的原因,那就是Java8的新特性确实是开创性的,前所未见的。和Lambda表达式、Stream流一样,可以称得上是极其好用。事实上,还有很多Java程序员没有掌握它们(令人心碎)。在Java8之前,像这样启动一个线程:Threadt=newThread(newRunnable(){@Overridepublicvoidrun(){System.out.println("BeforeJava8");}});t.开始();Java8之后,启动一个线程只需要这样:Threadt1=newThread(()->{System.out.println("Java8");});t.start();哪个更好,一目了然。如果您还不了解Java8的特性,那么很难成为一名优秀的Java开发人员。还是那句耳熟能详的话:“种一棵树最好的时间是10年前,其次是现在。”让我们行动起来吧!02.掌握SpringSpring目前在Java开发中占有重要的一席之地,可以说是形影不离。毫不夸张的说,如果你不会Spring,你绝对不是一个好的Java开发者。我敢打赌,几乎所有用Java语言编写程序的公司都在使用Spring框架。虽然我没有赌博的坏习惯,但我可以保证我能赢。我只赌1块钱,不是因为我小气,而是出于输者的考虑,这笔钱不会白花吧?架构在与时俱进,甚至只有两三个人的开发团队也在从单体应用程序迁移到微服务。这就是所谓的浪潮,SpringBoot和SpringCloud在这方面有着天然的优势。03.学习单元测试我在日本公司的时候,测试占据了重要的位置,代码审查、单元测试、集成测试等非常忙,但是回到洛阳后,团队没有这个一种测试文化。虽然我极力提倡,但效果并不好,网上爆出很多问题,最后累死了。如果您想成为负责任的开发人员,请磨练您的测试技能。JUnit和TestNG是Java中非常流行的单元测试框架。JUnit旨在分析代码单元,而TestNG的预期用途是用于高级测试。这两个框架不能说平分秋色,但至少各有所长。04.精通API和类库。我有一个大学同学,叫石磊。他的编程能力绝对值得在一线大厂工作。可惜当初选择了郑州这个二线城市,很大程度上限制了他的发展。遇到任何编程问题,我第一个想到的就是石磊。无论我抛出什么问题,他几乎都能为我提供解决方案。他对整个Java生态系统(它自己的API和开源库)的理解比我理解的要透彻得多。想要像石磊一样有担当,首先要了解以下几个库。1)日志类库,如Log4j、SLF4j、LogBack。2)JSON解析库,如Gson、Jackson、org.json、fastjson。3)测试类库,如前面提到的JUnit和TestNG。4)通用类库,如Google的Guava,Apache的系列类库。5)HTTP类库,如HttpClient、HttpCore。6)Word、PDF、Excel类库。7)数据库连接池类库,如durid、HikariCP。8)消息通知库,如RabbitMQ、Kafka。9)邮件类库,如JavaMail。10)加解密类库。05.学习设计模式和编程就像练武。武功一定要练好。有两样东西是不能丢的。第一是内功;二是武功秘籍。编程对应的内功就是我们的基本编程能力,而编程的设计模式可以想象成武术中的武功秘籍。设计模式是根据不同类型的场景设计优雅(编码)的解决方案。学习设计模式有很多好处,比如很容易理解经典代码中的逻辑(很多优秀的开源框架都大量使用了设计模式);顺利应对面试(设计模式是面试的重点);您可以编写优雅的解决方案(或代码)。如果想学习设计模式,推荐秦晓波的《设计模式之禅》,很有趣,也很容易理解。06.掌握开发运维工具如果你能掌握Maven、Git、Jenkins、Docker等持续集成部署工具,你在做开发运维的时候就会有神一般的感觉。下面郑重介绍一下这四位同学:Maven,是一个(尤其是Java)软件项目管理和自动构建工具,由著名的Apache软件基金会提供,基于项目对象模型(简称POM,知道xml文件的概念)它的起源)使用中央仓库来管理项目构建和文档等步骤。Git是一个分布式版本控制软件,最初由LinusTorvalds创建,于2005年在GPL开源协议下发布。大型交友平台Github是一个使用Git进行版本控制的代码托管平台。Jenkins是一个用Java编写的开源持续集成工具,将开发者从复杂的集成工作中解放出来,专注于更重要的业务逻辑实现。Docker在软件容器下自动部署应用程序,从而在Linux操作系统之上提供额外的软件抽象层,以及操作系统虚拟化的自动管理。07、熟练使用IDE说起IDE,不禁想起一句古话:工欲善其事,必先利其器。IDE就像士兵手中的枪和刀。如果你不熟练使用这东西,你怎么能杀死敌人?我去年才从Eclipse切换到IntelliJIDEA。起初,它是极其排斥和抗拒的。读者们都建议我坚持一段时间,但一个月后我就爱上了它。如果你非要给我贴上“喜新厌旧”的标签,我没有理由反驳。谁让这东西这么好用?上次推荐了两个IDEA插件来提高代码质量。没想到,大家说好,想优秀,现在就试试。08.了解JVM如果你想成为一名真正优秀的Java开发者,JVM的注意力绝对不能绕开。就好像你花了好几代人的心血,才参加了子试、乡试、普试。如果最后没能进士,那之前的努力就都白费了。您必须了解JVM的工作原理、即时编译(JIT)、垃圾回收等相关知识点,才能编写出健壮、高性能的Java应用程序。