跳到主要内容

零基础如何入门Java?

最近刷知乎,总能看到有小伙伴在问0基础如何学Java?转行学Java该怎么学?Java学到什么程度可以找工作? 这类的问题,所以我想就我的经验来谈一谈。

image-20210623233529524

image-20210623233704249

先说下Java的学习路线:

提示

Java SE -> 数据库(Mysql) -> 前端(Html、Css、JavaScript) -> Java EE -> 企业开发框架(Spring、Spring MVC、Mybatis、Spring Boot)

这是一个学习Java后端开发最基本路线,无论是自学还是报班培训,都是这个流程,学完就可以找工作了。

我曾经因为感兴趣自学过,后来打算转行又报了培训班,所以我分别来说说我对自学和报培训班学习的看法。

自学

很多没有接触过编程的小伙伴都会有这样的疑问:Java能不能自学?

我的答案是肯定的:

如果是自学能力强、自律的小伙伴,那完全可以自学。你在培训班能学到的知识在网上都能很轻松地找到。

只要按照上面的学习路线找相应的视频教程学习,并且掌握到一定程度,就可以找到工作。具体要掌握到什么程度,最后再说。

先说下在哪学?

我推荐到B站,B站的Java视频资源非常多,我现在学一些新技术的时候,也会到B站找教程。

其次是慕课网,慕课网大多数的教程都是收费的。

我主要是通过以上两个平台学习(P.S. 这不是打广告哈,打广告也没人给我钱😆)。

再说下自学的弊端

自学也有弊端,就是很难保证自己的学习的进度,尤其是在初期学习阶段,即便你清楚地知道学习路线。

自己学习时,很难做到全神贯注地跟着视频学习,注意力容易分散。有时,自己在练习敲代码的时候,不知不觉就敲了很长时间,视频进度始终停滞不前,最后可能一个月了JavaSE都没有看完。

所以,在学习的时候,一定要规划好学习的进度。学习路线可以让小伙伴知道学Java该学什么,但是把握进度还要看自己。

image-20210626163956884

一般JavaSE的视频教程在十几到几十个小时不等,在选择教程时尽量先多点几个进去听一听,货比三家嘛。找一个声音听着不错的老师,这样学起来起码能事半功倍,有的视频看一会儿就不想看了,这种肯定不会有益学习。

还有一点是不宜选择时间过长的视频,有的教程几十甚至几百个小时,这种最好是不要选了。凭我的经验,任何一门技术的视频教程在10-15个小时之间最合适。

选择好教程后,根据教程的时长给自己制定一个学习计划,假设一个15小时的JavaSE教程,一天看3个小时,其余时间用来练习和消化,一周就把JavaSE攻克了。

学习一门技术,一定要一口气儿拿下它,千万不要拖拖拉拉,代码一天不敲,学过的东西都可能会忘。我们学习的目的很明确,就是为了赶紧学完赶紧找工作,时间拉得越长,后劲儿就越不足,可能学到一半就放弃了。

培训班

我报培训班的目的很明确,为了快速转行。

我喜欢和别人比着学,这也是当初我认为报班学肯定能学成的原因,事实也证明了这一点。

知乎上有的小伙伴问过一些问题,我总结了一点:

  • XX岁转行可以吗?
  • 怎么选择培训机构?
  • Java学到什么程度可以找工作?

我围绕这几点说一下。

我是26周岁转行的(虚岁28)。我当时都感觉我已经是大龄了,班级里30多个同学清一色都是应届生,也有跟我年龄差不多的,还有一个31岁大哥。

所以说,年龄不是问题,只要心不老,干啥都不晚。总比到了30多岁的时候再说,我当初学Java好了。

选择培训机构时,一定要选择大型的培训机构。

有的小机构打着招聘的幌子招生,套路频出,说要岗前培训几个月,然后每个月给你提供多少钱的生活费,然后等你工作的时候要从工资扣XX钱,必须在公司干满XX年等等。

大型机构相对还是有保证的,具体去哪一家我就不推荐了。

最后,具体说说Java每个阶段都要掌握到什么程度,这个是很多人都关心的话题。

Java SE

Java SE,学完JavaSE要掌握Java的基础语法,包括:

  • 基本数据类型(8种)
  • 运算符
  • 控制流程(条件、循环)
  • 数组(Java最基本的数据结构)
  • 面向对象的编程思想
    • 什么是类,什么是对象(类是对象的抽象,对象是类的实例)
    • 封装、继承、多态
  • 常用的类库,如String、基本数据类型的包装类
  • 集合
    • Collocation接口:ArrayList(数组实现)、LinkedList(链表实现)、HashSet(HashMap)
    • Map接口:HashMap
    • 迭代器
  • 异常(类别,以及如何处理异常、自定义异常)
  • 多线程、IO流(先了解即可)
  • Swing图形化(不学)

