青铜 - 入门基础知识

经常有人问我,如果是零基础,那么如何快速入门Java开发呢?如果以一个后来者视角,确实适当的指引可以提高一些认知的效率。所以本节写给几乎没有啥基础,且想入门Java栈的开发的人。@pdai

入门与心态

致有小小野心的你

很多初学者会很迷茫,看到和想学的东西太多,定力又不够。一边感受着学习和工作(任务,通常是业务上的)本身的压力,一边期望深入学习(通常是技术点),一边还有着年轻人小小野心,但多数却又没有办法持之以恒;最后的结局是花费好长时间,在经验中摸着石头过河,所以比起认知来说,认知效率更为重要。这就是为什么我觉得我有必要提一下入门的心态。@pdai

这里不是鸡汤,提几个我认为重要的点:

  • 行动很重要, 千里之行始于足下。
  • 有人指路和没人指路差别很大。
  • 阶段性目标。
  • 获得正反馈。
  • 圈子很重要。
  • 战术上重视,战略上藐视。这绝对不是一句空话。

认知基础

花点时间了解下,一些项目做出来是什么样的,这样才能心中不慌;最怕说我学习了java,我能干啥呢?

后端基础

Java基础

一定要看一本书,而且是一鼓作气。

我从来不会推荐初学者学习《Java编程思想》和《Java核心技术》,为什么? 不是书不好,而是大多数人无法持之以恒看完的,而且我确定你读一遍无法读懂精髓,你也没有这么多时间和耐心,这会有挫败感。

但凡给刚入门的推荐一本书,我只推荐一本:

为什么是这本呢

因为简单,因为你可以很快上手,因为很多都是代码块,可以很快看完,你可以有点成就感。

怎么看呢

这本书也有700多页(哦天哪,都更新到700多页了),别怕,我们不是看全部,而是挑一部分看:下面是我从中截取要看的目录部分

// 1部分 Java基础程序设计

1Java概述及开发环境搭建2
2章 简单的Java程序11
3Java基础程序设计16
4章 数组与方法60

// 2部分 Java面向对象程序设计

5章 面向对象(基础篇)88
6章 面向对象(高级篇)170
7章 异常的捕获及处理235
8章 包及访问控制权限252

// 3部分 Java应用程序设计

9章 多线程266 // 这章跳过不看
10章 泛型307
11Java常用类库336 // 第二遍再看
12Java IO397 // 这章跳过不看
13Java类集491
14章 枚举559
15Java反射机制577 // 第二遍再看
16Annotion609 // 第二遍再看
17Java数据库编程630 // 第二遍再看
18章 图形界面693 // 这章跳过不看
19Java网络编程785 // 这章跳过不看
20JavaIO801 // 这章跳过不看

这本书看多久呢

注意了,这很重要,最多一个星期要看完我上面没标注的;有时间第二个星期,把第一遍和标注第二遍的再看一遍。

有人问一开始要不要读其它书

我的观点很明确,入门阶段,这些书全不要看,书是很好,你吸收不了。你要有时间把上面那本书再看一遍。

什么时候看其它书呢

至少你入门半年以上,你已经能通过Java来完成一些事情了,可以游刃有余的有时间来学习时;否则既要应付你手上的工作,又要深入,况且你要学的还多着呢,你不迷茫不焦虑才怪。

SpringMVC基础

你可能了解和上手过SpringBoot,但是在学习SpringBoot之前,我推荐你学习SpringMVC。

如果要推荐一本《SpringMVC》相关的书,我只会推荐一本。

注意:只是一个文档,不是书

跟开涛学 SpringMVC

为什么推荐这本

因为简单,因为可以构筑你的web认知,因为你看的懂,这样循序渐进你可以很快理解。这就是我说的认知效率。

里面技术是不是过时

表面是过时,其实被隐藏和封装起来了。这和构筑你的web认知没有关系。顺便说一句,通常一个入门者不会提出一个好的问题(包括这个问题),因为基于他现有的认知,他提出不了有价值的问题

这个文档看多久

推荐三天左右,你没看错,就是三天。

里面有一些实例,我要不要自己玩转下里面的代码

想法是好,但是我不推荐你这么做。你有这时间,那就隔段时间再看一遍这个文档。为什么?因为你短期不会直接使用这个,只用了解思想和要点,还因为你还要更多时间去学其它的。

SpringBoot基础

  • 直接看Hello world的例子

Spring Boot - Helloworld

这部分内容的IDEA部分,也会下一节中介绍:

青铜 - 入门开发IDE,Hello World

  • 如果要推荐本书

看这本吧,为啥呢?因为这本写的真浅,入门的人很容易懂。

Spring Boot实战在新窗口打开

数据库基础

入门期,找个MySQL上手练练SQL就可以了。

  • MySQL的安装

MySQL 社区版下载和安装在新窗口打开

前端基础

很多基础性的知识我只是列一下,知识点非常浅的,而且很多人其实已经有相关基础了。

HTML基础

  • 推荐学习内容

HTML 教程- (HTML5 标准)在新窗口打开

  • 学习多长时间

很简单的内容,快速过一遍,2个小时左右。

CSS基础

  • 推荐学习内容

CSS 教程在新窗口打开

  • 学习多长时间

很简单的内容,快速过一遍,2个小时左右。

JS基础

  • 推荐学习内容

JavaScript 教程在新窗口打开

  • 学习多长时间

很简单的内容,快速过一遍,3个小时左右。

Jquery基础

选学,老的前端项目会使用JQuery

  • 推荐学习内容

jQuery 教程在新窗口打开

  • 学习多长时间

很简单的内容,快速过一遍,2个小时左右。

BootStrap基础

选学,老的前端项目会使用BootStrap布局

  • 推荐学习内容

Bootstrap 教程在新窗口打开

  • 学习多长时间

很简单的内容,快速过一遍,2个小时左右。

VueJS基础

选学,国内前端栈常用框架

  • 推荐学习内容

VueJS 官网在新窗口打开

如果你看官网没有定力或者收获小,可以看个视频教程

vue2.5入门在新窗口打开

  • 学习多长时间

3个小时左右。

再谈学习效率

注意

关于每一项给的时间,看上去非常紧,为什么只推荐这么点时间:

  • 大多数情况下,你不会是真正的0基础的;
  • 在入门的时候,效率是极其重要的;一定要给自己设置Deadline,因为无数次的经验证明Deadline是最好的效率推手;
  • 即便你花的时间远大于我给的设定,没关系,尽你最大能力去完成,你的认知效率已经高于其它人了。