有不足或者问题大家可以在评论中留言,谢谢大家。
以 Java 后端为主,扩展/基础 部分可以根据需要自行调整顺序。
初学者强烈建议先阅读计算机体系部分!!
人都有一个遗忘规律,很多时候我们都是在和遗忘做斗争。欢迎大家友善的交流。
博客文章分类:https://www.cnblogs.com/zwtblog/tag
计算机体系
构建知识体系的视频。
项目地址:https://github.com/1c7/Crash-Course-Computer-Science-Chinese
视频地址:https://www.bilibili.com/video/av21376839/
本视频不会涉及编程,会从高层次上纵览一系列计算机话题。希望你能了解计算机在你的人生 以及社会中扮演什么角色。
第一阶段--基础
最重要的阶段,基础不牢,地动山摇。
附带:
第二阶段--源码阅读计划
熟悉常见源码,养成源码阅读习惯。
附带链接中有基础与进阶的源码解析,这里我仅仅列举常见的集合类。
附带:源码解析
第三阶段--JUC
JUC的详细解读。
在Java 5的时候,新增了java.util.concurrent(JUC)包,其中包括大量用于多线程编程的工具类,目的是为了更好的支持高并发任务,让开发者进行多线程编程时减少竞争条件和死锁的问题!
里面会设计到许多操作系统的知识,根据需要,自行调整顺序。
附带:
第四阶段--JVM
JVM是Java Virtual Machine的缩写。它是一种基于计算设备的规范,是一台虚拟机,即虚构的计算机。
通过JVM,Java实现了平台无关性,Java语言在不同平台运行时不需要重新编译,只需要在该平台上部署JVM就可以了。因而能实现一次编译多处运行。
附带:https://www.cnblogs.com/zwtblog/tag/JVM/
JVM-超全图
第五阶段--数据库
数据库有许多种,文章里面主要介绍的MySQL。MySQL是一个 关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。
MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
部分内容与下面的JavaWeb阶段重合。数据库是学习JavaWeb的一个前置,只有了解了数据库的操作和使用,我们才能更好地组织和管理网站应用产生的数据。
附带:
第六阶段--JavaWeb
我们学习JavaWeb的最终目的是为了搭建一个网站,并且让用户能访问我们的网站并在我们的网站上做一些事情。
设计到的网络知识,根据需要,自行调整顺序。
附带:https://www.cnblogs.com/zwtblog/tag/JavaWeb/
第七阶段--SSM
SSM(Spring+SpringMVC+Mybatis)阶段的学习,也算是成功出了Java新手村。
在JavaWeb阶段,我们已经学习了如何使用Java进行Web应用程序开发,我们现在已经具有搭建Web网站的能力,
但是,我们在开发的过程中,发现存在诸多的不便,我们发现虽然我们思路很清晰,知道如何编写对应的接口,但是这样的开发效率,实在是太慢了,并且对于对象创建的管理,存在诸多的不妥之处.
因此,我们要去继续学习更多的框架技术,来简化和规范我们的Java开发。
附带:
第八阶段--微服务
微服务(Microservice Architecture) 是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。
究竟什么是微服务呢?我们在此引用ThoughtWorks 公司的首席科学家 Martin Fowler 于2014年提出的一段话:
附带:
扩展--前端
前端基础学习
待更新…………
扩展--Linux
注意:本版块会涉及到操作系统
相关知识。
扩展--中间件
中间件这个术语第一次出现是 1968 年在德国加尔米施帕滕基兴举办的 NATO 软件工程大会结束后发表的一份报告中。
从广义上讲,中间件涵盖了从 Web 服务器,到身份验证系统,再到消息传递工具等一切内容。
中间件是为应用提供通用服务和功能的软件。数据管理、应用服务、消息传递、身份验证和 API 管理通常都要通过中间件。
中间件可以帮助开发人员更有效地构建应用。它就如同是应用、数据与用户之间的纽带。
常用的一些中间件:Redis,ElasticSearch,各种MQ…………
大致的效果是:
需要利用服务的人(前端写业务的),不需要知道底层逻辑(提供服务的)的具体实现,只要拿着中间件结果来用就好了。
在Web开发阶段,SSM阶段以及微服务阶段我们都会整合各种合适的中间件。
具体内容:https://www.cnblogs.com/zwtblog/tag/
基础--数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
例如:各种集合类………
基础--计算机网络
这个是重头戏。
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
附带:计算机网络
基础--计算机组成原理
介绍了计算机的基本组成原理和内部工作机制。
计算机组成原理-思维导图-地址:https://www.cnblogs.com/zwtblog/p/15266044.html
基础--操作系统
基础--设计模式
设计模式是针对软件设计中常见问题的工具箱, 其中的工具就是各种经过实践验证的解决方案。
即使你从未遇到过这些问题, 了解模式仍然非常有用, 因为它能指导你如何使用面向对象的设计原则来解决各种问题。
算法更像是菜谱: 提供达成目标的明确步骤。 而模式更像是蓝图: 你可以看到最终的结果和模式的功能, 但需要自己确定实现步骤。
__EOF__