Loading...
墨滴

楼仔

2021/12/16  阅读:48  主题:橙心

硬核来袭,Java全套学习资料,耗时半年整理

教你如何快速掌握Java技术栈知识,10个系列,13W字,49篇原创文章,完结撒花!

hello大家好,我是楼仔,一枚小小的Go/Java代码搬运工,上一篇文章我肝了三个月,为你写出了GO核心手册,强烈推荐学习Go的同学看看,Go写完了,那肯定少不了Java,下面我带来另一篇超硬核文章,关于Java技术栈的学习。

Java系列的文章,从年初转技术栈开始,我学了大半年,也写了大半年,共计 49篇 原创文章, 13W 字,相当于一本中篇小说,由于之前写的比较散,现将他们重新整理。文中推荐的书籍,都非常经典的,本人也都看过,思维导图是系列文章的目录,后面也给出我个人的学习建议,让你少走弯路。

我遇到过很多同学,都处于迷茫期,甚至还有些焦虑,这个我也经历过,不知道自己要学什么、更不知道怎么学,这篇文章给你画了一幅大的蓝图,你可以跟着这幅“蓝图”去学,正所谓“授人以鱼不如授人以渔”,现在我把两者都给你,你还好意思不去学么?

所以!从现在开始!!需要学习Java的同学,不要告诉我,你还处于迷茫期,学习方向和方法都告诉你了,给自己列个长期的学习计划,每天1小时,每天进步一点点,相信不到2年,你也能啃下这座大山!

Java基础

推荐书籍

作者建议

学习建议:只掌握基本的Java语法,如果你有其它的编程经验,任何一门语言的语法知识,掌握起来是非常快的,《疯狂Java讲义》适合新手,个人建议学习语法时,不要拿一本书从前看到后,选取基础且重要的章节,看完后直接去Coding,实操起来学习更快。《Java编程思想》,一本神书,不管你是初、中还是高级程序员,你每次看这本书的时候都会有新的收获,但是它不适合刚开始入门 Java 的同学看,建议有一定经验积累的同学,再看这本神书。

Java基础,没有系列文章写的非常少,主要是知识点太多,太碎,所以大家还是整本书,老老实实学一遍。

设计模式

系列文章

【设计模式系列1】模板模式&策略模式

【设计模式系列2】工厂模式

【设计模式系列3】builder模式

【设计模式系列4】组合模式

【设计模式系列5】单例模式

【设计模式系列6】代理模式

【设计模式系列7】装饰器模式

【设计模式系列8】门面模式

【设计模式系列9】责任链模式

推荐书籍

作者建议

学习目的:让你的代码写的更优雅,扩展性更强,也便于你阅读源码。

学习建议:先看“系列文章”,只掌握重点的设计模式即可,然后到项目中实操,这个是学习设计模式最快的方式。当然你也可以通过书籍或者极客时间等学习,书籍推荐四人帮的设计模式,但是个人不建议直接看书,23个设计模式,你看完前面就忘了后面,重点掌握我列的这10个设计模式即可,后面如果用到其它的,再去学习也不迟。

Java并发编程

系列文章

【Java并发编程系列1】Java并发编程基础

【Java并发编程系列2】volatile

【Java并发编程系列3】synchronized

【Java并发编程系列4】final

【Java并发编程系列5】对象的共享

【Java并发编程系列6】同步工具类

【Java并发编程系列7】线程池基本知识

【Java并发编程系列8】多线程实战

【Java并发编程系列9】锁

推荐书籍

作者建议

学习目的:Java高阶知识,必备知识技能。

学习建议:可以先看书籍《Java并发编程实战》,不建议全部看完,只选取重点章节,这本书对内存模型讲解非常浅,比较偏实例部分。看完这本书后,再看我的系列文章,里面补充了内存语义的部分,并给出小米项目的并发实战示例,干货满满。

JVM

系列文章

【JVM系列1】JVM内存结构

【JVM系列2】运行时数据区域

【JVM系列3】类的加载

【JVM系列4】JVM常用命令

【JVM系列5】性能检测工具

【JVM系列6】垃圾收集器

【JVM系列7】JVM知识点总览

推荐书籍

作者建议

学习目的:Java高阶知识,必备知识技能。

学习建议:可以先看“系列文章”,JVM的核心知识点都在里面,并且有具体的实例,然后再看书籍《深入理解Java虚拟机》,不建议全部看完,只选取重点章节,强化巩固所学知识,书中后面章节的知识都是纯理论,仅作了解即可。如果有机会的话,可以通过学习的知识,看看你们公司线上机器的内存使用情况,说不定还能优化一波,现学现卖。

Spring

系列文章

【Spring系列1】基于注解装配Bean

【Spring系列2】很全的Sping IOC基础知识

【Spring系列3】Spring常用的注解

【Spring系列4】注解@Transactional

【Spring系列5】Spring AOP基础(上)

【Spring系列5】Spring AOP基础(下)

作者建议

学习目的:Java的核心框架之一,必学内容。

学习建议:这个主要掌握IOC和AOP,以及常用的注解。我没有买Spring相关的书籍,如果所有的知识点都通过书籍获取,太慢了,建议大家通过我写的文章,然后再结合W3C school,或者菜鸟教程学习即可。敲黑板!!!注解使用,一定要手动敲代码,光看的话,印象不深。

