Advertisement

在校大学生如何系统的学习java?

阅读量:

我整理出了Java backend学习的一套系统化路径规划,在遵循这一学习路线的过程中, 有望顺利获得中大型厂层的 Offer, 成功几率相当高, 建议及时将此经验分享给我以便共同进步

一、Java 技术栈的学习

1、Java 入门

为了更好地掌握Java语言的基础特性,在学习初期需要系统地了解其核心功能和工作原理。许多人对于学习初期应该阅读哪些书籍或资料感到困惑。因此,在入门阶段不宜过多地涉猎各类书籍或参考资料。

面对着新手尤其是完全没有编程经验的人们来说,
克服从零开始到熟练掌握这一过程将会非常困难,
挫折感会格外强烈。
如果有指导帮助,
或者选择一门高质量的教学课程,
学习效果将会显著提升。
准备好了,
请耐心等待一下,
这篇文章就将为您指引方向!
优质课程在这儿等你学习

这些资料都是我之前阅读或观看过的。

对于学习Java编程语言的人而言,《Java核心卷1》是一部经典的入门教材。我对入门书籍了解并不深入,作为参考材料之一。建议大家自行在网络上查阅相关资料。经过研读之后,我认为这本书足以打下坚实的基础。

对于初学者来说,《Java编程思想》是一本不错的入门书籍。这本书也有其值得推荐之处。它帮助我解答了许多疑问。然而这本书难度适中,并非所有人都能一读到底。

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

视频推荐:这里推荐的是高琪老师的Java课程共300集,在b站上搜索相关课程就可以获取资源了。整体内容讲解得相当清晰,并且适合新手学习者快速入门阶段可以通过观看前100集打下扎实的基础

2、Java 进阶

想用Java撑着自己

集合模块的学习内容主要包括各种常用集合类型的介绍与理解:比如像Set类型中包含有HashSet和TreeSet这两种常见实现方式;Map类型则主要涵盖HashMap和Hashtable两种典型实例;列表类型则涵盖了ArrayList和LinkedList这两种主要实现形式。这些列举的具体实现形式也都值得深入研究其源代码。

多核线程:通过同步操作实现互斥访问的同时引入易变位修饰符以控制变量状态的变化进而构建高效运行的并行处理池而锁机制作为基础的安全保障措施也是不可忽视的重要组成部分但由于内容繁多以至于难以全部讲解清楚无需过多赘述

建议阅读《Java 并发编程艺术》与《Java并发编程实战》这两本书。学习《Java并发编程艺术》需要反复研读三四遍才能掌握精髓。初次阅读后容易忘记细节。深入阅读后会有所启发。第三次通读则能轻松应对专业面试。至于下载电子版的方式我已经详细说明过了。

不同种类的文件流包括普通文件、输入流和输出流等等。不仅仅是这些普通的文件流。通过实践操作这类知识更容易掌握。为了更好地理解这类技术建议读者多加练习。不需要过多详细讲解。

虚拟机:虚拟机是一项至关重要的一门技术课程。其核心内容在于 garbage collection(GC)机制的学习与掌握。为了深入理解这一机制,《深入理解Java虚拟机:JVM 高级特性与最佳实践》是一本非常优秀的教材。通过系统研读并反复研习几遍后能够熟练掌握相关知识和技术要点。

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

3、JavaWeb 入门

掌握了很多理论知识后却迟迟无法将所学应用于实际操作中时有发生?别着急!此时正是我们提升技能的关键阶段。如果以Java作为开发语言的学习路径,则JavaWeb必然是你的入门必修课。建议你可以快速浏览一下相关课程(不必深入钻研),初步了解其基本概念和使用方法即可。

学习MySQL数据库基础以及HTML+CSS前端开发和JavaScript后端开发是掌握Web开发技术的重要组成部分。建议观看相关教学视频辅助学习,并自行查找学习资料以获取进一步的学习资源。对于哪些知识点尚不理解的部分,在深入研究的基础上一般仅需几个小时就能掌握一门技能。至于 MySQL数据库的具体知识体系建议深入学习《mysql不知必会》一书,在此基础上再研读《mysql技术内幕》等进阶书籍即可全面掌握该领域知识。

2、servlet+jsp 系列。

不主张直接学习框架结构设计, 同样需要先掌握servlet核心知识, 这些底层技术才是关键. 学习servlet时, 可以通过视频教程辅助理解, 尽管jsp用得不多, 但对于整体开发流程的理解仍需打好数学基础.

4、框架的学习框

使用Servlet 开发程序确实较为繁琐;只有深入掌握了Servlet 技术的人才知道其带来的便利之处;因此必须先掌握Servlet 技术基础后再深入学习框架结构;主要有三大主流框架:Spring 框架及其扩展 SpringMVC 和 Mybatis 等等。

