手把手带你写一个 MiniTomcat
郭屹
前 Sun Microsystems Java 研发工程师
1792 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 22 讲
开篇词 (1讲)
手把手带你写一个 MiniTomcat
15
15
1.0x
00:00/00:00
登录|注册

结束语|像地质学家一样奋力往下挖

你好,我是郭屹。
经过这段时间的学习,我们终于走到了课程的终点站。我们从一个最原始的 HttpServer 开始,一步步扩展,最后终于完成了我们自己的 MiniTomcat,搞清楚了 Tomcat 的内部运行原理。希望你能够在这个过程中体会到“蓦然回首,那人却在,灯火阑珊处”的喜悦。

软件地质学的堆积过程

就像我在课程开篇词里提到的,“软件是一个地质学堆积过程”,这句话其实是 Visual Basic 的发明人 Alan Cooper 说的。意思就是,软件结构跟地球的地层结构一样,是一个层级关系,一层一层地自下而上累积叠加的,越是底层的越古老越基础,而表层的各色风景都是依赖于底层来运行的。地质学家们每天拿着一把铁锹往下探索,来了解地球的奥秘。我们程序员也是这样的,一层一层往下挖,打开代码库去了解计算机系统的奥秘,了解上层那些异彩纷呈的应用软件底下究竟是靠什么运行的。
图片由AI生成
因此,一个好的程序员,不仅仅要学会搬砖,还要学会挖土。挖过土之后,就不会被各式各样层出不穷的表象所迷惑了。时髦技术如风花雪月,而基础技术如万古长空。

体系化学习

现代教育采用分科教育方式,把完整体系拆分成多个科目进行学习。就拿大学计算机软件专业来说,虽然提供了很多课程,但每个课程只专注于某一方面的知识,导致学习者很难把这些零散的知识串联起来。这种教育方式的问题在于,它没能系统地教授学生如何在计算机硬件基础上构建软件。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

这篇文章以“像地质学家一样奋力往下挖”为题,作者通过对软件地质学的堆积过程、体系化学习、软件结构的演进等方面进行了深入探讨。文章首先比喻软件结构为地质层次,强调了程序员需要像地质学家一样往下挖,深入了解计算机系统的奥秘。作者指出现代教育的分科方式导致学习者难以将零散的知识串联起来,呼吁学习者要系统地掌握计算机硬件基础上构建软件的方法。此外,文章还介绍了软件结构的演进过程,从原始的机器操作到操作系统的出现,再到各种工具和中间层的发展,最终形成了现代的软件地质学堆积过程。最后,作者表达了对技术的热爱和对基础技术的重视,呼吁程序员们在技术学习上要有所坚持和深耕。整篇文章以技术为主线,通过对软件发展历程和技术学习的思考,为读者呈现了一幅技术探索的全貌。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你写一个 MiniTomcat》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • __@Wong
    MiniDubbo,去年看完MiniSpring收获颇丰,期待老师更多课程

    作者回复: 多谢建议

    2024-03-20归属地:广东
  • 霍霍
    minimysql

    作者回复: 感谢回复!

    2024-03-05归属地:陕西
  • 飞翔
    minimq

    作者回复: 感谢留言。

    2024-02-24归属地:美国
  • peter
    请教老师几个问题: Q1:MiniX现在还被大学用来进行课程讲授吗? Q2:接下来能否讲讲MySQL? Q3:Linxx的desktop版本,是不是不如windows?为什么? Q4:互联网公司会用C++服务器吗? 感觉互联网公司用的大部分都是Java服务器,比如Tomcat等,是否有互联网公司使用C++服务器?另外,C++服务器比较有名的有哪些?

    作者回复: 我不清楚现在大学操作系统讲的什么,应该是理论,这些年大学越发偏向发表论文了。 接下来的选题没有确定,作为平台,应该有互补的考虑,MySQL课程,极客时间上已经有一个很热门的《MySQL实战 45讲》了。 每种操作系统都有自己的定位,Linux主要是用于服务器的,感觉主要是操作习惯已经被windows锁定了。 C++服务器很多的,web server都是,通信服务器,游戏服务器,这些都用C++开发,比较快。互联网公司用Java,我猜测是因为Java技术栈都是免费的。

    2024-01-22归属地:北京
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部