Java技术学习线路分享

一、Java 技术栈的学习分享

1、Java 基础入门

一开始肯定要了解一波 Java 语言的特性,很多人都关心一开始看什么资料,其实我不推荐入门阶段看的太多太杂,因为你不知道哪些是有用的,哪些是过时的,或者在目前阶段用不到的。

对于初学者尤其是没有一点编程基础的人来说,要渡过这个从零到一的过程,往其实是非常艰难的,挫败感会非常强,所以找到一份合适的资料,还是挺有必要。

下面这些学习资料都是我曾经读过或者看过的,没看过的我也不会介绍。还是那句话,资料和视频都是辅助,顶多领你入门,剩下的还是靠自己。

学习思路:首先 Java 基础没啥好说的,随便找个视频快速看就可以了,我推荐上学堂Java高琪第一季;不过我当时的看了第一季和第二季,这里其实也建议看到第二季,也就看到 242 集,然后 第一季在 147 ~161 集是一个小项目,这个项目不想做可以不用做,我当时没做,或者你想看书也可以看书,就看《Java核心卷1》吧。

看完基础的可以看《Java编程思想》,这本书也很好,解决了我很多疑惑,不过有点难度,我是选择性看的,具体这本书如何读 + 重点章节

2、Java 进阶

想要靠 Java 来吃饭,单单靠看书刷视频肯定是不够的,咱们还得深入学习一波 Java 语言的特性,为了让大家学起来更加有针对性,我总结了如下核心知识:

集合模块(超重点):主要是包括各种常用集合:例如 Set(包括HashSet,TreeSet), Map(包括 HashMap,HashTable),List(包括ArrayList,LinkedList)等等,最核心的就是 hashMap,concurrenthashMap,ArrayList,LinkedLis 这几个,这几个源码必须看,,这部分,主要是看文章 + 自己看 JDK 源码学习。

多线程(超重点):synchronize,volatile,这两个优先学,比较简单,之后学习线程池,并发包(如lock等等),有点难度,推荐看《Java 并发编程艺术》+《Java并发编程实战》,这两本就够了,《Java并发编程艺术》感觉得看三四遍才行,第一遍看了就忘光了,第二遍会有其他的收获,第三遍就可以吊打面试官了

各种文件流(不怎么重点):file,inputStream,outputStream等等,反正就是各种文件流,看书时你们自然会看到,这部分必须多实践,只有时间,才能真的理解不详细介绍。

虚拟机(超重点):虚拟机是必须学习的了,重点是GC部分,推荐看《深入理解Java虚拟机:JVM 高级特性与最佳实践》,一本就差不多够了,多看四五遍就行了

3、 JavaWeb 入门

学了上面那么多,啥程序、网站也没写出来,有点难受?没事,这个时候,我们就要开始撸网站了,如果是以 Java 作为开发语言的,那么 JavaWeb 是必须学的了。这个时候你可以入门学习下这些(注意,不用深入,快速找个视频入门就可以了)

我下面列举一下 Javaweb 都是指哪些知识:

1、mysql、html+css+js 、 tomcat、xml等。推荐看视频,自己去B站搜索 JavaWeb的视频,那么哪里不会补哪里,这些知识,几个小时就可以入门一门的了。至于 msyql,入门推荐看《mysql不知必会》,之后可以看书或者看视频,具体视频这里暂时没有推荐。

2、servlet+jsp 系列。

不建议直接学习框架,也是应该先学习 servlet,这些底层才是最重要滴。servlet可以跟着视频学,至于 jsp 其实很少用了,不过还是可以了解一下。

4、框架的学习框

Servlet 写太麻烦了,只有认真学过 servlet 的人才能吹框架的好处,所以必须先学 servlet 再来学习框架,主要有三大框架:Spring + SpringMVC + Mybatis。

其实 SpringMVC 也是属于 Spring 吧,MVC 只是一种思想,这里学习顺序是先建议学习 Spring,直接看视频入门学习就可以了,后面再买书,掌握到什么程度?最后是要能知道一些原理,例如IOC,AOP的原理,使用了什么设计模式等等。

SSM 的视频可以在 B 站找,学完就找个练手的项目,或者你不想练手 ssm 也可以了,问题不大。

不过现在搭 ssm 太麻烦,基本都是用 SpringBoot 了,所以 SpringBoot 也必须,可以学完 SSM,目再学 SpringBoot,之后得做一些 springboot 的项目。

5、中间件的学习

必须学的中间件:redis,Redis 基本面试必问,工作也基本的都会使用到,所以必须掌握,推荐书籍《Redis 设计与实现》、《Redis开发与运维》。两本书刷完,就差不多了,或者说时间不是特别多的,刷完《Redis开发与运维》也行,这本书的重点内容我写过:

其他的话,像消息队列啊,分布式等相关框架,有时间也可以学习一波,项目用到在学吧,然后关于消息队列相关的面试题

6、2个完整的项目

把上面的 Java 基础以及框架学了,就要做个完整的项目了,我只能说,项目非常非常重要,因为面试的过程,一定会问项目,而且必须是你自己亲自做过的项目,假如你只是看视频,没有动手实践,很容易就会被问懵。所以一定一定一定要亲自动手做一个项目。

而且在未来,项目会被越来越看重,实践能力也会越来越看重,至于项目怎么找?这个大家可以花点钱买,或者找一找盗版也行,至于 B 站上的项目,很多适合练手,一般质量都比较一般吧。

技术栈的话,个人是推荐 Springboot + redis + mq,或者也可以自己造个轮子,比如RPC,比如实现一个文件系统,或者实现一个关系型数据库等,这些都是不错的项目,另外如何做了很多人都做过的项目,建议一定要改个名字 + 自己加一些东西上去。

猜你喜欢

转载自blog.csdn.net/MaoXiaoMiaoYa/article/details/129492674
今日推荐