Java开发的学习路线


前言

做java开发不到四年,自己的知识树还像一棵小草一样,系统性不够、根基不牢、不够深入!不久即将迈入5年码龄,面对这个分水岭,迷茫恐惧的一个不止我自己吧。

本博客阐述内容,均为翻阅资料,总结所得。我现在也仅仅属于“入门级开发”水平,但是我知道,只有将自己的知识树成长的更好更健壮,机会来临的时候,才能握住它!

我会按照文中列举的学习路线,系统学习,并及时发布学习总结和心得,与君共勉!


一、java入门级开发

在这里插入图片描述

1、Java基础加提升

在这里插入图片描述

2、Javaweb

在这里插入图片描述

3、Java框架

在这里插入图片描述

4、Java项目

在这里插入图片描述

二、夯实基础

完成以上的学习,恭喜你,这个时候,你已经成为一个普普通通的码农,干着ctrl+c,ctrl+v的活,等着35岁命运的审判。如果你想翻身,你至少需要看夯实基础,学完下面内容。

1、Java基础

Java编程思想》,这本书的内容是帮助你对于Java有一个更加深入的了解,是Java基础的升级版。是充分吸收,而不是读一遍就完事了。总而言之,在工作中实践,并且更加深入的了解Java基础。

2、Java设计模式

对于面向对象的体会可能还不够深刻,编程的时候还停留在完成功能的层次,很少会去考虑设计的问题。《大话设计模式》这本书,记住,需要写完整版的设计模式博客,巩固学习。

3、Java代码优化

重构 改善既有代码的设计》,《effective java》。总而言之,这个阶段,你的核心任务就是提高你的代码能力,要能写出一手优雅的代码。

4、Java项目调优

深入理解Java虚拟机》,这本书绝对是Java开发者最重要的书,没有之一。这本书的内容是帮助你全面的了解Java虚拟机,在这个阶段,你一定已经知道Java是运行在JVM之上的。

5、Java并发编程

Java并发编程实战》这本书,只要你把这本书啃下来了,并发的部分基本已经了解了十之六七。

6、Java框架源码

你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。

7、重复造轮子

不要听信那套“不要重复造轮子”的论调,那是公司为了节省时间成本编造出来的。重复造轮子或许对别人没有价值,因为你造的轮子可能早就有了,而且一般情况下你造出来的轮子还没有现存的好。但是对别人没有价值,不代表对你自己没有价值。一个造轮子的过程,是一个从无到有的过程。这个过程可以对你进行系统的锻炼,它不仅考察你的编码能力,还考察你的框架设计能力,你需要让你的轮子拥有足够好的扩展性、健壮性。而且在造轮子的过程中,你会遇到各种各样的难题,这些难题往往又是你学习的契机。当你把轮子造好的时候,你一定会发现,其实你自己收获了很多。所以,这个阶段,除了上面提到的了解JVM、JDK和框架源码以外,也请你根据别人优秀的源码,去造一个任何你能够想象出来的轮子。

三、脱颖而出

完成以上的学习,恭喜你,成为了一名基本合格的Java开发者,但你离成为一名优秀的Java开发者还有很大的距离。

1、专精一个领域

比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等等。这些技术,你能精通任何一项,都将是你未来面试时巨大的优势,这个时候你应该更多的考虑建立你的优势。

所谓优秀,即能别人所不能。以上学习内容,是很多做过几年的Java开发都能够掌握的。那么为了让自己有差异性,你就需要另辟蹊径,找一个方向深入研究下去,以期在将来,你能够成为这个领域的专家,比如分布式计算领域的专家,大数据领域的专家,并发领域的专家等等。

你除了建立你的差异性之外,还要去弥补你基础上的不足,直到现在,我都没有提及基础知识。原因是基础是很枯燥无味的,学的太早不仅容易懵逼,而且懵逼的同时还容易产生心理阴影,以至于以后再不想去研究这些基础。但基础又是你深入研究一些领域时所必须掌握的,比如你去研究分布式计算,你不懂算法你玩个毛毛?比如你去做分布式缓存,你对计算机系统的内存不了解,你如何去做缓存?

