java学习完整路线图(最新java学习流程)

2018年最新版Java学习路线图

最近有些网友问我如何自学 Java 后端,还有些是想从别的方向想转过来,但都不太了解 Java 后端究竟需要学什么,究竟要从哪里学起,哪些是主流的 Java 后端技术等等,导致想学,但又很迷茫,不知从何下手。我就以过来人的经历,写在这篇文章里,不一定都对,但都是我根据自己的经历总结出来的,供你们的参考。

2018年最新版Java学习路线图

01

Java 基础

Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装、继承、多态。此外还有泛型、反射的特性,很多框架的技术都依赖它,比如 Spring 核心的 Ioc 和 AOP,都用到了反射,而且 Java 自身的动态代理也是利用反射实现的。

此外还有 Java 一些标准库也是非常常见,比如集合、I/O、并发,几乎在 Web 开发中无处不在,也是面试经常会被问到的,所以在自学 Java 后端之前,不妨先打好这些基础。

另外还有 Java8 的一些新特性,也要重点关注,比如 Lambda 表达式、集合的 Stream 流操作、全新的 Date API 等等,关于新特性,我也写了几篇关于这方面的博客,请自行找吧,就不贴出来了。

关于书籍推荐,我是不建议初学者一开始就拿着「Java 编程思想」啃的,因为当初我就是那个当天下午决定自学 Java,晚上就抱着这本书啃的人,说实话,我当时真的不懂它在说啥,因为我没有一点的面向对象语言编程的基础,而这本书又写得太博大精深了,在当时的我来说,完全是天书,但是我认为它仍然是 Java 界的圣经,每读一次都有所收获。

我在这里推荐你们一开始先看「Java 核心技术」,这本书讲得比较通俗易懂,初学者比较能接受。

02

数据库

关于 sql 方面:SQL 教程、MySQL 教程

我是了解了一些基础语法之后,就直接跟着视频的老师做一些表操作实战练习了,比如单表查询、多表查询等。我建议学 sql 切勿眼高手低,需多加练习,不要只看懂了就行,因为工作中写得一手简练的 sql 是非常重要的。

在这里我说下我在项目一直秉承着 sql 语句是能避免多表查询就避免多表查询,能够分开多条语句就分开多条语句,因为这里涉及到多表查询性能和数据库扩展的问题。

关于 JDBC 方面:JDBC 教程、 JDBC 获取连接对象源码分析

你需要弄懂 JDBC API 的用法,其实它只是一组规范接口,所有数据库驱动只要实现了 JDBC,那么我们就可以通过标准的 API 调用相应的驱动,完全不用知道驱动是怎么实现的,这就是面向接口编程的好处。

而且对于 JDBC 我是直接看视频去理解的,跟着视频做了一个基于 Apache Dbutils 工具做了一个具有事务性的小工具,我特意用思维导图总结了一下:

2018年最新版Java学习路线图

jdbc-utils源码地址:jdbc-utils

03

Web 基础

曾经开源中国创始人红薯写了一篇文章「初学 Java Web 开发,请远离各种框架,从 Servlet 开发」,我觉得他说的太对了,在如今 Java 开发中,很多开发者只知道怎么使用框架,但根本不懂 Web 的一些知识点,其实框架很多,但都基本是一个套路,所以在你学习任何框架前,请把 Web 基础打好,把 Web 基础打好了,看框架真的是如鱼得水。

关于 Http 协议 这部分内容比较简单搜集一些相关资料就能学会,不赘述。

关于 Web 基础这方面数据推荐,我当时是看的是「Tomcat 与 Java Web 开发技术详解」,很详细地讲解了整个 Java Web 开发的技术知识点,但现在看来,我觉得里面讲的有一些技术确实有点老旧了,不过可以了解一下 Java Web 开发的历史也是不错的。

关于 JSP,你只要了解它其实就是一个 Servlet 就行了,关于它的一些标签用法,我认为可以直接忽略,因为现在互联网几乎没哪间公司还用 JSP,除了一些老旧的项目。现在都是流行前后端分离,单页应用,后端只做 API 接口的时代了,所以时间宝贵,把这些时间重点放在 Servlet 规范上面吧。

