偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘

偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘今天来给大家谈一谈如何高效地学习编程。无论什么时候,找到学习的目标,以及学习的套路都非常的重要。找不到的话,就只能事倍功半,付出了很多努力,却迟迟得不到最好的回报。三四年前,我特别喜欢收藏文章,觉得有些技术文写得真好,忍不住收藏了!等过了一段时间后,闲得无聊,就去翻收藏夹,想着学一波,谁知道竟然找不到——不是微信给我删了,而是收藏夹里躺的“尸体”实在是太多了,根本就找不到。后来,我就总结了一个小窍门——每周收藏夹里最多躺五篇文章,如果想进来第六篇,之前的必须得清一篇。别小看这个小窍门,它真的有督促我去

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

今天来给大家谈一谈如何高效地学习编程。

无论什么时候,找到学习的目标,以及学习的套路都非常的重要。找不到的话,就只能事倍功半,付出了很多努力,却迟迟得不到最好的回报。

三四年前,我特别喜欢收藏文章,觉得有些技术文写得真好,忍不住收藏了!等过了一段时间后,闲得无聊,就去翻收藏夹,想着学一波,谁知道竟然找不到——不是微信给我删了,而是收藏夹里躺的“尸体”实在是太多了,根本就找不到。

后来,我就总结了一个小窍门——每周收藏夹里最多躺五篇文章,如果想进来第六篇,之前的必须得清一篇。别小看这个小窍门,它真的有督促我去学习,去消化。

有句话说得好,学习的时候一定要把自己当成一台计算机,既有输入,也要有输出。只输入不输出会堵塞,只输入不输出会枯竭。

我在网上看到有大佬列出 Java 工程师应该掌握的知识点,分了 5 个梯度,我觉得蛮有道理的。

第一梯度:操作系统、计算机组成原理、计算机网络、数据结构、算法。这个我之前已经强调很多次了,也列了对应的学习资料。比如说《深入理解计算机系统》这本黑皮书是要必读的,不管什么时候读。

这第一梯度的知识还是挺庞大的,需要花很多时间去消化。科班的比较适合一上来就啃,啃不动的可以放到后面再去补,反正是不要绕过去。

第二梯度:Java 基础、JVM 内存模型和 GC 算法、JVM 性能调优、JDK 工具、设计模式

Java 基础方面我写过《教妹学Java》,这部分内容目前处于断更的阶段,我在想后面的内容怎么继续下去,在“沉默王二”这个号上写感觉有点不太适合了,因为之前的反响一般;打算后面用我妹的那个号“程序员宝宝”来写,然后这个号次条转载一波。

除了《教妹学Java》,我推荐过另外一个 GitHub 上标星 115k+ 的 Java 教程,我自己从 GitHub 上下载到本地整理了一份 PDF,我看百度网盘下载的次数接近 1 万次,还是挺受欢迎的。

Java 基础里面有一块内容,就是并发编程,需要花大力气。我之前也推荐过这方面的资料,几个阿里的朋友写的,叫《深入浅出 Java 多线程》。

至于 JVM,一本书搞定,就是周志明老师的那本《深入理解 Java 虚拟机》,不过这书和《深入理解计算机系统》差不多,都挺难吃透的,需要花时间去读,前后持续的时间会比较久。

然后是设计模式,这块需要通过大量的实战经验才能有所感悟,设计模式玩得炉火纯青,写出的代码就更优雅,阅读起来也会更加舒服,可维护性、可扩展性就更强。推荐好朋友小傅哥重写的 Java 设计模式,全网下载次数应该有 3 万多次了。

第三梯度:Spring 系列、MyBatis、Dubbo 等主流框架

Spring 系列的话,我之前推荐过松哥的视频,在 B 站上有,大家可以去搜一下“江南一点雨”,质量我觉得还是挺不错的。听松哥说,今年还会录一些新的视频。

至于 Spring Boot 和 Spring Cloud,木得说,大家直接搜“纯洁的微笑”,看他的博客就行了。虽然微笑哥现在不怎么写这方面的教程了,但它之前写的就足够用来学习了。

MyBatis 其实很简单,学起来不复杂,就是怎么在 XML 文件里写 SQL 的事,不难,直接看官网就行。

Dubbo 是阿里巴巴公司开源的一个高性能服务框架,使得应用可通过 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。学习 Dubbo 的话,也推荐直接看官方文档。

第四梯度:MySQL、Redis、RabbitMQ/RocketMQ/Kafka、ZooKeeper 等数据库或者中间件

MySQL 的话,推荐先看《SQL 必知必会》,再看《MySQL 必知必会》,然后是《高性能 MySQL》。

