假若有那么残酷的一天,我不当心喝错了一瓶药,一会儿抹掉了我这十多年的编程经验,把我变成了一只小白。我想自学 Java,而且想要找到一份工做,我预计须要 6 个月的时间,前提条件是天天都处于高效率的学习状态当中,而且天天的学习时间至少在 12 个小时以上。java
即使是这样,我敢确定,找到的工做确定不会太好,勉强可以维持生活吧,毕竟是零基础入门啊。git
若是想更进一步,真正成为一名不可或缺的高级 Java 工程师,时间须要更久,两年、三年、五年,直到秃的那天。程序员
想着想着,我就以为有必要为那一天作点准备,以备不时之需。github
Java 是一门计算机编程语言,学它的话,连台电脑都没有,学个屁。我有个亲戚家的孩子想学编程,就只看书,家里连台电脑都不配,说什么“先打好理论基础,再实操”,我真的是有点醉。web
有了电脑,还得联网,自学的过程当中确定会遇到不少问题,遇到问题的时候先问搜索引擎,推荐谷歌和必应;实在没有答案的话,也能够来找我,申请加入技术交流群,问问群里面的大佬们。面试
既然要学 Java,JDK 是必需要先安装的,不然 Java 程序就无法编译和执行。正则表达式
Maven 也是须要提早安装和配置的,由于后面进阶的话,须要一些练手项目,它们一般都须要 Maven 来加载第三方类库。算法
使用集成开发环境 IntelliJ IDEA 来敲 Java 代码吧,比 Eclipse 更流行。千万不要使用记事本编写源代码了,对于小白来讲,时间是宝贵的,记事本只适合大牛们用来装逼,不适合小白用来编程(入门),纯浪费时间。数据库
有了 IDEA,后面学习源码的话,就会方便不少,包括反编译字节码。编程
若是英语功底不太好的话,建议安装这两款 IDEA 插件:chinese 和 translation。
若是注重编码规范的话,建议安装这两款 IDEA 插件:Alibaba 和 SonarLint。
为何还须要 GitHub 仓库或者码云仓库呢?它们能够用来在线云同步源代码,防止版本丢失。学到最后,还能够造成一套本身的工具库,轮子就有了,上班的时候工做效率就会高不少,能直接用的代码不再用从新写了。
1)基本数据类型
2)操做符
3)流程控制语句
4)包
5)main 方法详解
String[] args
)6)数组
7)注释
8)字符串
1)面向对象
2)经常使用工具类
3)集合框架
4)反射机制
5)异常处理
6)注解
7)IO 流
8)序列化
9)泛型
10)单元测试
11)编码方式
12)并发编程
13)Java 8 新特性
14)源码阅读
1)JVM
2)性能优化
3)设计模式
4)数据结构和算法
5)操做系统
6)网络安全
7)数据库
8)大数据
9)服务器
10)框架
11)消息队列
12)容器
须要 Java 书单的话,我在 GitHub 上发现了一个宝藏项目,光看了一下目录,就有点吸引我。
须要的小伙伴能够按需自取,地址以下所示:
技术是没有终点的,也是学不完的,最重要的是活着、不秃。
零基础入门的时候看书仍是看视频,我以为成年人,何须作选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。
最重要的是在自学的过程当中,必定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,以后进一步锤炼本身的技术。
开源的项目我推荐 GitHub 上的 mall 和 vhr,前者是电商系统,后者是微人事,都用的最前言的技术,而且文档很全面,不怕晕头转向。
自学最怕的就是缺少自驱力,必定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。
高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,天天给本身一点点鼓励,学习的劲头就会很足,不容易犯困。
技术学到手后,找工做的时候必定要好好准备一份简历,不要无头苍蝇同样去海投简历,容易“竹篮打水一场空”。能够参考下面的连接,好好的准备一下简历,毕竟是找工做的敲门砖。
拿到面试邀请后,在面试的过程当中必定要大大方方,尽力把本身学到的知识温馨地表达出来,不要由于是自学就不够自信,给面试官一个好的印象,面试成功的概率就会大不少,加油吧,骚年!