Java的知识面太广了,这里整理了一个思维导图,不是很全面,但足够硬核,先学最重要的,从浅到深,能够让你快速地学好Java。

一、两个学习阶段

在介绍如何学好Java前,我们先把学习路线定一下,我把这个过程分成两个阶段。

第一阶段:打好基础,先跨进Java编程的大门;

掌握Java基础知识和工具,这些知识在学习过程中必须首先掌握,在图中,先学“1、基础知识”和“2、通用技能”、“3、看框架知识”、“4、数据库知识”。

第二阶段:建立完整的技术栈,成为一个高级软件工程师;

如果你没有掌握好第一阶段的知识,第二阶段的知识有一定难度,比如并发编程里面的线程,你可能很难理解,因为线程是看不见摸不着的,需要有抽象思维,等你有一定基础,再去理解,就会容易很多。

二、思维导图详解

1、基础知识

这部分知识没得说,大部分知识你不得不去掌握,哪怕死记硬背也要啃下,当然,实际你也无需死记硬背,实践检验真知,写代码就行了,代码写得越多,越能掌握相关知识。

首先,面向对象编程的三大特性,你必须得理解,你在写代码时,无不在用到这些思想,其次,一些基本的类型、容器、类定义、方法定义、异常等等,也需要掌握。

2、通用技能

这部分是一些工具的运用,比如编程工具IDEA/Eclipse,得掌握,特别是能提高开发效率的一些常用快捷键,如能运用得炉火纯青,可以达到事半功倍的效果,另一侧面也可以反映出你写过多少代码,熟能生巧嘛,练多了,自然而然就炉火纯青了。

代码调试技巧:这个是很重要的一项技能,很多初学者喜欢打日志的方式来排查问题,效率太低。

其他的像Git、Maven,现在主流的公司特别是互联网公司都在用,基本的代码提交、包的引用都需要熟悉。

3、框架知识

Java项目如果不用框架,估计没有这样的项目了吧,现在最流行的框架组合就是Spring+MyBatis组合,当然也有变种的,比如Spring Boot + MyBatis Plus,万变不离其宗。

早年的Hibernate持久层框架太重,学习成本也很高,现在很多公司都不用了,所以你不需要花大力气学这个了,学了还一头雾水,影响你的信心,真的有公司在用,你想进这个公司,到时再学呗。

轻量级为王,所以你优先熟悉Spring+MyBatis组合,准确说是Spring+Spring MVC+MyBatis组合或者Spring Boot+MyBatis组合。Spring Boot近年来非常火,开箱即用,确实很方便,学习成本也不高,几分钟就能搭建一个Http服务,建议去学一学(除非你面的公司不用这个,那你可以优先级放低先不学)。

学完框架,你要敲代码,学做一个后台管理系统,比如图书管理系统、学生管理系统、商品管理系统,需求和界面嘛,网上搜一下,很多,照着模仿做一个即可,不用做得很复杂,实现其中一两个模块就好了,界面丑一点也没问题,做完了,也能增加你的信心。

4、数据库知识

数据库知识是必备的,这里我们一般学MySQL,互联网公司都在用。

如果你想去传统的软件行业,特别是银行、保险、国企等行业,那建议学Oracle或者DB2。

数据库要学的就是基本的使用,表的设计原则,以及SQL(复杂查询SQL、分页SQL、插入SQL、更新SQL、删除SQL)、索引等等。

5、进阶知识

这部分知识有一定难度,如果你能掌握或者能理解一部分知识,对于初学者来说,绝对是加分项,比如你熟悉线程池,知道怎么用,用在哪些场景,知道怎么优化,能够编写出高性能的代码。一般面试官都会问下,来探探你的实力,你能回答上来,面试官基本就对你的技能掌握程度有数了。

6、软实力

最后一部分就是软实力了,进入软件行业,你需要学会沟通,结果导向、目标导向,遇到问题时,解决问题的思路很重要,独立思考,适时反馈,最终达成目标。很多面试官喜欢问,产品经理需求写得不够清晰,你会怎么办,其实考察的就是你的软实力,同时也看看你是否真的做过项目。

以上是Java学习的路径,当你进入这个行业后,你会发现越来越多的知识需要熟悉,绝不局限于我列的这些,那你根据实际的情况,针对性地去熟悉,那是后话,先学好我列的这些,一步一步来,别着急,软件行业的待遇和回报,绝对值得你去付出。

最后,最好你找一些教学视频,这样学起来会更有目标感,当然这个也很考验一个人的耐心和坚持!!!最后为大家找了一些学习视频,需要的话可以参考。

三、Java学习视频

Java基础:

Java300集,Java必备优质视频_手把手图解学习Java,让学习成为一种享受

Java项目:

【Java游戏项目】1小时教你用Java语言做经典扫雷游戏_手把手教你开发游戏

【Java毕业设计】OA办公系统项目实战_OA员工管理系统项目_java开发