比如算法、计算机系统原理、编译原理这些。但是每个人时间都是有限的,而且这些基础的书籍每一本读下来,没个一年半载的,还真拿不下来,因此还是要有所抉择的。虽然艺多不压身,但问题是艺多是有代价的,是需要你付出时间和精力的,而我个人更赞成在同等代价的情况下获取最大的收获。

首先,我比较推崇的基础书籍有三本
1、《深入理解计算机系统》比较适合一直从事Java Web开发和APP后端开发工作的人群。

2、《tcp/ip详解 卷一、二、三》比较适合做网络编程的人群,比如你使用netty去开发的话,
那么就要对TCP/IP有更深入的了解。

3、《数据结构与算法》这本书,则比较适合做计算研究工作的人,比如刚才提到的分布式计算。

如果时间有限的话,那么就先挑对你帮助最大的书去读。理论上来讲,一年你能把这三本其中一本精读下来,就已经非常厉害了。一定要规划好自己的领域,建立好自己的优势,制造出差异性。

2、扩大自己影响力

这个时候不要着急提高自己的技术,已经是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景,你可以发表一些文章去影响更多的人。当然,你也可以去Github创建一个属于你的开源项目,去打造自己的产品。

技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了。程序猿在某种程度上和明星很像,一个好的电视剧和电影就可以成就一批明星,程序猿有的时候也是,一个好的项目就可以成就一群程序猿。比如国内几个脍炙人口的项目,像淘宝、支付宝、QQ、百度、微信等等。这每一个项目,都成就了一批程序猿。

你如果想要参与这样的项目,除了靠运气之外,影响力也是很重要的一个手段。在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备。如果你能够靠你的影响力和以前积累的技术,参与到一个伟大的项目当中,那么你后面的五年也就有着落了。当然了,我现在满打满算,做程序猿也就4年不到,因此这一部分,我的见解不一定是对的,就算是对的,也不一定是适合任何人的。


最后

好了,说了这么多了,就到此为止吧,希望本文可以帮助到作为程序猿或即将成为程序猿的你。

  • 33
    点赞
  • 307
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
ZigBee是一种低功耗、低数据速率的无线通信协议,主要用于物联网应用。Java是一种广泛使用的编程语言,具有易学易用的特点。在ZigBee开发中,可以使用Java编程语言进行应用程序的开发。 使用Java进行ZigBee开发有以下几个优点: 1. 易于开发和维护:Java具有简洁明了的语法和丰富的类库,使得开发人员可以轻松编写功能强大的应用程序。同时,Java也提供了跨平台的能力,一次编写,到处运行,大大简化了开发和维护的工作。 2. 丰富的工具和框架支持:Java拥有许多成熟的开发工具和框架,如Eclipse、NetBeans等,可以提供代码自动补全、调试、测试等功能,让开发人员更加高效地进行开发工作。 3. 强大的网络编程能力:Java的网络编程能力非常强大,提供了丰富的网络相关的类库,可以方便地实现在ZigBee网络中的数据收发和通信功能。 4. 开源社区支持:Java是一个拥有庞大活跃的开源社区的编程语言,有很多开源项目和库可以用于ZigBee开发。这些开源资源可以加速开发过程,节约开发成本。 当然,与使用其他编程语言相比,使用Java开发ZigBee应用程序也存在一些挑战。例如,Java在资源消耗方面相对较高,对于一些对性能要求较高的应用场景可能需要慎重考虑。此外,Java与ZigBee的底层硬件交互可能需要使用特定的API和库。 总的来说,使用Java进行ZigBee开发可以提供便捷的开发环境和强大的编程能力,有助于实现功能丰富的物联网应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值