JAVA学习路线

一、Java 入门

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

对于初学者尤其是没有一点编程基础的人来说,要渡过这个从零到一的过程,往其实是非常艰难的,挫败感会非常强。如果有人领路,或者选择一门优质的课程,效果会好的很多。

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

学习书籍推荐:《Java核心卷1》,这个算是入门书籍吧,入门书籍我看的不多,暂时介绍这一本,大家可以去网上搜索,但个人感觉看完这本书差不多了。

有一些基础的可以看《Java编程思想》,这本书也很好,解决了我很多疑惑,不过有点难度,我是选择性看的。

Java 编译器推荐用 IntelliJ IDEA,安装步骤自己百度去搜索。

 

视频推荐:这里推荐高琪Java300集,b 站搜索就可以了。讲的还是挺好,入门的话,感觉看前面 100 集就可以了。

二、Java 进阶

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

集合模块:主要是包括各种常用集合:例如 Set(包括HashSet,TreeSet), Map(包括 HashMap,HashTable),List(包括ArrayList,LinkedList)等等,上面列举的都得学习它的源码

多线程:synchronize,volatile,线程池,并发包(如lock等等),太多了,学了你们自然知道,我也不说的太详细了。

推荐看《Java 并发编程艺术》+《Java并发编程实战》,这两本就够了,《Java并发编程艺术》感觉得看三四遍才行,第一遍看了就忘光了。

各种文件流:file,inputStream,outputStream等等,反正就是各种文件流,看书时你们自然会看到,必须多实践,不详细介绍。

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

其他:还有很多,如反射,注解,异常等。

三、JavaWeb 入门

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

1、mysql、html+css+js 、 tomcat、xml等。推荐看视频,自己去搜索 JavaWeb的视频,那么哪里不会补哪里,这些知识,几个小时就可以入门一门的了。至于 msyql,入门推荐看《mysql不知必会》,进阶看《mysql技术内幕》,看完就差不多了。

2、servlet+jsp 系列。

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

四、框架的学习框

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

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

不过现在搭 ssm 太麻烦,基本都是用 SpringBoot 了,所以 SpringBoot 也必须,之后有时间的话,也要学习下 SpringCloud.

五、中间件的学习

必须学的中间件:redis,Redis 基本面试必问,工作也基本的都会使用到,所以必须掌握,推荐书籍《Redis 设计与实现》、《Redis开发与运维》。两本书刷完,就差不多了,或者说第一本书刷完就差不多了。

其他的话,像消息队列啊,分布式等相关框架,有时间也可以学习一波。

六、一个完整的项目

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

当然不是说这个问题就成了死结了,大家可以选择实操课程去解决自己在项目经验上的缺失,特别是那种基于真实项目的课程。

一定要至少做一个项目;一定要至少做一个项目;一定要至少做一个项目;

 

七、计算机基础的学习

看过我文章的都知道,我一直强调计算机基础的重要性,所以这里必须列举要学的有哪些。主要包括:计算机网络 + 操作系统 + 数据库 + 汇编 + 计算机组成原理 + 编译原理 等等。

假如你没那么多时间去学习的话,我给你列个优先级吧

1、计算机网络 + 操作系统

2、数据库 + 计算机组成原理(数据库相应你们可能已经先学过 MySQL 了)

3、汇编 + 编译原理

七、最后

道理大家都懂,但依然过不好这一生,尽管我给了你一条很详细的学习路线,但你依然会踩上一些坑,走上一些弯路。

如何避开这些坑和弯路,我还是建议找个靠谱的课程,其实我们从小学、中学、大学的生涯,都是一个通过课程学习的过程,有引路人,站在巨人的肩膀上,学习的路的确会好走许多,这也是学校存在的意义。

之所以推荐课程,还有另一个原因,就是上面提过的项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值