浅谈Java开发的学习路线

开课吧开课吧锤锤2021-04-06 16:40

    大家好,本文主要讲解如何自学Java。

    Java学习路线。

    第一步是学习Java基础:

    Java基础Java是面向对象的编程语言,在理解基础语法后,必须理解面向对象的编程思想(包括包装、继承、多态、类别、对象、接口等)。除此之外,还需要学习一般、反射等知识。因为反射应用于很多框架。

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

    精力充沛的人可以了解Java8的新特性,如Lambda表达式,Stream流操作和DateAPI。

    至于这本书,我推荐《Java核心技术卷1:基础知识》和《Java核心技术卷2:高级特性》,这两本书都比较适合入门,另外《码出效率:Java开发手册》这本书也不错,还不太厚,可以看下。

Java

    假如觉得看不进去就可以看视频学习,另外我觉得学完一些知识后,可以自己动手去敲代码玩,兴趣不一定是最好的老师,但是成就感一定是。

    再次分享一种我学习新知识的方法——闭环学习:再次学习后,通过思考总结知识(可使用思维导图),然后与他人讲解分享,如果身边没有这种环境,也可以在技术交流群中分享。

    闭环学习。

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

    与Java基础相比,并发并发并发可能有些难以理解,可以从《Java并发编程实战》、《Java并发编程之美》等书中学习,主要包括以下内容:

    并发理论基础:线程安全、锁定、线程等。

    并发工具类:Lock、Condition、Semaphore、ReadWriteLock、CountDownLatch等。

    并发式设计模式:Future,Master/Salve,Copy-on-Write,Balking等等。

    了解并发相关知识后,你可能会发现它与JVM有很多关系,所以我们来了解一下JVM:

    关于JVM的学习,我这里推荐的书是《深入了解Java虚拟机:JVM的先进特性和最佳实践》(第三版可以在微信上阅读),虽然在开发中很少使用,但我们不仅要了解JVM的先进特性和最佳实践,因为在学习JVM之后,我们可以更深入地了解Java程序是如何实施和优化的,而且在面试中也是必考点,JVM的内容主要包括:JMM,GC和调优等。

    数据结构和算法算法能力不能在短时间内快速提高,所以学习Java基础后就可以开始学习了。很多大厂商对算法的要求还是挺高的。建议一开始可以刷剑指Offer,然后刷LeetCode。完成问题一定要分类总结。

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

    与此同时,必须了解基本的数据结构,如手指(链表、数组、栈、队列、哈希表、树木等),以及常用的算法,可以手撕代码,如:二分搜索、分治、快排、动态规划、回溯、双指针等。

    建议阅读《计算机构成原理》、《操作系统》、《程序是如何运行的》等书籍,在了解了底层运行机制之后,对以后的学习非常有帮助,主要内容包括:过程、线程、内存相关原理。

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

    首先,数据库简单学习MySQL的基本语法,最好了解索引的原理和优化方法。书中,《高性能MySQL》虽然有点厚,但知识很全,《MySQL技术内幕-InnoDB存储引擎》这本书讲得比较深,想要深入的可以阅读下。

    关于Redis的书推荐《Redis设计与实现》,感觉还不错,从源代码的角度分析Redis架构设计。

    关于设计模式设计模式的书推荐《设计模式禅》、《大话设计模式》、《HeadFirst设计模式》。这三本书都很适合入门。设计模式有23种,不需要每一种都很熟悉,只需要掌握几种常见的:个人模式、工厂模式、战略模式、代理模式等。

    了解Spring、SpringMVC、Mybatis等框架的基本使用情况,可以通过一个实战项目来了解Spring、Mybatis等框架的基本使用情况,这样更能了解每一个框架都在做什么,然后再去了解相关的原理,比如Spring和SpringMVC的原理在面试中还是比较常见的,比如IOC和AOP的原理,SpringMVC的执行流程等等。

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

    此外,SpringBoot框架还可以去了解一下,通过实战demo可以快速掌握如何使用。

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

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

    这部分中间件是多多益善的,你掌握的越多越好,比如消息队列,RPC通讯框架等等,在掌握了它的使用之后,就能在精力充沛的前提下了解原理。

    如果工具工想做好事情,他们必须首先使用他们的工具。在开发过程中,他们可能需要了解以下工具:

    开发工具:我在这里推荐IDEA,但是Eclipse也可以,只是一个开发工具,不用太担心。

    工程管理:Maven和Gradle都有,一般Maven比较多,选一门学习就可以了。

    版本控制:主要是Git和SVN,但SVN目前使用较少,可以学习Git,熟练使用。

    当源代码能熟练地使用一件事后,有余力地再去钻研源代码,可以先读JDK源代码,看看常用的集合类,juc并发包下的,线程相关的,看看时可以结合视频或博客阅读,方便理解。

    了解JDK常用的源代码后,可以阅读Spring等框架的源代码,学习优秀开发者的编程思路。

    总结。

    有了学习目标和学习路线,,可根据自己的情况,选择视频、书籍等方式进行学习,学习后要多思考,多总结,能与他人分享,只有你能学会与他人分享,你才能确保你真正理解。

    学习是反人类的行为,可以和身边的朋友一起学习。有一个好的氛围是非常有益的。如果没有这个环境,也可以回复微信官方账号武培轩加群技术交流讨论。

    基础不牢,山崩地裂,建议大家还是稳扎稳打,这样才能走得更远。

    以上就是浅谈Java开发的学习路线的全部介绍,如果你想对Zookeeper有一个更深入的了解的话,不妨点击下方课程,免费领取。

Java

    这篇文章主要讲解了Java学习路线相关的知识,如果你想熟练掌握它,就快快报名吧。

有用
分享