高效学习方法——知识关联性

这篇文章写的是我对知识关联性的理解,以及用知识体系实现知识关联性。

引言

科学研究显示,大脑并不是简单地记忆信息,而是通过神经元之间的连接来组织和管理知识。关于大脑的研究,Eric Kandel (2000 年诺贝尔生理学或医学奖获得者)通过对神经元及突触机制的研究发现,学习和记忆的形成依赖于神经元之间的突触可塑性:当我们学习新知识时,神经元之间的连接会得到强化,这种突触的变化决定了信息能否从短期记忆转化为长期记忆,从而在大脑中被持久存储。

(神经元的卡通图,显示了由每个突触内的数百个机械开关产生的二进制编码)

关于**突触可塑性,**知乎上有一位神经生物学博士对此发表过一篇文章:https://zhuanlan.zhihu.com/p/29948671

条件反射实验表明,单独的刺激可能效果有限,但与已有重要信息关联后,学习效果显著增强,本质上可以作为关联性增强记忆的生物学证据

所以得出结论: 知识在已有知识网络的基础上进行关联学习,会显著提高理解力和记忆效果,即: 知识的关联性学习,是一种科学的高效学习方法。

知识关联性的实现方式可以有很多种,用对比的方式学习,会越学越快。

本篇文章用知识体系来做知识关联性,是我认为比较全面性关联的一种方式。

知识体系的作用和意义

  • 让原本知识的关联性更清晰

可能你已经学习了很多知识,但脑海没有对知识点进行过整理,有些零碎,将相关联的知识建立一个知识体系正是对知识的梳理,这个过程你会对知识点的定位更加清晰,增强你对原有知识的记忆。

  • 对新知识的快速学习

当我遇到新的知识,当我问自己这是什么的时候,我会尝试给知识定位,尝试放入到知识体系中,用原有的知识帮我快速认识新的知识,并建立知识关联性。这便是高效学习法之一

比如:

单个知识都不难理解,比如各种Spring入门,讲的并没有多难,不用什么关联性也能懂,但是到了Spring IOC 体系讲解、AOP 实现原理, 就非常需要前面入门知识的理解,否则就会有特别吃力、跟不上的感觉,此时你会怀疑自己脑子笨?其实并不是,仅仅是前面学的太随意了,认为以后没什么用,走马观花看了一遍,到了Spring进阶, 缺乏Spring入门的知识,学习便会带给你挫败感,不再是入门时听懂知识的成就感。

下面分享我的知识体系例子,没写全,也写不全。

技术层面的知识体系

从大学开始计算机学习,随着学习时间推移,知识广度不断扩展,知识点经常会遗忘或者混乱。我知道 AI 可以一键输出知识体系,但那缺乏一个一个知识点思考的过程,有点这知识体系不是自己的感觉,如果是自己写的知识体系,每个知识在哪个分类、哪个位置都是自己思考过后的结果,完全属于自己的产物。

前端

前端三件套,vue, vite , Echarts 。

后端

核心知识:java, javaweb, spring ,OS 操作系统,juc, jvm, 数据结构和算法,网络协议 等。

框架:spring boot , mybatis-plus , sa-token。

中间件:mysql ,redis,rabbitMQ ,tomcat , Elasticserch

中间件组件:数据库连接池

后端开发库: hutool, lombok , logback , grava , apach josn。

  • 性能优化工具

    • JVM分析工具: jconsole , jstat , jmap , jcmd
    • 数据库性能分析工具:explain,慢查询日志

协议:http 协议,websocket 协议, TCP 协议,UPD 协议。

监控: prometheus ,ARMS , grafa, clariry , sentry。

部署

原生,宝塔,1panel , docker , docker compose , k8s ,nginx 等

云服务

serverless ,云服务器,对象存储,云数据库,edgeone pages , cdn 。

软件工程

为了保持代码的整洁、可扩展、可重复使用,和工程化开发,需要软件工程的知识

  • 项目管理:

maven管理项目,git 版本管理。

  • 一套开发流程:

需求分析,数据建模,方案调研,方案设计(架构、模块、详细),技术调研,编码实施,单元测试,性能优化,监控告警, 部署上线,持续迭代

  • 面向对象开发规范:

原则(SOLID)单一职责,扩展开放修改关闭,依赖倒置,接口隔离等 。 还有设计模式等等

  • 架构设计原则:

三层架构,主从架构,分布式,微服务。为了达到高内聚、低耦合,可维护,提升扩展性、稳定性、可用性。

  • 编码风格:

