微信公众号:一个优秀的废人
如有问题或建议,请后台留言,我会尽力解决你的问题。

前言

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

了解 Java 的前世今生

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

建立学习大纲

很多人不知道怎么学,怎么规划自己的学习路线。对于这种情况我的应对方法是建立学习大纲,比如 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框架等等。以项目来驱动自己学习,整个过程将会有趣得多。

最后

如果看到这里,喜欢这篇文章的话,请转发、点赞。微信搜索「一个优秀的废人」,欢迎关注。

回复「1024」送你一套完整的 java、python、c++、go、前端、linux、算法、大数据、人工智能、小程序以及英语教程。

回复「电子书」送你 50+ 本 java 电子书。

自学 JAVA 的几点建议的更多相关文章

  1. 自学 Java 怎么入门

    自学 Java 怎么入门? 595赞同反对,不会显示你的姓名     给你推荐一个写得非常用心的Java基础教程:java-basic | 天码营 这个教程将Java的入门基础知识贯穿在一个实例中,逐 ...

  2. 十年Java开发程序员回答,自学Java,培训Java的利和弊

    最近有一个朋友在群里面问我:是应该去培训Java还是应该自学Java,我想的说的是我并不是想给他一个去培训或者不去培训,我用自己多年对于行业的了解去分析这个问题,然后让他自己去思考,哪种更加适合他.他 ...

  3. 自学java难吗?一个JAVA学习者应该具备的素质

    无论是在校的学生也好,还是转行的也好,如今学JAVA开发的人越来越多,造成了如今新手越来越多,有人说前端饱和了,JAVA饱和了,JAVA才刚开始以一种好的势头发展就饱和了.我也是无语,一般说饱和的人, ...

  4. 零基础如何自学java开发?

    开篇直奔主题,java 学习个人感觉分为两种途径,第一种是在学校,在培训机构等地方学习. 有人指导:第二种是自学,通过视频,书籍,朋友等完成学习. 本文适合 自学,且基础薄弱或者无基础的人.先介绍下我 ...

  5. 如何自学Java开发

    对于这个话题,已经不止N次在线上或线下听到了.从这个话题被太多的人提问及回答,我们可以肯定地说,Java这个已经有近15年头的计算机编程语言是有着及其广阔的应用领域和独特而短期无法替代的优势.我们姑且 ...

  6. 园艺研究生中途自学Java,赶上校招终进美团,分享面试经验

    前言 最近,圈子里的很多小伙伴都在面试,有些小伙伴儿拿到不错的offer,今天给大家推荐的这位小伙伴拿到美团点评的校招offer,他将自己这次面试的经历写下来供大家参考,看看你能回答多少? 背景 上海 ...

  7. 为什么那么多自学JAVA的后来都放弃了?总结起来就这些原因

    目前信息化产业发展势头很好,互联网就成为了很多普通人想要涉及的行业,因为相比于传统行业,互联网行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Java开发. 目前来讲市场上需要的Java人员非 ...

  8. 自学Java,需要掌握什么内容才能找到满意的工作?

    首先,这个问题主要问:自学Java编程技术,如果才能找到一份Java编程的工作.按照现在的招聘标准来看,无论你去哪个公司面试,你只需要满足他们公司的需求就可以. 找到一份Java编程工作需要掌握的内容 ...

  9. 自学java,学多久可以自己找到工作?

    先以肯定的语气说明一下自学Java,多久可以找到工作:   按照目前Java的体系来说,Java的几个重点在于Javase.数据库.Spring全家桶系列的框架.而其他的在Java体系之内,会基础的操 ...

随机推荐

  1. Python--day64--Bootstrap样式的使用

    Bootstrap样式网址:https://v3.bootcss.com

  2. Python--day25--面向对象之封装

    狭义上的封装的例子:(例1)Python就只有两种类型:公有和私有,没有Java中说的那种保护类型 例2: 例3:正常的方法调用私有方法 封装总结:

  3. Codeforces Round #198 (Div. 1 + Div. 2)

    A. The Wall 求下gcd即可. B. Maximal Area Quadrilateral 枚举对角线,根据叉积判断顺.逆时针方向构成的最大面积. 由于点坐标绝对值不超过1000,用int比 ...

  4. ThinkPHP 模版中的内置标签

    内置标签就是模版引擎提供的一组可以完成控制.循环和判断功能的类似HTML语法的标签.   一.判断比较:   1.if标签进行条件判断 //if语句的完整格式 <if condition=&qu ...

  5. SpringSecurity认证流程详解

    SpringSecurity基本原理 在之前的文章<SpringBoot + Spring Security 基本使用及个性化登录配置>中对SpringSecurity进行了简单的使用介绍 ...

  6. H3C 路由优先级

  7. 【t046】牛跳

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] John的奶牛们计划要跳到月亮上去.它们请魔法师配制了P(1 <= P <=150,000 ...

  8. Ajax与PHP通信

    以下是HTML的Js代码 $data = { va:$('#num').text() }; $.ajax({ type: 'POST', url: "A.php", data: $ ...

  9. ES6,ES7重点介绍

    1. 字符串模板 <!--旧版拼接字符串--> var str = '我是时间:'+new Date(); <!--新版拼接字符串--> let str = `我是时间${ne ...

  10. MFC 封装类为静态链接库

    mfc自带的基本控件都不怎么美观,所以一般开发者都会自定义类对控件进行重绘.手里也积累了不少控件的重绘,对对话框.静态文本.列表框等. 但是每次都要把这些类重新导入到新的工程里,比较麻烦,而且我也不想 ...