实际上SpringMVC是Spring家族中的一种实现方式。它基于MVC这一核心理念,在进行项目开发时最好先了解Spring的整体框架和工作流程。为了快速入门可以选择观看相关的教学视频进行基础学习。在深入掌握的基础上再购买教材进行系统化学习……掌握的程度。最终要掌握这些核心原理包括IOC(面向对象单例控制)和AOP(面向切面编程)的实现机制以及项目中常用的几种设计模式有哪些。

虽然搭建SSM显得有些繁琐, 尽管如此, 几乎都是基于SpringBoot开发, 因此掌握SpringBoot的基础知识显得尤为重要, 如果未来有机会深入研究, 同样值得学习和了解的是SpringCloud框架.

5、中间件的学习

掌握中间件知识:Redis;在 Redis 相关面试中是必考内容;在实际工作中也会频繁使用到;因此掌握 Redis 中间件知识至关重要;推荐学习资料包括《Redis 设计与实现》和《Redis 开发与运维》两本教材;完成这两本书的学习后基本掌握了 Redis 的核心内容;或者仅完成第一本书的学习也能获得扎实的基础。

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

6、一个完整的项目

完成对Java基础及框架的学习后,则需要立即着手开发一个完整的小型系统。不得不承认的是项目的研发工作至关重要。此时若选择自学或跨行业发展,则会面临诸多不利。由于在面试中通常会被询问到,并且所涉及的内容必须是你个人亲手完成过的小型系统。如果只是停留在观看教学视频阶段而缺乏实际操作经验,则很容易就会在回答时出现混乱。因此建议尽快开始动手开发自己的小型系统

当然不能说这个问题就这么解决了。大家可以选择参与实操课程来弥补自身在项目实践经验中的不足,尤其是那些以真实项目为基础的课程。

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

董杉杉 4-18 14:35:59
二、数据结构与算法的学习

在大学第一学期学完一种语言后就需要开始学习数据结构与算法。
然而,并非所有情况都是这样;
例如说,
同样地,
对于非科班背景的人来说,
通常来说,
他们也可以遵循类似的顺序进行学习。
当然,
每个人都有自己的目标,
因此,
可以根据自己的意愿来调整整个计划。

我的文章专注于探讨数据结构与算法的相关内容。我也因此在秋招过程中凭借这一优势获得了offer。因此我认为数据结构与算法在专业技能中扮演着至关重要的角色。或许你会有这样的疑问:这些知识是否真的在工作中派上用场?确实如此。许多库函数已经为我们提供了高效的解决方案。那么为什么还要学习这些基础知识呢?

如果按照这样的思路去考虑问题的话,则会陷入误区。对于那些希望求职的人来说,这类专业知识是考试的重点内容,因此需要掌握这些知识;而对于那些已经在职场中发展的人来说,这类专业知识将帮助你理解现代软件开发的理念和实践方法,即数据结构与算法构成了程序开发的核心框架,而深入学习这一理论体系与实践方法,将使你在掌握其他编程技术时事半功倍

听起来好像有点累?之前提到了很多关于数据结构与算法的知识就是要传达它们在现代软件开发中扮演着至关重要的角色。接下来我要分享的是入门级的数据结构和算法有哪些?不过你最好按照教材系统地学习这些内容。

三、计算机基础的学习

所有阅读过我的文章的人都清楚,我始终认为强大的计算机基础是现代信息技术人才必备的核心素养之一。因此必须明确列举出所需学习的主要课程有哪些。刚才提到了选择一门语言深入学习后,在深入的过程中必然会接触到学校的全部专业课程体系,具体包括:计算机网络、操作系统、数据库、汇编语言、计算机组成原理以及编译原理等课程。

而这些,我认为是非常重要的,对于秋招的同学来说,只要你会这些,就算你是深入学习 Java的,然后你去应聘 C++ 岗,我觉得也问题不大,你和面试官说我不会 C++ 就可以了,大不了到时候转岗。我虽然是 Java 技术栈的,但是我面的公司,都不是 Java 技术栈的,例如 小米,Shopee,字节跳动,腾讯等。但是,这些都问题不大,你只要会这些基础 + 算法,而且,在秋招,特别是对于一些大公司,关于语言的,其实问的也不是很多,基础问的特别多,所以你会基础,面试会占很多优势。下面按照学习的优先级,给这些课程排个序。

这样做的话,并不合理。毕竟这样操作下去可能会引起一些不必要的争议。但这也是无奈之举吧。不过话说回来,并不是所有人都像我这么熟悉这些领域的知识的。所以还是希望可以把它们按重要性来排列一下顺序吧!首先是计算机网络和操作系统这两个核心领域吧

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

3、汇编 + 编译原理

不过假如你们目前在大学大一或大二期间那么按照你们各自课程的学习安排进行然而我倾向于让有足够时间的学生先进行自主学习无需等待学校系统性的教学内容实际上很多教师的教学水平较为普通即使你已经学习过相关内容的话可作为复习巩固知识的时间段另外还可以选择学习其他相关知识领域

全部评论 (0)

还没有任何评论哟~