[2021年终总结之Java篇] 与Java朝夕相处的这些年

    “给进入Java研发领域的准同行一些建议,给自己十三年的Java研发生涯一个总结,给2022年的自己一些期许”

        最近关注到论坛里的一个问题:Java还值得学习么,前景怎么样?有即将毕业的学生,也有初入职场想转IT领域的年轻人。作为一个混迹IT领域码农,与Java朝夕相处十几年的程序员,我想认真的解答一下这个问题。我大学学的不是软件工程,勉强以计算机相关专业的身份进入了我们当地一家大型软件公司,入职报道那天,公司按照Java和C++组织培训,反正都是零基础,我就按照报名人数多的,选择了Java。

       经过公司3周的培训,很多选择Java的同事开始派遣到项目,而C++的同事因为项目少,只能留在公司继续做实战项目,当时我也留下来了,但还是庆幸选择了Java,坚信再努力一下,不至于像C++那样没项目做。即将出征一线的同事推荐我读《Java编程思想》, 通过前四章的学习,对JVM、Java语言确实有了更深入的认识;一个月过去了,又有一批同事去了现场,我还是被留了下来,我深知在Web编程方面的不足,开始学习一些Web编程技术Html、JS、CSS,又通读了《深入体验Java Web开发内幕--核心基础》,渐渐的发现Java真坑,要学的东西太多。一个月又过去了,一些C++的同事也进入了项目组,我还是留了下来,我开始关注一些新技术Ajax、数据库链接池,用处、特点、源码都学习;也开始有意识的锻炼自己调试程序的技巧。就这样在入职三个多月后,顺利被安排进了项目组。 

                   

          十几年过去了,Java社区一如既往的活跃着,也鞭策着自己不断的学习。开发框架从EJB、Struts1、Stuts2、Spring MVC、Springboot一路杀到Sping Cloud;软件架构从本体应用构建到微服务系统;开发模式从瀑布模型、敏捷开发发展到Devops;基于JSP动态标签技术开发的各种产品组件最终也被各种前端技术框架(JQuery、Ajax、bootstrap、angularjs、reactive、vue)所取代;在SOA趋势引领下,ESB发展到了微服务网关;就连代码版本管理工具也从CC、CVS、SVN用到Git。如今,EJB鲜有人问津,SSH光芒不再,SSM在Spring Cloud掩护下发挥着余热。这就是我经历的Java,他不亏是企业应用开发的领导者,敢于进行着批评和自我批评,让自己壮大,在众多的挑战者(C#、PHP、NodeJS、GO)面前始终威风凛凛。

         如今,除了编码,我经常设计一些软件架构做一些技术选型工作,偶尔也登录招聘平台筛选简历,面试研发工程师。发现好多开发人员,甚至一些富有经验的高级工程师技术选型越来越教条,面对越来越臃肿的程序包无能为力,甚至很多人认为Java开发就应该是这个样子。探讨到代码结构动辄就是Controller、Service、DAO三层结构和面向接口编程,明明Service就调用一个DAO插入语句,接口也就一个实现类,代码搞得如此累赘为哪般。现在做项目不管大小都会采用流行的中台思想、微服务架构,丝毫不顾及微服务架构带来的研发成本、实施运维成本、资源占用及运行效率,这些先进的思想在构建大型电商平台、互联网应用的时候或许有效,但用在简单的业务应用系统上就有杀鸡用牛刀的感觉了。

      Java开源框架的使用成本越来越低,优化成本却非常之高,可以一分钟运行一个“hello world”,用几个小时甚至几天却做不出一个精简的服务,有用的无用的资源不知不觉的引入到了自己的服务中。Apache Log4j 高危漏洞的影响还没有过去,圈内朋友都在抱怨简直是躺着中枪, 很多人都不清楚Log4J如何进入程序包的。

                        

         Java的发展历程中,开源社区的功劳举足轻重。紧贴开源社区能够快速的构建出应用,但在开源社区中不要迷失自己,熟知开源产品也不会是免费的午餐。以Spring部分开源产品为例,或多或少的偏向封装自家云产品API,这本也无可厚非,只是作为架构师在技术选型的时候,要有所思考你是在架构一个自己满意的系统还是在梳理这些厂商的产品清单。

序号

Spring部分开源产品

背后的公司

1

Spring

Vmware(DELL)

2

Spring Cloud

关键贡献者:Netflix

3

Spring Cloud Azure

微软

4

Spring Cloud Alibaba

阿里巴巴

5

Spring Cloud for AWS

亚马逊

 Spring背后的公司

        尽管存在这样那样的问题,我还是推荐大家学习一下Java,更何况它还是当近企业应用领域应用最广泛的语言。IT本来就是一个充满变革的领域,没有一种语言或技术是常青树,java当然也不会,未来的事谁又说的清呢?

         编程这个东西是一通百通的。Java非常适合作为作为第一个精通的语言,这个诞生于1995年的语言,到现在都26岁了,它始终践行着“一次编译,到处运行”,服务器、PC、安卓手机、嵌入式设备都有它的身影,Web编程、GUI编程它无所不能。这与它与时俱进的更新变革、完全面向对象、成熟的生态支持有着密切的关系。

        编程语言在IT领域举足轻重,但是对个人来讲,通过编程真正要学会的应该是发现问题、分析问题、解决问题的能力,不应该是语言本身。Java语言最为一种强语言,确实可以拓展你的处理问题能力。我很喜欢“业务流程再造”这个词,IT技术是为业务创新提供支撑的,编程的核心应该是业务领域建模,编程语言只能算实现工具。

       最后,在新的一年祝愿程序员始终保持一种心境,遇到Bug还会废寝忘食,解决问题后的喜悦还是那么可爱;始终有种勇气,敢于否定一切;始终有个追求,把繁琐留给自己,让用户体验更加舒心。   

        篇幅有点长,感谢读完,希望对您有帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT 行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值