网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
以后面试再也不怕被问Java并发编程了,多亏了这本PDF电子书
所涉及的知识点我用下面的思维导图汇总下。
书的话,我推荐两本,一本《Java 核心技术卷》,一本《Head First Java》。
《Java 核心技术卷》分为上下两册,上册的难度较低,可以在最短时间内刷完,尤其是有了 C语言的编程基础后,再刷这本书可以说是手到擒来。下册涉及到的内容有流与文件(☆)、XML、网络(☆)、数据库编程、国际化、Swing、AWT、JavaBean、安全(☆)、脚本编译和注解处理、分布式对象、本地方法(☆),没有标星的内容我认为可以略过。
《Head First Java》更有趣一些,里面有很多小游戏,很活泼的一本书。
两本书之间的风格差别比较大,之前就有读者给我反馈说,《Head First Java》有点驾驭不了,那就挑《Java 核心技术卷》。
刷完任意一本书后,可以看一看《Java 编程思想》,看自己是否能驾驭得了。因为思想的东西嘛,只有经过一些实践后才能有所感悟,否则就像王阳明一开始对着竹子格物一样,屁也格不出来,有了后面领军作战的经验,以及到地方上体验艰苦生活的感受后就开创了心学。
视频的话,可以看一下浙江大学教授翁恺老师的。在浙大,每年最受关注的内容之一就是永平奖的百万大奖会花落谁家。2018 年,获得永平杰出教学贡献奖的人,就是翁恺教授。
在 B 站上就可以看:
https://www.bilibili.com/video/BV1DJ411B7cG?p=3
这么一套组合拳下来,Java 的基础知识基本上可以说是吃的透透的!
第二部分,数据库
学习一门编程语言,如果不去操作下数据,就感觉这门编程语言空有皮囊却没有灵魂,对吧?要想学好数据,首先要学习一下 SQL,推荐《SQL 必知必会》,然后是 MySQL,推荐《高性能 MySQL》。再拓展的话,还有 Redis,互联网技术领域中使用最广泛的存储中间件,推荐《Redis 深度历险:核心原理与应用实战》。还有 MongoDB,非关系型数据库,推荐《MongoDB权威指南》。
视频的话,B 站上推荐 3 个。
SQL:一个老外的视频课(中字版啦),内容制作得非常棒,所以完全不用担心听不懂。
https://www.bilibili.com/video/BV1UE41147KC
MySQL:一个女老师讲的,弹幕很精彩。
https://www.bilibili.com/video/BV12b411K7Zu
Redis:
https://www.bilibili.com/video/BV1S54y1R7SB
第三部分:框架
大部分 Java 程序员都要从事 JavaWeb 的相关开发工作,要开发 JavaWeb,自然就离不开 Spring 的系列框架。甚至可以这么说,没有 Spring 的 Java 项目是不存在的。Spring 框架正在变得越来越庞大,但核心的概念仍然是 IOC 和 AOP,也就是控制反转和面向切面编程。这个两个概念对于初学者来说,学习曲线有点陡峭。
目前流行的内容主要是:
- Spring
- Spring MVC
- MyBatis
- Spring Boot
- Spring Cloud
要学习 Spring,能读的书不多,我能想到的只有《Spring实战》,坦白地说,这本书很一般,但市面上比它好的书,我还不知道。
单视频的话,推荐:
https://www.bilibili.com/video/BV1Vf4y127N5/?spm_id_from=333.788.videocard.7
学完 Spring,就要学 SpringMVC,推荐大家看视频,江南一点雨的,在 B 站上虽然播放量不是特别大,但我觉得内容特别棒——毕竟好兄弟!视频地址我贴一下。
https://www.bilibili.com/video/BV1qp4y1n7D1
然后是 MyBatis,不用找书看了,直接看官方文档就行,讲得特别好。本身 MyBatis 也没有特别难的东西,就是一些 XML 配置和动态 SQL。
https://mybatis.org/mybatis-3/zh/index.html
Spring+SpringMVC+MyBatis 这三个框架学完,可以说你就具备了开发企业级应用的能力了。至于 Spring Boot,我推荐看纯洁的微笑的博客,访问量在千万级别以上,影响了无数的初学者,我个人强烈推荐。
http://www.ityouknow.com/spring-boot.html
视频的话,也有。
https://www.bilibili.com/video/BV1PE411i7CV
最后是 Spring Cloud,是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。
博客的话,推荐纯洁的微笑。
http://www.ityouknow.com/spring-cloud.html
视频:
https://www.bilibili.com/video/BV1jJ411S7xr
第四部分:练手项目
到底是不是一个好的 Java 练手项目,关键的因素在这个项目的文档是否全面!这个因素我认为是最重要的,GitHub 和码云上有成千上万的项目,真正能脱颖而出的不在这个项目有多牛逼,作者的技术有多厉害,而在于这个项目的文档能不能让大家看得懂!
我不给大家推荐太多,多的话,就乱,不知道该从哪个开始。
1)电商秒杀
SpringBoot 完整电商系统 Mall:包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。
https://github.com/macrozheng/mall
miaosha:秒杀系统设计与实现。
https://github.com/qiurunze123/miaosha
2)博客论坛
vhr:微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。
https://github.com/lenve/vhr
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
826122266)]
[外链图片转存中…(img-Z203Jx6x-1715826122267)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新