前言
时不时有朋友在微信问我这样的 Java 相关问题:
如何学习 Java ?
怎么自学 Java ?
有没有好的 Java 学习资源 ?
Java 的学习路线是怎么样的 ?
学 Java 的话要看什么书籍 ?
等等..
我回想了一下自己在自学 Java 的过程中,确实也走过一些弯路,想想如果一开始,有人告诉我学习 Java 的路线是怎么样的,给我一个具体的学习 Java 的框架,能让我有一个清晰的规划,知道我此刻应该学习什么?接下来学习的又是什么?想必应该会节省很多时间,少走很多弯路,也不会产生更多的焦虑。
很多的焦虑就是来源于「自己知道自己的不知道,但是对于自己的不知道的东西很模糊,不知道怎么让不知道成为知道」,可能有点绕,不过你多体会一下这句话,应该能看得懂。所以我这篇就是想让你对于你不知道的东西具象化,让你知道怎么让你的不知道变成知道。
Java 入门/基础
万事开头难,人们都说好的开始是成功的一半,对于一开始入门学习 Java 的小伙伴,最好的方式不是去买相关的书籍来看,因为编程更加注重的是实践,而不是理论,所以一开始最好是有老师教你,让他演示给你看,然后模仿学习。
可能有人说了,找老师是一件麻烦的事情,找培训机构又怕被坑很多钱。其实,如果你动手能力好一点的话,完全不用担心,因为 Google 就是最好的老师。网上已经有人提供了学习 Java 基础的视频教程了,找到它们,然后认认真真的跟着学习就是了。
当然,你有幸看到这里,也刚好是个 Java 初学者,正在找入门学习 Java 基础的视频教程,我已经帮你找好了:
链接: Java基础入门视频教程百度网盘
提取码: jtfh
这个教程我以前有看过一些,老师教的很不错,而且很详细,是 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 学习资源:
JSP/Servlet
要写 web 项目,一开始就可以从 JSP、Servlet 入手,快速了解 web 是如何交互的。
这里有两个不错的关于 JSP 和 Servlet 的教程。
Mysql数据库学习
做 Java 后端,肯定会涉及到数据,不会数据库怎么行?
现在很多企业在用的数据库是 MySQL ,包括 Google,百度,阿里等。免费强大,需要学会数据库的创建和一些查询操作。可以看一本叫做《《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》》 的书,是网易技术部高级 DBA 写的。这本书很适合于 MySQL 的初学者阅读。
web 框架学习
Java web 的框架层出不穷,可以针对现在大多数人使用的框架学习,例如 Spring、SpringMVC、MyBatis、Springboot,不用过多注重框架的表现形式,而应该学习里面的一些具体实现原理。Spring 就是一个非常值得学习的框架。这个阶段推荐看这个教程:
web 项目实战
当你了解了一些框架的使用,并且具备一定的 Java 基础之后,就可以看我这个教程了:
这个课程涉及到很多知识点,干货满满,通过这里,带你真正走进企业项目的开发实战,从 0 到 1 打造一个分布式的电商项目。当然,我这个教程站在你的角度出发,让你学会如何使用这些技术,往后运用与你的工作中。
Spring boot/Spring cloud
项目实战完之后,再学习优秀的框架,Spring boot/Spring cloud 是目前比较流行的微服务框架,通过他们能够更加专注于业务的开发,减少一些繁杂的配置。
可以学习丁雪丰老师的视频课程:玩转 Spring 全家桶
回归 Java 编程基础
越往后就会越发现基础的重要性,而那些框架层出不穷,不断的迭代更新,但是基础都是不变的,所以要回归基础,掌握好基础才是正确的选择。
什么是Java 编程基础基础?
诸如:
Java虚拟机
并发编程
设计模式
数据结构
算法
计算机网络
缓存技术
消息队列
Linux操作系统
等等
学习书籍
那么到这个阶段就可以看一些更加“高深”的书籍了,在这里推荐几本。
这本书在 Java 界可谓名声大噪,共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。
对于线程安全,并发操作是 Java 程序的重点,这本书很好的解释了线程的安全和并发性。介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则等。
这是 Java 之父重点推荐的一本书,本书由曾任职于Oracle/Sun的性能优化专家编写,系统而详细地讲解了性能优化的各个方面,帮助你学习Java虚拟机的基本原理、掌握一些监控Java程序性能的工具,从而快速找到程序中的性能瓶颈,并有效改善程序的运行性能。
设计模式是前人的智慧结晶,通过这本书可以学习到面向对象程序设计的6大原则、23种最常用的设计模式、各种设计模式之间的差别以及它们的理想应用场景、如何在实际开发中将各种设计模式混合起来使用、5种新的设计模式的原理、意图和最佳实践。
这本书对计算机网络有一个整体的介绍,如:因特网、分组交换、因特网各层详解等等。
鸟哥在Linux中文圈很出名,书中包含了鸟哥从完全不懂Linux 到现在的所有学习历程,鸟哥将这几年来的所知所学倾囊相授,以浅显易懂的文字带领您进入Linux 的世界。值得一读。
学习专栏
这是我看过的算法资料中最好的专栏,作者讲解通俗,学起来很轻松,分为四个模块:入门–>基础–>高级–>实战。
这个专栏分为五个模块:1. 并发理论基础 2. 并发工具类 3. 并发设计模式 4. 案例分析 5. 其他并发模型。
这个专栏也是分为五个模块,但是评论区也很精彩,很多 Java 爱好者的评论可以认真看一下,干货满满。
值得学习的 Java 博客
我的博客(有点不要脸):
wistbean|肯定会作者从事过Java开发,近几年来主要做iOS技术相关的工作,对无线产品相关和iOS平台相关开发有粗浅理解,关注新兴技术。喜欢不断深入某技术领域的原理研究,喜欢解决有挑战性的问题:
Java文章列表 | 三石·道随着这几年的发展,并发网组织翻译和原创了几百篇技术精品文章,包括Java,C++,JS,开源框架,管理和架构等,所以并发网从最初致力于并发编程的研究和传播,进化成现在的致力于精品技术的研究和传播:
并发编程网 - ifeve.comegg,一个疯狂的Java爱好者!这里会分享一个程序员成长所需的点点滴滴,以Java为主体,从基础到高级知识都会不断的出炉:
智慧演绎,无处不在 - CSDN博客阿里巴巴网络技术有限公司 资深研发工程师的blog:
HollisChuang’s Blog满满的java干货:
java_my_life - 博客园ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站:
专注Java & Android 技术分享我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-java就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具、数据库、框架、模板、安全、代码分析、日志、第三方库、书籍、Java 站点等等:
jobbole/awesome-java-cn
最后
以上 ,如果你掌握了我上述列出的这些,那么应该算是一个中高级的 Java 程序员了,到了这个阶段,想必接下来不必我多说,你也知道如何继续了。祝你牛逼,如果觉得本文对你有帮助,想要支持我一下,可以点击:我要支持wistbean