Spring Boot

系列文章

【Spring Boot系列1】一文带你了解Spring Boot(上)

【Spring Boot系列1】一文带你了解Spring Boot(下)

【Spring Boot系列2】还在为配置文件注解头疼?一文带你全部搞定!

【Spring Boot系列3】自动化配置详解

【Spring Boot系列4】spring.factories配置

作者建议

学习目的:Spring的升级版,Java的核心框架之一,必学内容。

学习建议:除了基本使用,掌握摒弃XML的使用姿势,可以了解一下内部原理,特别是服务的启动流程。不用看书,除非你想去研究Spring Boot的内部原理、或者源码。只需要日常使用,或者准备面试的同学,建议大家通过我写的文章,然后再结合W3C school,或者菜鸟教程学习即可。

Mybatis

系列文章

【MyBatis系列1】基础知识(上)

【MyBatis系列1】基础知识(下)

【MyBatis系列2】MyBatis与Spring整合

【MyBatis系列3】MyBatis SQL执行流程

【MyBatis系列4】MyBatis与Spring Boot整合

作者建议

学习目的:基于Java的持久层框架,必学内容。

学习建议:建议自己写个Spring和Spring Boot集成mybatis的demo,然后再初步了解mybatis内部的实现机制即可,这块内容我也没有看书,直接撸的菜鸟教程,然后再查阅大量网络资料,最后再实操几个项目。除了mybaits,大家也可以看看mybaits plus,摈弃了xml文件,撸起来更爽。

Maven

系列文章

【Maven系列1】很简单的Maven仓库

【Maven系列2】生命周期与插件

【Maven系列3】坐标与依赖

作者建议

学习目的:Java项目管理工具,必学内容。

学习建议:太简单了,看看文档,撸一遍菜鸟教程就可以,完全没必要看书。

Dubbo

系列文章

【Dubbo系列1】Dubbo与Spring的集成

【Dubbo系列2】基础知识

这里面会涉及到RPC的知识,我也顺带列一下相关内容:

【RPC基础系列1】聊聊RPC

【RPC基础系列2】一文搞懂gRPC和Thrift的基本原理和区别

【RPC基础系列3】gRPC简单示例

作者建议

学习目的:一款高性能、轻量级的开源Java RPC框架。

学习建议:我这边只能算是Dubbo的入门,主要是公司内部用到了Dubbo,就先初步学习一下,因为精力有限,不可能所有的知识都去深入学习。在学习Dubbo过程中,对RPC掌握的不好,就专门针对这块进行了扫盲,我想很多同学应该和我一样,所以就把RPC相关知识也列了一下。当然,如果你们需要重点使用Dubbo,可以去买本书,或者买一些视频课,由于我掌握的比较浅,就不过多发言了。

MySQL

推荐书籍

作者建议

学习建议:建议买本MySQL的书籍,上面两本任意买一本就可以,我看的第一本MySQL书籍是《MySQL技术内幕》,因为是第一次看,很多地方看不懂,后来看了第二遍,才明白里面的核心知识,所以这本书可能需要多看几遍。《高性能MySQL》也看过,这个更容易理解一些,但是太厚,可以选取感兴趣的章节。

需要进阶的同学,强烈建议极客时间林晓斌的《MySQL 实战 45 讲》,非常牛逼!

Mysql我没有写相关系列的文章,不过之前公司内部做过分享,PPT大家可以自取MySQL-InnoDB存储引擎PPT,后续如果大家需要,我可以再写。

Redis

推荐书籍

作者建议

学习建议:重要性不言而喻,任何后端技术栈都离不开的内容,建议买本《Redis设计与实现》,好好看一遍,里面内容浅显易懂,基本都是干货。后续如果想进阶,可以买个极客时间蒋德钧的《Redis 核心技术与实战》,感觉就差不多了。

Redis我没有写相关系列的文章,不过之前公司内部做过分享,PPT大家可以自取Redis设计与实现PPT,后续如果大家需要,我可以再写。

Java其它技术栈

上面列了Java技术栈需要学习的相关技术,其实还有其它的:

  • Spring Cloud:以 SpringBoot 为基础的微服务项目架构;
  • Spring MVC:通过 Spring MVC 来开发基于 Java 的 Web 应用;
  • Tomcat:开源servlet、JSP容器和高性能的web server。

目前这三块内容,我还没有专门去学习,只是停留在使用方面,后续如果项目需要,我肯定会去系统学习。这里也提醒一下大家,毕竟我们精力有限,面对庞大的技术体系,我们肯定不能面面俱到,每个时期都有自己的学习重点,重点有针对去学习,不断去完善我们的知识体系,方为上策。

后记

可能大家会问,东西好多,学完上面列的所有技术知识,需要多久,这个真的因人而异,因为这个还需要看你的工作经验,以及之前的一些基础。比如设计模式,我很早就看过,所以重新学习就很快,这9篇文章花了2周就写完了。学习JVM过程中,刚好那段时间比较忙,前后学了2个月。

尽信书则不如无书,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激,个人联系方式:

  • 微信公众号:楼仔进阶之路
  • QQ:楼仔/514202273
  • 掘金:https://juejin.cn/user/3518877442254759

楼仔

2021/12/16  阅读:48  主题:橙心

作者介绍

楼仔