关于 Tomcat,它是一个 Web 容器,我们写的后端项目都要部署到Web容器才能运行,它其实是一个遵循 Http,通过 Socket 通信与客户端进行交互的服务端程序:Tomcat结构及处理请求过程

04

Web 主流框架

Java Web 框架多如牛毛,等你有一定经验了,你也可以写一个 Web 框架,网上很多说 Spring、Struts2、Hibernate 是 Java 三架马车,我只想说,那是很久远的事情了,我严重不推荐 Struts2、Hibernate,相信我,一开始只需要上手 Spring、SpringMVC、Mybatis 就可以了,特别是 Spring 框架,其实 Spring 家族的框架都是很不错的。

但是提醒一点就是,千万不要沉迷于各种框架不能自拔,以会多种用法而沾沾自喜,导致知其然而不知其所以然。

Spring其核心思想就是 IOC 和 AOP:

  • 谈谈对 Spring IOC 的理解
  • Spring 面向切面编程
  • SpringMVC 它的思想是全部请求统一用一个 Servlet 去做请求转发与控制,这个 Servlet 叫 DispatcherServlet
  • Mybatis 它可实现动态拼装 sql,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集

05

Web 框架进阶

使用了 SSM 框架后,你会觉得框架也不过这么回事,如果你对 Spring 有过大概了解,你也会产生想写一个「山寨版」Spring 的心思了,一个轻量级 Web 框架主要具备以下功能:

  • 可读取用户自定义配置文件,并以此来初始化框架;
  • 具备 Bean 容器,管理项目的类的对象生命周期;
  • 具备依赖注入,降低类之间的耦合性;
  • 具备 AOP 功能,使项目可进行横向编程,可不改变原有代码的情况增加业务逻辑;
  • 具备 MVC 框架模式。

其实除了 SSM 之外,Web 框架可谓是百家齐放,其中以 Spring 全家桶最为耀眼,在这里我极力推荐两个 Spring 家族框架:SpringBoot 和 SpringCloud。

SpringBoot 弥补了 Spring 配置上的缺点,再也不用为繁杂的 xml 费劲精力了,堪称是 Java 后端开发的颠覆者,推荐书籍「Java EE 开发的颠覆者:SpringBoot实战」

SpringCloud 是一个微服务架构,能够将项目按照业务分成一个个微服务,每个微服务都可独立部署,服务之间互相协调。

当一个项目越来越大时,随之而来的是越来越难以维护,此时将项目拆分成若干个微服务、单独维护、单独部署,也可以降低项目不同业务间的耦合度。推荐书籍「Spring Cloud 与 Docker 微服务架构实战」,这本书将 Docker 与微服务完美地结合在一起,堪称完美!

06

其它技术

Redis:一个高性能的 key-value 数据库,当有并发量很高的请求时,将数据缓存在 Redis 中,将提高服务器的响应性能,大大减轻数据库的压力。

Git:世界上最先进的分布式版本控制系统,建议所有初学者从命令行开始使用 Git!

Maven:一个用于构建项目的工具,将项目间的依赖通过 xml 完美地组织到一起,可通过编译插件将项目编译成字节码文件。还有类似的 Gradle 也是不错的选择。

maven 的 pom.xml 文件详解

Linux:至少要求常用的命令会用,能够在 linux 环境下部署项目。

最全的 SSH 连接远程终端教程

Docker:简直是项目部署神器啊,来不及解释了,推荐书籍「Docker 技术入门与实战」,中国首部 Docker 著作!

07

开发工具

工欲善其事,必先利其器,以下是我推荐的一些开发工具:

Intellij IDEA:Java 开发最好的 IDE,这个是公认的,我一开始是用 Eclipse 的,后来用了 Intellij IDEA,才发现 Eclipse 就是一坨屎,所以我以过来人劝你们不要使用 Eclipse,直接 Intellij IDEA!

Iterm2:macOS 最好用的终端!

Chrome:人生苦短,请用 Chrome,来不及解释了,快上车!

Postman:很好用的一个接口调试工具。

要有进取心,要有拼搏的精神,要耐得住寂寞,经过多方理论与实践相结合,快速成为高薪程序员根本不是事儿。