Redis 的话,推荐看老钱的《Redis 深度历险:核心原理与应用实践》,在业界的评价还是蛮高的。

Kafka 和 RabbitMQ 是两款比较主流的消息中间件,具备消息传递的基本功能,但在一些特殊的功能方面存在差异,RocketMQ 在阿里集团内部有大量的应用场景。这部分的学习可以直接看官方文档,然后通过实战项目提升自己对这些消息中间件的应用功底。

Zookeeper 是一个分布式的、开源的程序协调服务,可以到菜鸟教程上学习。

第五梯度:CAP 理论、BASE 理论、Paxos 和 Raft 算法

一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项——CAP 理论。

BASE 理论是对 CAP 理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(Eventual Consitency)。

Paxos 算法是一种基于消息传递且具有高度容错特性的共识算法。

Raft 算法是一种用于替代 Paxos 的共识算法,安全性更高,并能提供一些额外的特性。

这些都是一些比较难以理解的知识点,需要通过大量的实战经验(海量数据的前提下)才能很好的掌握,属于中级、高级程序员应该掌握的内容。

大家在学习编程的时候,一定要形成自己的知识体系,建议大家通过思维导图来梳理知识点。比如说并发编程这块的知识点如下图所示。

偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘

最后,提几点建议吧。

  • 试着去造个轮子。虽然我们常说,不要重复造轮子,为了开发效率,可以不造轮子,但必须得具备造轮子的能力。
  • 多做技术分享。可以是写博客这种面向大众的,也可以是团队的内部分享,新人培训等。
  • 重视英语。学好英语可能和掌握编程语言一样重要,如果英语足够好,可以直接阅读一手的英语资料,接收知识的时间可能就比其他人早了不少。
  • 及时温习。网上说,人在一天后的记忆量只有 30%,所以我们上学的阶段各种考试,月考,周考,其实就是用来加强记忆的,很多题都是做过的,换汤不换药。

加油~

最后载送大家一本美团大佬手撕的 300 道 LeetCode 刷题笔记,纯 Java 版,对于算法薄弱或者需要提高的同学都十分受用(提起码:xs23):

https://pan.baidu.com/s/1xe3r8qDuKE99p2ZD9w2XrQ

我是沉默王二,我们下期见。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188873.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 学生成绩管理系统——JAVA

    学生成绩管理系统——JAVA学生成绩管理系统1.简介本学生成绩管理系统具有录入学生成绩、查询学生成绩、输出学生按成绩的排名、输出学科的分数四个功能,其中后两个功能在“输出成绩”这一目录下。此系统可以实现学生成绩管理的一些基本操作。1.1各模块功能简介录入成绩输入若干同学的学号、姓名以及四个科目的成绩(应用数学、大学英语、Java程序设计、计算机应用基础),并将其保存在建立好的数据库中。查询成绩进入该模块后,输入想要查询成绩的学生姓名,即可在数据库中检索该学生的成绩信息并输出其各科成绩。输出成绩该模块主要分为两

  • rna转录的方向是从5→3吗_转换到ois

    rna转录的方向是从5→3吗_转换到oisXNA3.0到4.0的转换http://blog.sina.com.cn/s/articlelist_1747721953_0_1.htmlXNA4.0可以说是一个变化很大的版本了,许多类都被重构或者删除,转换的相关重点描述文章中,比较好的是下面的URL地址:http://www.nelxon.com/blog/xna-3-1-to-xna-4-0-cheatshe

    2022年10月21日
  • CSS3自定义滚动条样式 -webkit-scrollbar「建议收藏」

    CSS3自定义滚动条样式 -webkit-scrollbar「建议收藏」有没有觉得浏览器自带的原始滚动条很不美观,同时也有看到很多网站的自定义滚动条显得高端,就连chrome32.0开发板都抛弃了原始的滚动条,美观多了。那webkit浏览器是如何自定义滚动条的呢?前言webkit支持拥有overflow属性的区域,列表框,下拉菜单,textarea的滚动条自定义样式,所以用处还是挺大的。当然,兼容所有浏览器的滚动条样式目前是不存在的。演示

    2022年10月30日
  • EM算法(Expectation Maximization Algorithm)详解

    EM算法(Expectation Maximization Algorithm)详解EM算法(ExpectationMaximizationAlgorithm)详解主要内容EM算法简介预备知识极大似然估计Jensen不等式EM算法详解问题描述EM算法推导EM算法流程EM算法优缺点以及应用1、EM算法简介  EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),所以算法被称…

  • dfs,bfs入门精讲、、、

    dfs,bfs入门精讲、、、

  • 删除表中重复数据「建议收藏」

    删除表中重复数据「建议收藏」删除表中重复数据

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号