前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >给学妹的 Java 学习路线

给学妹的 Java 学习路线

作者头像
武培轩
发布2020-04-21 11:18:01
4730
发布2020-04-21 11:18:01
举报
文章被收录于专栏:武培轩的专栏武培轩的专栏

大家好,这篇文章主要是讲解下如何自学 Java,这个问题有很多粉丝私信问过,今天又有直系学妹问我如何学习 Java?

我就以我的经历,总结下分享给大家,有不当指出或者有更好的方法建议也欢迎留言指出,大家一起交流进步。

首先给出一张思维导图,图片和思维导图源文件可以在公众号武培轩后台回复java即可。

Java 学习路线
Java 学习路线

首先第一步就是学习 Java 基础:

Java 基础

Java 是一门面向对象的编程语言,所以在了解基础语法之后,还要搞懂它的面向对象编程思想(比如涉及到的封装、继承、多态、类、对象、接口等),除此之外还有泛型、反射等知识也需要学习,因为反射在许多框架中都有所应用。

除上述外,IO、集合、异常等也需要去了解下,不仅在面试中会问到,工作中也会用到。

有精力的可以去了解下 Java 8 的新特性,比如 Lambda 表达式、Stream 流操作以及新的 Date API

关于书籍的话,我推荐 《Java核心技术卷1:基础知识》《Java核心技术卷2:高级特性》,这两本书都比较适合入门,另外 《码出高效:Java开发手册》 这本书也挺好的,还不是非常厚,可以阅读下。

如果觉得看书看不进去的话可以看视频学习(尚硅谷、黑马、达内等),另外我觉得在学习完一些知识后,可以自己动手去敲代码玩玩,兴趣不一定是最好的老师,但成就感一定是

再分享一个我学习新知识的方法-闭环式学习:再学习完之后,通过思考对知识进行总结(可以使用思维导图),然后和其他人进行讲解分享,若身边没有这个环境的话,也可以在技术交流群里进行分享。

闭环式学习
闭环式学习

在了解了 Java 基础知识后,可以去学习下并发相关的知识:

并发

并发相对于 Java 基础可能会有些难以理解,可以通过 《Java并发编程实战》《Java并发编程之美》 等书籍进行学习,主要包括如下内容:

  • 并发理论基础:线程安全、锁、线程等
  • 并发工具类:Lock、Condition、Semaphore、ReadWriteLock、CountDownLatch 等
  • 并发设计模式:Future、Master/Salve、Copy-on-Write、Balking 等

在你了解完并发相关知识后, 你可能会发现它很多与 JVM 有关,因此来了解下 JVM:

JVM

对于 JVM 的学习,我这里推荐的书籍是 《深入理解Java虚拟机:JVM高级特性与最佳实践》(第三版可以在微信读书上阅读),虽然在开发中很少用到,但是我们不光要知其然,还要知其所以然,因为在学习 JVM 后,才能更深刻了解到 Java 程序是如何被执行以及优化的,况且在面试中也是必考点,JVM 方面内容主要包含:JMM、GC 以及调优等。

数据结构与算法

算法能力不是短时间内可以迅速提高的,因此可以在学习完 Java 基础之后就可以着手学习了,许多大厂对于算法的要求还是蛮高的,推荐刚开始可以刷剑指 Offer,然后刷 LeetCode,做完题一定要分类总结

算法方面的书籍,入门级别的我推荐 《大话数据结构》、《算法图解》、《我的第一本算法书》,图文并茂,很适合入门,针对面试的话,我推荐 《编程之美》、《剑指offer》、《编程珠玑》、《程序员面试代码指南》,这几本书的题刷完完全足够应付面试了。

同时一定要对基本的数据结构了如指掌(链表、数组、栈、队列、哈希表、树等),还有常见的算法也要了解,能够手撕代码,比如:二分搜索、分治、快排、动态规划、回溯法、双指针等。

操作系统

操作系统的书籍推荐阅读 《计算机组成原理》、《操作系统》、《程序是怎样跑起来的》,在了解了底层运行机制后,对于以后的学习是很有帮助的,主要内容包括:进程、线程、内存相关原理。

计算机网络

计算机网络方面的数据,我推荐 《计算机网络自顶向下方法》,书中的例子都很形象,很适合入门,另外 《网络是怎样连接的》、《图解HTTP》 这两部也很适合初学者阅读。

数据库

首先简单学习下 MySQL 的基本语法,最好了解下索引的原理以及优化的方式。书籍方面,《高性能 MySQL》 有点厚,不过知识很全,《MySQL 技术内幕—InnoDB 存储引擎》 这本书讲的就比较深了,想要深入的可以阅读下。

Redis 方面的书籍推荐 《Redis设计与实现》,感觉讲的挺好的,从源码角度解析 Redis 架构设计。

设计模式

设计模式方面的书籍推荐 《设计模式之禅》《大话设计模式》《HeadFirst 设计模式》,这三本书都挺适合入门的,设计模式有 23 种,不需要每一个都很熟悉,只需要把常用常见的几个掌握就好了:单例模式、工厂模式、策略模式、代理模式等。

框架

了解下 Spring、SpringMVC、Mybatis 等框架的基本使用,可以通过一个实战项目去了解下,这样更能够去知道每个框架都是干啥的,然后再去了解相关的原理,像 Spring 和 SpringMVC 的原理在面试中还是比较常考的,比如 IOC 和 AOP 的原理,SpringMVC 的执行流程等。

框架的学习其实推荐看官方文档,里面的例子都很全面和经典,如果英语不好的话,可以去阅读相关的书籍,比如 《Spring实战》

另外,SpringBoot 框架也可以去了解下,通过实战 demo 可以很快地掌握如何使用。

微服务现在公司用的也比较多,在有时间和精力的前提下,可以通过实战项目了解学习下 SpringCloud

在做完项目之后,要多总结,还可以自己去扩展完善下自己的项目。

中间件

这部分就是多多益善了,你掌握的越多越好,比如消息队列、RPC 通信框架等,可以在掌握其使用后,在有精力的前提下了解原理实现。

工具

工欲善其事,必先利其器,在开发中可能需要了解如下工具:

  • 开发工具:我这里推荐 IDEA,不过 Eclipse 也是可以的,只是个开发工具,不用太纠结
  • 项目管理:Maven 和 Gradle 的都有,一般 Maven 的多一些,选择一个学习即可
  • 版本控制:主要是 Git 和 SVN,不过 SVN 目前用的比较少了,可以学习下 Git,熟练使用即可

源码

在能够熟练使用一个东西之后,有余力的再去钻研源码,可以先阅读 JDK 源码,把常用的集合类、juc 并发包下的、线程相关的看下,看的时候可以结合视频或者博客进行阅读,方便理解。

在对 JDK 常用类的源码有所了解后,可以去阅读 Spring 等框架的源码,学习优秀开发者的编程思想。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java 基础
  • 并发
  • JVM
  • 数据结构与算法
  • 操作系统
  • 计算机网络
  • 数据库
  • 设计模式
  • 框架
  • 中间件
  • 工具
  • 源码
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档