数据库

数据库学习Mysql,要掌握:

  • Mysql的数据类型
  • 数据库创建、数据表创建
  • 约束
  • 了解三大范式
  • 增删改查语句
  • 关联查询
  • 视图
  • 数据库事务

初学时,先不要直接使用数据库客户端,最好是先使用命令行。

最主要的还是要掌握增删改查操作,尤其是查询,会涉及到多表的查询。

学完Mysql,紧接着要学习JDBC,即Java Database Connectivity,它是Java用于连接和操作数据库的接口(interface),但Java并不提供具体的实现,而Mysql提供了JDBC的具体实现,即数据库驱动,从而实现Java操作Mysql数据库。不同的数据库(Mysql、Oracle...)都有各自的数据库驱动,所以我们在编程时无需关心操作的具体是什么数据库,我们只面向JDBC接口,这就是面向接口编程

学完了Java SE,了解了面向对象,我们知道Java多态性的体现之一就是接口,在之后的开发中,很大程度也都是面向接口编程,结构分层,从而实现了代码间的弱耦合,提高代码的健壮性,也更容易维护。

JDBC这块要掌握:

  • 如何在项目中引入JDBC、数据库驱动
  • 知道JDBC常用的对象,并且要实现对数据库的增删改查操作

虽然后面会接触到Mybatis框架,它让我们更容易的使用数据库,但是基础还是要学的。

前端

前端不是重点,但是也不能一点儿都不会。

  • 前端三大件:Html、Css、JavaScript
  • Vue
    • 知道Vue对象的生命周期,掌握生命周期钩子函数
    • Vue指令
    • 计算属性、监听器
    • 条件、循环

前端部分跟着视频学一遍即可,不需要精通,但起码要能看懂代码。

Vue是目前比较主流的前端框架,基本的语法要能看懂。

日后工作中,即便不能独立完成前端任务,但是复制个页面,改一改的能力还是要有的。不会这些,搬砖都没法搬,上网查问题都不知道该问啥。

Java EE

学到这里,我们才真正步入了Java Web开发的大门。这里要掌握:

  • 会使用Tomcat
  • 了解Servlet
  • 了解Http协议
  • 掌握Servlet中的Request、Response对象,以及它们的常用方法
  • 掌握会话技术,Cookie、Session
  • 监听器和过滤器
  • JSP了解即可

学了Servlet可以让我们能知道Java是如何来处理Http请求的,Request、Response、会话一定要掌握。

企业开发框架

Mybatis

Mybatis是目前操作数据库的主流框架,学完要掌握:

  • 掌握Mybatis常用配置
  • 实现增删改查,尤其是多表查询、高级映射
Spring

有人说,Spring框架是Java企业开发的春天,它的作用是简化企业级开发的复杂度。

Spring在项目里也被形象地称作Spring容器,它可以整合任意框架,并且管理着各种我们需要用到的对象以及对象之间的依赖关系,就像一个大容器一样。Spring还给这些对象起了一个非常好听的名字,Bean,也有人叫它bean对象

学习完Spring,要掌握:

  • 理解IoC控制反转,以及面向切面编程AOP,这两个是Spring的核心
  • 掌握Spring的配置,如何配置bean对象,适合依赖注入,掌握常用的注解
Spring MVC

它为Spring提供了处理Web的能力,学完要掌握:

  • 了解Spring MVC的处理流程
  • Spring MVC的配置
  • 常用注解

最后,要能够独立从零搭建一个SSM项目。

Spring Boot

目前SSM这种组合已经不再流行,新的项目开始使用Spring Boot框架开发。

Spring Boot是Spring快速开发脚手架,当学完SSM之后,我们发现Spring在整合Mybatis、Spring MVC以及其他第三方组件时需要写大量的配置文件,这非常麻烦还容易出错、不好维护,这在企业开发中更是让人头疼。

Spring Boot的诞生就是为了解决这一难题,每一个技术之所以能够流行,必然是为了解决某些重大的难题。当然,Spring Boot的强大远远不止于此。

当我们动手搭建配置一个SSM项目,可能需要花费大约半个小时的时间。但我们创建一个Spring Boot项目并整合Spring MVC、Mybatis只需要几分钟的时间。

学完Spring Boot,要掌握:

  • 如何创建Spring Boot项目,整合Spring、Mybatis,以及常用的注解

找工作

掌握以上内容,仅仅是一名程序员职业生涯的开始,这些只是入门的最基本要求而已。

找工作,碰壁几家别灰心,心态一定要稳,找工作时运气也占了很大一部分。

无论是应届还是转行,都是从零开始,第一份工作,别太看重工资,找到工作才是真格的。

当找到工作入职后,我们会接触到真正的项目,可能会手足无措、无从下手、压力很大、焦虑,但这些都是正常现象,不出一个月,你就能上手,放心大胆地干吧。