前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java学习之路 -- Java怎么学?

Java学习之路 -- Java怎么学?

原创
作者头像
秦怀杂货店
修改于 2021-03-29 09:35:17
修改于 2021-03-29 09:35:17
1.3K0
举报
文章被收录于专栏:技术杂货店技术杂货店

@toc

java基础怎么学?

当时,作为懵懂的小白,大一学习了cc++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!!

推荐几本可以入门的书籍:

  • Head First Java
    • 简单易懂,可以教你如何像一个对象开发者一样去思考,图文并茂学习方式能让你快速地在脑海中掌握住知识
  • 疯狂Java讲义
    • 很全面,很厚,覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。
  • Java核心技术·卷 I(原书第10版)
    • 特别经典的书籍,内容比较实在,但是没有疯狂Java讲义那么接地气,很简洁,上手难度也不是很大。

进阶书籍:

  • Java 编程思想第四版
    • 圣经段位,绝对的好书,但是不适合刚刚入门的小白,如果你觉得想啃下来,也可以阐释,里面讲得东西,很详细,时常透露出:Java语言为什么这样设计,如果想进阶,这绝对是本好书。
  • Java网络编程(中文版 第三版)(O'Reilly Java系列)
    • 这本书是我大学时一门选修课的课本,主要是讲解Java里面的网络应用,可以考虑看看,但是优先级不是很高。

看视频还是看书?

前期新手绝对会有的一个疑惑,看书还是看视频?看书感觉很枯燥,坚持不下去,看视频感觉很爽,但是看完好像不是很能记住。

个人觉得,前期看书会快点,但是确实很枯燥,可以在b站(小破站牛逼)上找一些全集的视频来看,记得,边看边敲,基本记不住!!!建议,看完一节或者一章,凭借记忆把代码敲出来,一开始肯定很慢,但是长期来看,帮助很大,基本可以记住并掌握。

如果视频的话,推荐以下两个:

总结:视频不在于多,书籍也是,越想要全面,越不太可能,前期有一本书,一个视频就可以了,抓大放小,要不,很容易就放弃,真的是从入门到放弃。

多打,多练习,熟能生巧!代码量上去才能发生质变!

在这个过程中,主要学习的东西(每一个都可以分得很细,下面只是大概,想到再补充):

  • 基本数据类型
  • 常用关键字
  • 接口
  • 抽象类
  • 集合
  • 继承(子类和父类)
  • 反射
  • 序列化
  • 动态代理
  • 注解
  • 锁与多线程
  • IO编程
  • JDBC
  • Java网路编程

学完基础学什么?

我当时学完Java的基础之后,JDBC学了,知道怎么连接数据库了,就想着搞网站,我想大部分人也是,学了东西,就想做个东西出来!!这个很正常的心态,不断地有反馈才能不断往前~

我当时搞作业搞了一段时间的前端以及jsp之类的,如果学习Java,可以把前端知识放在一个低一点优先级的级别,前期基本理解和会用就可以,不要忘记自己真正的目标。

我的前端是在w3School学习的,你们也可以去学习,当时还在慕课网学习了视频,不过这些都不重要,主要是会点html和css,js就可以。

学完前端的大致知识,可以考虑学Servlet和jsp,也有一部分人说其实不需要再学习这个东西,现在直接上框架,就可以。我想说的是,如果你的时间很紧急,确实可以这么做。如果你的时间比较充裕,在大学,可以考虑一下把这一块也学一下,因为以后你不会再回来学了,而所谓的框架,也是建立在这上面的。

有时候,走慢一点,是为了走得更远。

推荐JavaWeb的书籍两本:

  • 深入分析Java Web技术内幕(修订版)
    • 这本书主要围绕Java Web 相关技术从三方面全面、深入地进行了阐述。首先介绍前端知识,即在JavaWeb 开发中涉及的一些基本知识,包括Web 请求过程、HTTP、DNS 技术和CDN 技术。其次深入介绍了Java 技术,包括I/O 技术、中文编码问题、Javac 编译原理、class 文件结构解析、ClassLoader 工作机制及JVM 的内存管理等。
  • Tomcat与Java Web开发技术详解
    • 这本书主要是讲解了JavaWeb和tomcat相关的知识点,算是为了之后学习JavaWeb做准备。

再推荐一个博客地址,主要是JavaWeb的笔记,讲得挺好的:JavaWeb

学完这些可以学习框架了,框架里面用得最多的是反射,动态代理!!!一定要熟悉。

当时我学习的框架不是主流的,是Jfinal,可能大家不怎么听过,那个框架比较简单,但是现在不建议大家去学习,可以了解。

接下来大家需要学习的是SSM(Spring+SpringMVC+Mybatis),为啥学习Spring,不是SpringBoot,因为SpringBoot是建立在Spring的基础上的,学了Spring,SpringBoot很快上手。

建议学习的话,可以先学Mybatis,前面有JDBC的基础,可以很快上手。推荐自己的博客:Mybatis学习笔记

如果学习视频的话,我建议去b站搜索一下,例如:SSM框架合集

关于SSM的学习视频很多,大家各自判断自己适合什么类型,有一本书籍:Java EE互联网轻量级框架整合开发 : SSM框架(Spring MVC+Spring+MyBatis)和Redis实现,是对SSM的整合以及讲解,还不错,可以考虑一下。

在这个过程中,你也了解了如何处理日志,异常等等。

Spring的学习中,主要掌握AOP和IOC的原理以及应用,学习的过程,首先是需要会用,然后再去挖源码,要是直接上来看源码,又是一次劝退。

学习完Spring之后,可以上手SpringBoot,这个网上也有很多教程,推荐这个网站:

how2j

自己上b站按照播放量查找也是可以的,重要的是行动,不是资源!!!

Spring有两本本比较好的书籍推荐:

前面讲解的有数据库以及redis相关的,如果关系型数据库,建议在网上搜索教程学习即可,譬如:菜鸟教程

关于入门书籍:Mysql必知必会

如果是深入书籍,推荐:MySQL技术内幕 : InnoDB存储引擎(第2版)

redis的学习,基本的数据类型,操作,这些学习直接网上菜鸟教程也有:redis教程

如果需要学习如何使用?推荐这本书:Redis 深度历险:核心原理与应用实践

了解了使用之后,再去做redis的源码分析?牛人可以直接下载redis的源码,第一版只有几万行代码,当然,需要c语言或者c++基础。书籍:Redis5设计与源码分析

几个常用框架学完学什么?

其实这个时候,你已经可以进去开发的阶段了,后面的路需要自己摸索了。

MQ

也就是消息队列,挑一个比较常用的大型的进行学习就可以了,不要贪图多,比如Kafka或者RabbitMQ,系统做异步解耦合的时候经常遇到。

先学会如何使用,然后学习里面的原理,架构。

JVM的知识跑不掉

JVM怎么学?

肯定的推荐周志明老师的 深入理解Java虚拟机,这本书推荐多看几遍。

除此之外,b站宋红康老师的视频也强烈推荐:JVM全套教程

搞定这两个之后,再找一些JDK11的新特定的书籍,来看看,基本问题不大了。

微服务等等

前面学习的,肯定是单体的应用,也就是一台服务器,一个应用。当用户量到达一定数量,需要做应用拆分,得学习的知识有:分库分表,RPC框架,微服务,注册中心,监控等等。

一开始推荐看两本书,了解分布式的一些知识,知道架构大致的演变过程,为什么要这样做,以前怎么样,怎么样变化的。

前面两本书看着挺爽的,拓展知识面,但是不回特别深入,算是一个概述以及全面了解。要想两本书吃透,不可能的!!!一口怎么吃成一个胖子呢?是吧。

然后再看看大型分布式的架构相关知识:

大型分布式网站架构设计与实践 : 一线工作经验总结,囊括大型分布式网站所需技术的全貌、架构设计的核

然后就是挨个知识点各个击破(下面知识部分相关的例子):

  • RCP原理
  • Netty
  • DUBBO
  • Zookeeper

其他

数据结构和算法

如果你是科班的,数据结构和算法基本掌握,那下面这一部分仅供参考:

  • 算法(第四版)
    • 俗称红书,最推荐的Java程序员学习的算法书籍,入门很友好,视频貌似b站也可以找到。
  • 数据结构与算法分析
    • 国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。本书把算法分析与有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。
  • Java常用算法手册(第3版)
    • 比较简单的算法数据,挺有意思,难度不大,挺薄。
  • 算法导论
    • 绝对劝退书籍,谨慎!很多数学公式推导,以及伪代码,建议作为程序员道路上相伴的书籍🤣🤣🤣(反正我是没有看完,太变态了)

如果刷题的话,推荐先刷剑指Offer,然后LeetCode每日/每周(时间自己定)一题,推荐一下自己的刷题笔记仓库:codeSolution

【作者简介】

秦怀,公众号【秦怀杂货店】作者,本人就职于国内某知名在线旅游公司,技术之路不在一时,山高水长,纵使缓慢,驰而不息。个人写作方向:Java源码解析,JDBC,Mybatis,Spring,redis,分布式,剑指Offer,LeetCode等,认真写好每一篇文章,不喜欢标题党,不喜欢花里胡哨,大多写系列文章,不能保证我写的都完全正确,但是我保证所写的均经过实践或者查找资料。遗漏或者错误之处,还望指正。

平日时间宝贵,只能使用晚上以及周末时间学习写作,关注我,我们一起成长吧~

2020年我写了什么?

开源编程笔记

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何学Java?求各位指条路吧~
当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!!
秦怀杂货店
2022/02/17
6450
适合普通大学生的 Java 后端开发学习路线
接下来的一段时间,帅地会总结各种技术栈的学习路线,例如 Java 开发,C++ 开发,python 开发,前端开发等等,假如你没有明确的目标,或许可以按照我说的学习路线来学习一波,我写的每一份学习路线,不会很全面,因为我认为,东西列的太多,反而不利于新手的学习,所以我列举的,都是比较必要的知识,当你把这些知识学了的时候,我相信你不需要别人的学习路线,也能知道自己接下来需要学啥了。
帅地
2021/04/14
6770
Java 后端开发学习路线(修订版)
接下来的一段时间,帅地会总结各种技术栈的学习路线,假如你没有明确的目标,或许可以按照我说的学习路线来学习一波。
帅地
2022/01/13
2.8K0
Java 后端开发学习路线(修订版)
python,java,c语言哪个好_小萌新
才发现语言的选择也就那一回事,我猜不少人刚入门的人依然被这个问题困扰着,所以决定认真分享一波我的经历。
全栈程序员站长
2022/11/01
9060
2022最新JAVA学习路线(附面试题)
在 Java 学习这条路上也踩过无数次的坑,秋招也幸运的拿到了一些大厂 Java 开发的offer。
dizhiguo
2022/09/07
7440
Java自学方法和路线,我万字推荐你这样学
大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达)。
bigsai
2021/04/26
1.4K0
不论你是大众,科班和非科班,我这边整理很久,总结出的学习路线,还不快卷起来
很多人对自我的学习路线没有清楚的定位,鉴于此,我就来写一篇适合普通大众的学习路线,就从大一入学那一刻开始入门说起,虽然不一定适合你,但或许能给没有明确目标的人带来一些学习的方向,那么这篇文章,我就觉得值了。
用户10216580
2022/12/06
4730
周末再聊聊Java学习路线
我相信这些读者或多或少都有一些 Java 基础,但由于看不到全貌,学了一段时间很容易迷失。所以我在寻思着能不能写一个学习的地图或者路线,让读者能知道下一步该学什么,自己离大厂的 offer还有多远的距离。
Java3y
2020/12/31
7620
周末再聊聊Java学习路线
写了很久,这是一份最适合/贴切普通大众/科班/非科班的『学习路线』
说实话,对于学习路线这种文章我一般是不写的,大家看我的文章也知道,我是很少写建议别人怎么样怎么样的文章,更多的是,写自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。
全栈程序员站长
2022/09/13
7161
写了很久,这是一份最适合/贴切普通大众/科班/非科班的『学习路线』
牛逼!Java 从入门到精通,超全汇总版
其实学习 Java 学到什么程度算是精通,这个其实没有盖棺定论的,也不是说你拿个年薪几十万的 offer 就可以自诩精通了。另外,每当面试的时候简历上填个精通 offer 的家伙我就觉得很搞笑,没有几个熬得过开出门左拐的命运。但是我认为,如果市面上这些资料、书籍你都啃的差不多,你能在所有的 Java 程序员中跻身前 0.1% 的话,你就可以达到”精通” 这个阶段了,因为没人比你强了,你当然是精通了。
全栈程序员站长
2022/07/02
2.4K0
牛逼!Java 从入门到精通,超全汇总版
硬核!万字长文!Java零基础入门到精通知识点汇总
其实学习 Java 学到什么程度算是精通,这个其实没有盖棺定论的,也不是说你拿个年薪几十万的 offer 就可以自诩精通了。
牛仔码农
2021/07/15
4140
2021 最新的Java 后端学习路线!凎!
断断续续写了大半个月,终于把 2021 最新版的 Java 后端学习路线给整完了!
Guide哥
2021/05/20
3.9K1
2021 最新的Java 后端学习路线!凎!
科班和非科班都适用的 Java 学习路线
很多面试官在基础考察的时候都是直接是根据书来问,因为这些面试官也是从学生时代过来的,而他们可能和你看的是同一本书。也就是如果你和面试官的知识体系结构一样的话,面试官问出来的问题,你自然可以回答得很好。下面是书籍推荐:
乔戈里
2019/03/02
1.1K0
超硬核Java学习路线图+学习资源+实战项目汇总,看完以后不用再问我怎么学Java了!
于是这次黄小斜决定来一波狠的,把所有这些内容都整理起来,做成一份非常硬核的Java学习指南+路线图,一篇文章搞定Java学习,360度无死角(可能)如果你们喜欢这类硬核的文章,以后我也会继续这么硬核下去的!不要忘了分享噢。
程序员黄小斜
2020/05/29
9480
2021最新Java学习路线!助力BAT offer
本人211非科班,大学学的物理,大三开始自学JAVA,并成功拿到了几个中大厂的offer。在这里分享一下自己整理的Java学习路线,供初学者参考。
程序员大彬
2022/07/08
3960
2021最新Java学习路线!助力BAT offer
【原创】为了你,我又又又把Java学习路线和方法更新了一遍
到目前为止,我觉得不管是在公众号后台、知乎还是微信上面我被问的做多的就是:“大佬,有没有 Java 学习路线和方法”(大佬属现代流行的客气称呼,本人非大佬哈)。大概 5 个多月之前,我在公众号发过一篇类似的文章:【原创】Java 学习路线以及方法推荐。今天突然想到能把一些读者问我的一些常见问题汇总起来,于是利用下班后的时间,我先把这篇文章重新完善了一遍。另外,我把 Java 学习的一些常见问题整理在了 JavaGuide 上,并且单独为它开了一个 tab,以后我会整理一些常见的 Java 学习方向的问题放在这里避免重复回答一些常见的问题。
Guide哥
2020/05/08
1.3K0
【原创】为了你,我又又又把Java学习路线和方法更新了一遍
硬核!如何全面系统地自学Java
我今年 XX 岁(调皮),使用 Java 开发将近 15 年了,目前虽然不在技术一线,但仍然和 Java 形影相伴,如影随形,每天都在相爱相杀。
沉默王二
2021/04/02
8160
Java程序员必看书籍推荐
不管你是转行来学习Java编程,还是你本来就是计算机专业并且继续在这一领域深耕的。除了,大学专业课程的学习以及工作中的实践之外;业余时间的充电,成了技术人员提升自己的必选之路。有的人选择利用金钱换来时间去报学习班培训,有的人利用自学。那么,自学的方法很多种:阅读书籍资料、网上各种技术论坛博客、视频教程等。
程序大视界
2020/07/21
1.7K0
Java程序员必看书籍推荐
Java学习必备书籍推荐终极版!
很早就想把书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善。虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去。希望这篇文章对你有帮助,不要再无书可看。
乔戈里
2019/05/13
1.6K0
给学妹的 Java 学习路线
大家好,这篇文章主要是讲解下如何自学 Java,这个问题有很多粉丝私信问过,今天又有直系学妹问我如何学习 Java?
武培轩
2020/04/21
5100
给学妹的 Java 学习路线
推荐阅读
相关推荐
如何学Java?求各位指条路吧~
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档