发表时间:2022-03-23来源:网络
双非普通本科,大学四年基本一路自学过来,踩过很多坑,最后秋招成功拿了几个大公司的 offer,先随便截个图证明下自己不是在吹牛

自学的路上挺艰辛,也遇到过挺多坑,刚好本人也是走 Java技术栈的,所以本着认真的态度来回答一波。
有句话叫:当你不知道选哪门语言作为自己的开发语言时,就无脑选择 Java。因为Java的确是应用最广泛,也是适用性最好的编程语言之一。
但这也意味着Java的学习难度更高,为了防止大家从入门到放弃,下面我讲一讲我自认为还行的通,并且适合大部分人的学习路线吧。
一、Java 入门
一开始肯定要了解一波Java语言的特性,很多人都关注一开始看什么资料,其实我不推荐入门阶段看的太多太杂,因为你不知道哪些是有用的,哪些是过时的,或者在目前阶段用不到的。
对于初学者尤其是没有一点编程基础的人来说,要渡过这个从零到一的过程,往其实是非常艰难的,挫败感会非常强。如果有人领路,或者选择一门优质的课程,效果会好的很多。
这些资料都是我曾经读过或者看过的,没看过的我也不会介绍。还是那句话,资料和视频都是辅助,顶多领你入门,剩下的还是靠自己。
学习书籍推荐:《Java核心卷1》,这个算是入门书籍吧,入门书籍我看的不多,暂时介绍这一本,大家可以去网上搜索,但个人感觉看完这本书差不多了。
有一些基础的可以看《Java编程思想》,这本书也很好,解决了我很多疑惑,不过有点难度,我是选择性看的。
Java 编译器推荐用 IntelliJ IDEA,安装步骤自己百度去搜索。
二、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、汇编 + 编译原理
八、最后
道理大家都懂,但依然过不好这一生,尽管我给了你一条很详细的学习路线,但你依然会踩上一些坑,走上一些弯路。
如何避开这些坑和弯路,我还是建议找个靠谱的课程,或者是找一个有实战开发经验的老师跟着一对一学习,其实我们从小学、中学、大学的生涯,都是一个通过课程学习的过程,有引路人,站在巨人的肩膀上,学习的路的确会好走许多,这也是学校存在的意义。
之所以推荐课程,还有另一个原因,就是上面提过的项目。自己看书刷视频,是永远接触不到大公司的真实项目的。
如果你是Java小白或者打算转行进入Java开发这个行业,不知道未来该怎么学习,都可以加入我组建的自学团,每天一起打卡学习,分享学习资料,定期组织实战项目,匹配学习伙伴,我会严格监督你们的。
作者:老鬼。。。
原文链接:普通大学生自学 JAVA 怎样才能进BAT大厂?
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-03-26
2022-02-14