零基础学Java,最开始应该学什么?相关推荐

  1. 零基础参加java培训主要学什么

    互联网行业永远是一个需求非常大的行业,尤其是技术人员岗位,java技术岗一直很受大家的关注,不少学员都是零基础开始学,那么零基础参加java培训主要学什么呢?来看看下面的详细介绍. 零基础参加java ...

  2. 零基础学java靠谱吗_零基础学习Java靠谱吗?

    零基础学习Java靠谱吗?作为信息时代的当下,我们看到太多"掌握XX技能,轻松月薪3万"."年薪30万,这个技能你必须懂得"."价值X万的写简历秘籍& ...

  3. python爬虫教程入门-零基础入门Python爬虫不知道怎么学?这是入门的完整教程

    原标题:零基础入门Python爬虫不知道怎么学?这是入门的完整教程 这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑 ...

  4. python零基础入门教程-零基础入门Python爬虫不知道怎么学?这是入门的完整教程...

    原标题:零基础入门Python爬虫不知道怎么学?这是入门的完整教程 这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑 ...

  5. 零基础无实物一步一步学PLCS7-1200仿真(三)-电动机正反转控制(互锁)

    在学习完电动机的启保停控制后,我们今天来学习电气控制里面进阶的正反转控制,也就是大名鼎鼎的互锁电路.首先需要了解电动机可以实现电动机正反转的工作原理. 一.硬件电路 用S7-1200 PLC控制一台三 ...

  6. 零基础大学才学计算机专业,零基础90后大学毕业待业学计算机

    零基础90后大学毕业待业学计算机 零基础90后大学毕业待业学计算机?四川要学习计算机的话,显然是来成都比较好,这里是大城市,发展也不错,以后就业机会也多. 一些对学历有要求的工作岗位,很多是技术性差的 ...

  7. 零基础无实物一步一步学PLCS7-1200仿真(五)-四路简易抢答器控制

    本次项目为四路抢答器,通过本次项目了解项目开发流程,未来扩展多路抢答器只需要对程序进行微调即可. 项目要求: 1.有4组进行抢答,抢答按钮为SB1-SB4,对应4个抢答指示灯为L1-L4. 2.主持人 ...

  8. 零基础无实物一步一步学PLCS7-1200仿真(六)-两个电动机顺启逆停

    本次项目为两个电机定时启动且有顺序要求,目的旨在学习PLC的定时器的指令,学习时间继电器对应的PLC里面的指令是如何使用的. 项目要求: 1.电机启动按钮,M1电机立即启动. 2.按钮按下后,定时器开 ...

  9. 零基础参加java培训哪家机构好

    零基础想要学会java技术,那么参加java培训机构是非常明智的选择,为什么这么说呢?因为如果选择自学,那么不仅学到的技术杂乱无章,后期工作也会有很大阻碍,系统的学习就会好很多,那么如今零基础参加ja ...

  10. 零基础学习Java培训有什么攻略

    零基础学习Java培训有什么攻略?java是主流编程语言之一,我们在学习Java的时候需要制定Java学习路线图,Java涉及到的知识点非常的多,我们该从何学起呢?怎么系统的学习呢?来看看下面的详细介 ...

最新文章

  1. vagrant boxes
  2. 使用alembic进行openstack数据库版本管理
  3. matlab 置顶曲线,matlab figure 最大,最小,置顶
  4. 1024 程序员节专题论坛来袭,聚焦企业级开源数据库 openGauss
  5. Discuz x1.0 修改游客浏览图片、附件权限
  6. c语言内部堆排序的实现,内部排序之堆排序的实现详解
  7. 卷积神经网络流程图_基于卷积神经网络的叶片气孔自动计数方法
  8. mysql主流版本2020_mysql高级2020.7.12-2020.7.13
  9. 堆中的off-by-one :ASIS CTF 2016:b00ks
  10. java图片打包下载_java 批量下载图片,批量打包文件并下载
  11. histogram loss笔记
  12. minicom - 友好易用的串口通信程序
  13. How to Write a Spelling Corrector代码注释
  14. html删除图片效果,html+css实现图片右上角加删除叉、图片删除按钮
  15. 【数据结构】递归斐波那契数列的时间复杂度、空间复杂度
  16. NYOJ迷宫寻宝(一)
  17. mysql类似于水仙花_福建水仙花,美名扬天下
  18. 【已解决】Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Mav
  19. LINUX下配置java的WEB环境
  20. 焦虑没有什么,请别贩卖焦虑

热门文章

  1. 电子信息工程专业实习手册周记_信息专业实习周记范文
  2. java贝塞尔函数插值_空间插值分析算法综述
  3. python安装math库_Python-math库
  4. matlab图像的直方图,Matlab图像直方图相关函数
  5. 运行在网络处理器上的嵌入式Linux系统
  6. InstallShield 下载安装
  7. PSCS6下载和安装教程
  8. 电磁场计算的服务器性能指标,有限公式电磁场数值计算理论与性能
  9. ACCESS数据库联结表实现
  10. NT驱动程序和WDM驱动程序的区别