当你在学习编程时走入误区后或思路打不开时,你可以尝试寻求专业的帮助,用最快的时间,实现最优的效果,比如参加培训,相信你会不大不同的收获。

零基础学Java能学会吗?转行学Java多久能学会?学Java在一线城市能赚多少钱?2018年企业招聘怎样的Java程序员?

11月新希望Java免费试听课报名中,一线名师,高薪技术,入门技巧,面试诀窍,一站式打包学会 ,让你学会最有前途的技术,顺利通过面试,成功获取高薪!马上报名吧!

报名热线:400-685-6667

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 9月 22日 上午9:18
下一篇 2023年 9月 22日 上午9:34

相关推荐

  • 关于电信家庭网络用户断网的问题有哪些

    电信提供给客户的宽带上网方式有两种: 一种是分配静态地址的宽带专线: 这种方式根据工信部(34号令),客户需要向电信行业主管部门进行备案,也就是所谓的固定IP,就是有独立的IP地址…

    互联网 2023年 5月 25日
  • qq新版本新功能表情包(qq新版本大表情包怎么发)

    鉴于昨天发了微信的更新内容,看到很多小伙伴吐槽微信不好用,QQ 好用的功能没借鉴,不好用的都拿去! 小狐看的是比较懵的,因为,小狐很久很久没有登录 QQ 聊天了,唯一在坚持的,可能…

    2023年 9月 14日
  • 迅雷账号注销永久删除

    终于,迅雷账号注销(永久删除)来了。注销迅雷账号首先得满足以下5个条件: 1、帐号处于安全状态 帐号未发生过被盗、被封等风险,且在最近3个月内未进行密码修改、手机换绑等敏感信息变更…

    2023年 7月 25日
  • 如何修改支付宝设定的淘宝会员名

    大家好,我是小莫理。支付宝无需手机号转账 近日,有网友在微博发文表示,其支付宝已支持设置「支付宝号」。 设置成功后只能使用支付宝号登录,手机仅用于接收验证码之用。 根据现有规则,无…

    2023年 1月 20日
  • 2019黑五打折网站

    说起iHerb,或许是不少小伙伴的海淘常备平台了,而这个享誉全球的购物平台,即将迎来成立26周年的日子,能够成为海淘平台的常青树,离不开广大消费者的热烈支持,因此,本着真情回馈广大…

    2023年 4月 18日
  • 腾讯企点操作指南(腾讯企点免费体验申请)

    A:腾讯企点目前作为一款独立的产品上线,与企业QQ、营销QQ、公众号的帐号体系与客户库系统均不相通。企业QQ及营销QQ的优惠策略也并不沿用至企点产品。 腾讯企点:专为市场营销、在线…

    2023年 5月 8日
  • 微信被限制了怎么解除限制?需要别人的手机号吗

    微信,作为我们日常交流和娱乐的重要工具,一旦被限制,可能会给我们带来诸多不便。那么,当我们遇到微信被限制的情况时,应该如何应对呢?下面我们将从专业角度为大家提供一些解决方案。 一、…

    2023年 10月 5日
  • 淘宝逛逛怎样挂自己店铺商品

    淘宝逛逛流量你做了吗?如果还在犹豫,那小聪告诉你一组数据: 淘宝逛逛模块的月活用户超2.5亿,超过了小红书(1.6亿)和知乎(1.01亿),正在努力追赶微博(5.7亿);日活用户也…

    2023年 5月 25日
  • 两条宽带叠加用wan口还是lan口

    多次有朋友提到ip地址冲突如何解决?lan口与wan的区别是什么?多条带宽如何叠加?、、等等问题,也有不少的问题在我们弱电VIP技术群中经常讨论到,有的问题比较基础,我们就统一总结…

    2023年 7月 2日
  • 怎样搜索百度云分享的资源,百度云怎么搜索分享资源

    百度云资源怎么搜索?百度云网盘资源非常丰富,公开分享的资源满街都是。但偏偏,百度云的搜索功能只能够搜索自己的文件,无法搜索别人分享的资源。那么要怎样才能够搜索其他人分享的百度云的网…

    2023年 2月 26日