关于自学 JAVA 的几点建议

前言

许久不见,最近公众号多了很多在校的师弟师妹们。有很多同学都加了我微信问了一些诸如 [如何自学 Java ]的问题,我都一一解答了,这是大家对我的信任,我非常感谢。你们知道我现在的职业是 java web 开发,可你们你们不知道的是我在这个份职业之前做的是 Android 开发,一年前通过自学才转过来 java 岗位。下面就跟你们聊聊我的自学经验以及一些建议,希望能帮助到大家。

了解 Java 的前世今生

在学习之前,我相信很多人都是网上直接找教程,开始学。但我跟你们不一样,我会先去网上找一些 Java 相关的发展史来了解一下,很多人可能疑惑这有什么用呢?那些发展史又不会帮你提高你的技术。我告诉你们这里的用处可大了,举个栗子,不去了解你又怎么会知道 JDK 11 已经出了,JDK 8 是目前最多人使用的版本,而你此时找到的是 JDK 6 的教程,学习一段时间后,你发现你的代码跟别人不一样,殊不知人家用的 JDK 8。那么这中间你就浪费了许多时间了,所以了解一门语言的前世今生是很有必要的。

建立学习大纲

很多人不知道怎么学,怎么规划自己的学习路线。对于这种情况我的应对方法是建立学习大纲,比如 java 基础,那你就得想 Java 基础有哪些知识点,然后把它罗列下来做成一个学习大纲或者思维导图。那你在学习之前,你就跟着学习大纲按部就班地学就好了,哪块没攻克的就翻相应的资料重点学习。下面是我整理的简单版的思维导图,给你们做参考,你们的大纲不能像我做的这么简化,你们要逐项展开,比如说Java 基础,应该具体到某一个知识点才行,因为越具体,你学得越清晰。

Java 学习大纲

简单说一下,上面我整理的学习大纲分为四个阶段,对于应届生来说,把上面前三阶段掌握了,找到实习工作完全没问题。但如果想更进一步,进 BAT 等公司,可能需要把上面四个阶段都要掌握了。

PS:重中之重的是 Java 基础算法,大厂非常青睐算法好的应届生 PPS:推荐一款好用的思维导图软件:https://mubu.com/inv/929852 PPPS:以上提到的知识点统一在后台回复福利领取

不要浪费时间在找资料上

自学 Java ,我相信很多人一开始都是煞费苦心找资料的,越多越好,越详细越好,因为这样很有满足感,心里想着只要我每天坚持看几个小时很快看完的。殊不知,不断保存教程的结果就是某度云盘里面躺了一大堆教程,就算是每天不睡觉地看还不一定能看完。自制力好的人,估计在保存后会翻出来看两眼,过几天又忘得一干二净了。自制力不好的人更衰,直接让教程在云盘里面积灰。对于初学者来说,只要找到囊括了 Java 基础的资料就可以开始学了。

切忌眼高手低

有些问题需然看起来很简单,很弱智,很傻逼。首先,你动手比光看不做敲记忆更牢固;其次,你敲出来可能会有各种各样奇奇怪怪的问题,而你的水平就是在解决这些问题中提高的。所谓大神都是踩各种各样的坑才过来的。

善于利用搜索引擎

遇到问题,第一时间想到的是网上搜索试试看能不能解决,不能解决再去问人。移动互联网发展到今天,可以毫不夸张的说,你遇到的 99% 的问题都能在网上找到解决办法,剩下的 1% 是因为你还没学会用关键字来搜索。

多思考

学会思考,养成多思考的习惯。在写代码的过程中多想想人家为什么这样写。举个栗子,为什么 java 类只能单继承,而接口却可以多继承,稍加思考你就会知道答案:如果存在多继承,那个两个父类有两个一模一样的方法怎么办,子类就不知道继承哪一个方法。而接口能多继承的原因是:接口中的方法都是方法名,没有函数体,具体的实现需要靠实现类去实现,一旦实现类实现了方法,那么就不存在多个接口有相同的方法名的出现的问题了,因为函数体都是一样的。

熟能生巧

很多人困惑,为什么我看视频的时候很懂,过两天就啥都忘了?其实这是正常的,因为你还没有对知识进行实践归纳。在入门 Java 之后,就需要大量的实战来巩固你的基础。所以说忘了不要紧,先按大纲按部就班学,之后再通过实战来巩固基础。

项目驱动,不要为了学而学

相当一部分初学者都坚持不下去,因为太枯燥了。遇到这种情况,首先你要明确你学习 Java 的目的是什么?我相信很多人最终目的都是--钱。这太正常了,没钱谁愿意做这么费脑力的事啊。但是你是需要通过项目来赚钱的。所以我们学习是要通过项目来驱动的。你要想你学完之后希望鼓捣一个什么东西出来。比如我之前学 Android ,我就是打算弄一个天气预报的APP出来,那有了目标之后,你就开始思考,网上查,这个东西,需要用到什么技术。比如,我当时就是要先会 Javase 才能学安卓,学到了安卓之后又有其他的技术,比如 Android 网络框架,UI框架等等。以项目来驱动自己学习,整个过程将会有趣得多。

后语

以上就是我对自学Java的几点建议,希望对你们有帮助。

本文分享自微信公众号 - 一个优秀的废人(feiren_java)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏爱写Bug

LeetCode 841:钥匙和房间 Keys and Rooms

有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。

11350
来自专栏Jerry的SAP技术分享

SAP云平台上的ABAP编程环境里如何消费第三方服务

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

8730
来自专栏BanzClub

Java总结

10550
来自专栏Java程序员那些事

Java NIO使用及原理分析 (四)

在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可...

11430
来自专栏Java程序员那些事

Java NIO使用及原理分析(三)

在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等。在本文中我们来看...

11220
来自专栏海向

使用Spring中的PropertyPlaceholderConfigurer读取文件

注意:我们知道不论是使用 PropertyPlaceholderConfigurer 还是通过 context:property-placeholder 这种方...

12730
来自专栏白安全组

黑客入门级编程

相当多入门书籍开篇就大谈**实作,这无疑是在根基不稳的时候建造摩天大厦。与其坐等这种不牢固的大厦倾倒,不如花一些时间固本培原,认识了解一下黑客的根扎在哪...

16030
来自专栏吉林乌拉

设计模式之装饰者模式

在之前的设计模式文章中楼主已经介绍过了,要尽量针对接口编程,而不要针对实现编程。因为这样我们的程序比较方便扩展,又遵循了设计模式的基本原则。既然要针对接口编程,...

8320
来自专栏Java开发

IDEA推荐插件合集

13830
来自专栏朝雨忆轻尘

Java并发编程:Java中的锁和线程同步机制

乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更...

12620

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励