阿里巴巴java开发手册,《重构》

文章分类

另外还需要经常编写文档,可分类:

博客:技术科普文档,bug解决文档,个人技术笔记。

开发文档:需求文档,技术方案,调研文档,readme 。

产品/功能知识体系

上面的技术是为了开发出产品或者功能,产品和功能有很多,也进行分类:

web产品,BI产品,移动端产品,小程序产品,SaaS产品,基础系统类产品,工具产品

基础功能
  • 登录/注册/注销
  • 验证码
  • 权限管理
  • 用户个人资料
  • 日志管理
  • 文件上传/下载
  • 通知/消息推送
业务功能
  • 数据的增删改查
  • 审批
  • 导入导出(excel)
安全与认证
  • 单点登录
  • Token /JWT 校验
  • 接口签名
  • 接口防刷
系统基础类功能
  • 数据存储 :Mysql , postgre , H2 , MongeDB
  • 对象存储:MinIO , COS , OSS
  • 缓存功能:redis
  • 消息队列:RabbiteMQ
  • Elasticsearch :全文检索,结构化搜索,聚合分析。

学习维度知识体系

上面是按技术维度划分的知识体系,我还会建立另一种学习深度的维度,用来判断对知识掌握的深度,我不会细致的分类,只会对需要耗时的技术思考一下,得出我应该为这个技术花多少时间学习是值得的。

重要性排名主要依据自身业务需求和目标,决定某项技术是"只需会用即可",还是"必须理解原理",或者"需要掌握设计思想"。

  • 使用层面

使用层面是对知识的入门级掌握,不需要深入到原理,会用即可,大部分知识点工具都是这个层面。比如:工具库,监控工具,部署工具,我的前端。。 这些对我来说目前会用就行。

  • 原理层面

有些技术不能满足于使用,要深入到技术内部结构和工作原理,才能满足开发需求,否则自己开发的软件真的用的安心吗?比如仅仅会使用 mysql,对于mysql B+树结构一概不知,是很难开发出高效查询的数据。

类似的技术:spring 原理,消息队列,juc, 网络协议,操作系统,jvm等。

  • 设计思想层面

设计思想 指的是一类抽象的软件设计方法论和架构理念,强调如何组织系统、分配职责、管理模块之间的依赖关系。 在我看来,设计思想是设计复杂系统时,作为参考使用,普通开发者设计复杂方案时,也会看到设计思想的影子,这是一套指导思想,并非具体实现,开发时会更注重符合设计思想的编码,比如高内聚、低耦合。

比如:控制反转(Spring IOC , 回调函数),AOP 设计思想 , MVC 架构思想。

小结

最好是画一个思维导图,但是我懒的切换到画图平台,能让我使用最频繁,经常迭代更新的,还是文档。

本篇文章是对高效学习方法的理解------知识关联性,知识体系是知识关联性的体现,如果有别的方式替代知识体现也是完全可以的,另外知识体系不是关键,不用追求归纳百分百准确,或者恨不得把自己脑海中的全部知识写出来,这不太可能。

相关推荐
liulian091616 小时前
Flutter for OpenHarmony 混合开发实践:用户反馈功能的实现与适配
flutter·华为·学习方法·harmonyos
liulian09161 天前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony 离线模式实现:让你的应用无网也能萌萌哒~
开发语言·flutter·华为·php·学习方法·harmonyos
ADHD多动联盟2 天前
专注力障碍是什么?主要有哪几点影响孩子的学习与社交能力?
学习·学习方法·玩游戏
AKA__Zas2 天前
初识多线程(初初识)
java·服务器·开发语言·学习方法
liulian09162 天前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony 底部导航栏交互设计与性能优化实践
flutter·华为·交互·学习方法·harmonyos
liulian09163 天前
【Flutter for OpenHarmony 第三方库】Flutter for OpenHarmony 第三方社交登录功能适配与实现指南
flutter·华为·学习方法·harmonyos
liulian09163 天前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony 骨架屏实现与用户加载体验优化指南
flutter·华为·学习方法·harmonyos
脆皮炸鸡7553 天前
Linux~~基础IO
linux·运维·服务器·经验分享·算法·学习方法
liulian09163 天前
【Flutter for OpenHarmony 第三方库】Flutter for OpenHarmony 引导页设计与新用户体验优化实现指南
flutter·华为·学习方法·harmonyos·ux
liulian09163 天前
【Flutter for OpenHarmony 第三方库】Flutter for OpenHarmony 实时聊天功能适配与实现指南
flutter·华为·学习方法·harmonyos