前言

时不时有朋友在微信问我这样的 Java 相关问题:

如何学习 Java ?
怎么自学 Java ?
有没有好的 Java 学习资源 ?
Java 的学习路线是怎么样的 ?
学 Java 的话要看什么书籍 ?
等等..

我回想了一下自己在自学 Java 的过程中,确实也走过一些弯路,想想如果一开始,有人告诉我学习 Java 的路线是怎么样的,给我一个具体的学习 Java 的框架,能让我有一个清晰的规划,知道我此刻应该学习什么?接下来学习的又是什么?想必应该会节省很多时间,少走很多弯路,也不会产生更多的焦虑。

很多的焦虑就是来源于「自己知道自己的不知道,但是对于自己的不知道的东西很模糊,不知道怎么让不知道成为知道」,可能有点绕,不过你多体会一下这句话,应该能看得懂。所以我这篇就是想让你对于你不知道的东西具象化,让你知道怎么让你的不知道变成知道。

dunning-Kruger 心里效应
dunning-Kruger 心里效应

Java 入门/基础

万事开头难,人们都说好的开始是成功的一半,对于一开始入门学习 Java 的小伙伴,最好的方式不是去买相关的书籍来看,因为编程更加注重的是实践,而不是理论,所以一开始最好是有老师教你,让他演示给你看,然后模仿学习。

可能有人说了,找老师是一件麻烦的事情,找培训机构又怕被坑很多钱。其实,如果你动手能力好一点的话,完全不用担心,因为 Google 就是最好的老师。网上已经有人提供了学习 Java 基础的视频教程了,找到它们,然后认认真真的跟着学习就是了。

当然,你有幸看到这里,也刚好是个 Java 初学者,正在找入门学习 Java 基础的视频教程,我已经帮你找好了:

链接: Java基础入门视频教程百度网盘
提取码: jtfh

这个教程我以前有看过一些,老师教的很不错,而且很详细,是 Java 入门学习的好资源。

Java基础入门视频教程
Java基础入门视频教程

静下心来学习完,你应该大致掌握了 Java 的基础知识了,接下里可以写点小的项目来练练手。毕竟,实践出真知。想当年,我就是在这个阶段的时候模仿着写了个坦克的游戏。

Java 基础巩固

有了一定的 Java SE 基础之后,接下来就可以巩固一下,看书籍查漏补缺了。可以看看《Java核心技术》这本书。这本书有分为两卷,卷一涉及到的 Java 基础知识,卷二涉及到的就是 Java 的高级特性知识,系统全面讲解了 Java 语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。

《Java核心技术卷1》具体介绍:《Java核心技术卷1》具体目录
《Java核心技术卷2》具体介绍:《Java核心技术卷2》具体目录

Java基础到进阶

HTML/CSS/JS

接下来这个阶段就可以进入 web 开发了,可以先学习 HTML , css ,Javascript ,虽然这是前端开发者学习的基础知识,但是对于 Java 程序员,这也是需要了解的,不需要很精通,但起码要了解会用。等你写 web 项目的时候,会用到。以下是不错的HTML , css ,Javascript 的学习资源。

HTML学习教程:w3school HTML学习教程
css学习教程:w3school css学习教程
Javascript学习教程:w3school Javascript学习教程

Intellij IDEA

工欲善其事必先利其器,别再使用 eclipse 了,有更加高效的工具 Intellij IDEA , 你需要学会它,如何创建项目,导入项目,使用命令,使用快捷键等。点击 Intellij IDEA 下载吧。

Intellij IDEA 学习资源:

Intellij官方文档
IntelliJ IDEA 简体中文专题教程

JSP/Servlet

要写 web 项目,一开始就可以从 JSP、Servlet 入手,快速了解 web 是如何交互的。

这里有两个不错的关于 JSP 和 Servlet 的教程。

Servlet JSP Tutorial
Servlet教程

Mysql数据库学习

做 Java 后端,肯定会涉及到数据,不会数据库怎么行?

现在很多企业在用的数据库是 MySQL ,包括 Google,百度,阿里等。免费强大,需要学会数据库的创建和一些查询操作。可以看一本叫做《《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》》 的书,是网易技术部高级 DBA 写的。这本书很适合于 MySQL 的初学者阅读。

web 框架学习

Java web 的框架层出不穷,可以针对现在大多数人使用的框架学习,例如 Spring、SpringMVC、MyBatis、Springboot,不用过多注重框架的表现形式,而应该学习里面的一些具体实现原理。Spring 就是一个非常值得学习的框架。这个阶段推荐看这个教程:

MVC 框架教程

web 项目实战

当你了解了一些框架的使用,并且具备一定的 Java 基础之后,就可以看我这个教程了:

Java进阶SSM分布式项目实战视频教程

这个课程涉及到很多知识点,干货满满,通过这里,带你真正走进企业项目的开发实战,从 0 到 1 打造一个分布式的电商项目。当然,我这个教程站在你的角度出发,让你学会如何使用这些技术,往后运用与你的工作中。

Spring boot/Spring cloud

项目实战完之后,再学习优秀的框架,Spring boot/Spring cloud 是目前比较流行的微服务框架,通过他们能够更加专注于业务的开发,减少一些繁杂的配置。

可以学习丁雪丰老师的视频课程:玩转 Spring 全家桶

回归 Java 编程基础

越往后就会越发现基础的重要性,而那些框架层出不穷,不断的迭代更新,但是基础都是不变的,所以要回归基础,掌握好基础才是正确的选择。

什么是Java 编程基础基础?

诸如:

Java虚拟机
并发编程
设计模式
数据结构
算法
计算机网络
缓存技术
消息队列
Linux操作系统
等等

学习书籍

那么到这个阶段就可以看一些更加“高深”的书籍了,在这里推荐几本。

  1. 深入理解JAVA虚拟机:JVM不错特性与很佳实践

这本书在 Java 界可谓名声大噪,共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。

  1. java并发编程实战

对于线程安全,并发操作是 Java 程序的重点,这本书很好的解释了线程的安全和并发性。介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则等。

  1. Java性能优化权威指南

这是 Java 之父重点推荐的一本书,本书由曾任职于Oracle/Sun的性能优化专家编写,系统而详细地讲解了性能优化的各个方面,帮助你学习Java虚拟机的基本原理、掌握一些监控Java程序性能的工具,从而快速找到程序中的性能瓶颈,并有效改善程序的运行性能。

  1. 设计模式之禅(第2版)

设计模式是前人的智慧结晶,通过这本书可以学习到面向对象程序设计的6大原则、23种最常用的设计模式、各种设计模式之间的差别以及它们的理想应用场景、如何在实际开发中将各种设计模式混合起来使用、5种新的设计模式的原理、意图和最佳实践。

  1. 计算机网络:自顶向下方法(原书第7版)

这本书对计算机网络有一个整体的介绍,如:因特网、分组交换、因特网各层详解等等。

  1. 鸟哥的Linux私房菜

鸟哥在Linux中文圈很出名,书中包含了鸟哥从完全不懂Linux 到现在的所有学习历程,鸟哥将这几年来的所知所学倾囊相授,以浅显易懂的文字带领您进入Linux 的世界。值得一读。

学习专栏

  1. 数据结构与算法之美

这是我看过的算法资料中最好的专栏,作者讲解通俗,学起来很轻松,分为四个模块:入门–>基础–>高级–>实战。

  1. Java并发编程实战

这个专栏分为五个模块:1. 并发理论基础 2. 并发工具类 3. 并发设计模式 4. 案例分析 5. 其他并发模型。

  1. Java核心技术 36 讲

这个专栏也是分为五个模块,但是评论区也很精彩,很多 Java 爱好者的评论可以认真看一下,干货满满。

值得学习的 Java 博客

  1. 我的博客(有点不要脸):
    wistbean|肯定会

  2. 作者从事过Java开发,近几年来主要做iOS技术相关的工作,对无线产品相关和iOS平台相关开发有粗浅理解,关注新兴技术。喜欢不断深入某技术领域的原理研究,喜欢解决有挑战性的问题:
    Java文章列表 | 三石·道

  3. 随着这几年的发展,并发网组织翻译和原创了几百篇技术精品文章,包括Java,C++,JS,开源框架,管理和架构等,所以并发网从最初致力于并发编程的研究和传播,进化成现在的致力于精品技术的研究和传播:
    并发编程网 - ifeve.com

  4. egg,一个疯狂的Java爱好者!这里会分享一个程序员成长所需的点点滴滴,以Java为主体,从基础到高级知识都会不断的出炉:
    智慧演绎,无处不在 - CSDN博客

  5. 阿里巴巴网络技术有限公司 资深研发工程师的blog:
    HollisChuang’s Blog

  6. 满满的java干货:
    java_my_life - 博客园

  7. ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站:
    专注Java & Android 技术分享

  8. 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-java就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具、数据库、框架、模板、安全、代码分析、日志、第三方库、书籍、Java 站点等等:
    jobbole/awesome-java-cn

最后

以上 ,如果你掌握了我上述列出的这些,那么应该算是一个中高级的 Java 程序员了,到了这个阶段,想必接下来不必我多说,你也知道如何继续了。祝你牛逼,如果觉得本文对你有帮助,想要支持我一下,可以点击:我要支持wistbean

相关