• L真人 置顶
    2019-05-14
    学习的时候感觉一直卡在一个level,上不去了
           不知道老师有没有过相似经历
          还有就是老师当年是怎么平衡工作和学习的 如果工作都是增删改查,没有高并发,没有各种新技术,老师会怎么去做

    作者回复: 你说的这个情况很典型,大多数技术人都可能会经历这个瓶颈期,可能你做的项目比较简单或者技术比较陈旧,得不到锻炼的机会,但每天又比较忙,这个时候要勇于打破舒适区,挤出时间来学习一些新东西,学什么呢?五花八门的技术太多了,但是呢这些技术都不开计算机基础,基础扎实了,学习这些新技术才更有效率。但是基础知识也很多,操作系统、算法、网络....学久了容易枯燥,你会怀疑这些知识到底有没有用,难以坚持。这个时候可以读读一些经典的,优秀的源代码,比如源码中用到了高并发技术、用到了Java的各种高级玩法、通用的设计思想,在这个过程中,你会发现自己在基础上还有哪些薄弱点,再查漏补缺,建立起知识体系。但最终要落实你的职业生涯上来,比如这个时候你基础扎实了,深度和广度都有了一定的积累,你可以选择跳槽,也可以换个项目组,因为最终你还是需要通过有挑战、有技术深度的项目来锤炼自己,才能让你的简历更好看..

     1
     37
  • 发条橙子 。
    2019-05-14
    老师终于等到你 , 好早就在期待 tomcat课程了 。

    老师 , 在我原来的理解 , spring是一种 servlet , 而 tomcat&jetty 是servlet 容器 ,就是负责给类似spring这种servlet提供一个环境去运行的 。老师我这么理解对么 ?

    但是有了 servlet环境还不够 ,还要有个web环境 , 这时候tomcat自己可以作为一个独立的web容器 。 早期也可以兼容Apache web容器 。 但是具体 web容器和servlet容器他们俩的分工界限在哪里我也一直不清楚 , 一名刚毕业不久的程序员 ,努力跟着老师的脚步去学习 😁
    展开

    作者回复: 橙子你好,你前面的理解是对的。Apache是一个HTTP服务器,而Tomcat或者Jetty是一个HTTP服务器+Servlet容器。HTTP服务器与Servlet容器的功能界限是:你可以把HTTP服务器想象成前台的接待,负责网络通信和解析请求,而Servlet容器是业务部门,负责处理业务请求。

    
     17
  • Cy190622
    2019-05-14
    老师,你好。很幸运能够学习您的课程。我也是一个web开发者,平常工作也是cv模式。感觉自己好菜,尝试着去看Tomcat和Servlet的书籍和源码,总是感觉浮光掠影。这个怎么办才好?

    还有一些问题,希望老师能够解答一下,感激不尽:
    1.现在的各种中间价、框架都是非常多,对想进阶而言。老师建议阅读和深入学习那些框架和中间件
    2.阅读源码时不时会绕进去,不是很有全局性,所以请教一下阅读源码时候的一些技巧。
    展开

    作者回复: 1,我觉得可以从Tomcat/Jetty开始,因为它们跟Web开发紧密相关,一举两得,既学了技术,又弄懂了Web的原理~
    2.是的,看源码很容易迷失在细节里无法自拔:),所以要抓住主线,分析源码之前看看它的主要功能有哪些,比如对于Tomcat、Jetty来说,主线就是启停、请求处理过程和类加载。 另外还是需要把源码跑起来,打断点调试。

    
     7
  • QQ怪
    2019-05-13
    终于等到老师的分享了,打卡ing

    作者回复: 😄谢谢

     1
     7
  • Vincent
    2019-05-17
    tomcat其实是web服务器和Servlet容器的结合,可以接受网络http请求并解析成Servlet规范的请求对象,响应对象。比如HttpServletRequest对象是tomcat提供的,Servlet是规范,Tomcat是实现规范的Servlet容器,Springmvc是处理Servlet请求的应用。这样理解对吗

    作者回复: 对的,SpringMVC中的DispatcherServlet实现了Servlet接口,而Tomcat负责加载和调用这个DispatcherServlet。

    同时DispatcherServlet有自己的IOC容器,叫做SpringMVC容器,这个容器负责管理SpringMVC相关的Bean,比如Controller和ViewResolver等等。

    那Spring中还有其他的Bean比如Service和DAO等,他们是由全局的Spring IOC容器来管理的,因此实际上Spring中有两个IOC容器。

    
     5
  • 凌霄
    2019-05-14
    可以结合深入剖析tomcat这本书,基于tomcat4,5每一章节由浅入深怎么开发一个web容器。
    
     5
  • -W.LI-
    2019-05-15
    老师好!阅读源码时没法看到全貌,网上找的资料大多没有调理。英语又不好都是连懵带猜的看,往往花了半天可以只看了一个类。进度很慢很容易坚持不下去。想听听老师的起步阶段是怎么走过来了。

    作者回复: 主要是抓主线、理清主要功能,再加断点调试,初期不要太在意细节,后期再细细品味设计和编码。

    
     4
  • 老王的老李头
    2019-05-13
    心情不好,听一节,充满期待。我希望把tomcat和jetty当成最基础知识来充实自己,知道它能用,好用,还要知道它为什么会好用。
    
     4
  • 李青
    2019-05-30
    老师,首先谢谢你的分享,自己的收益很大。
    总结下自己目前的问题:
    1.知道知识点,但是不知道如何应用。
    2.自己的系统设计能力不行。
    3.知识没有体系化。
    从老师出得到的解决方案: 站在巨人的肩膀上学习一些优秀的开源系统。感受下大牛是如何思考问题的。
    还想请教老师问题,什么是知识体系化,老师在学习的过程中如何使自己的知识体系化的?
    展开

    作者回复: 直观一点说,首先你需要有扎实的基础,包括java语言,操作系统,计算机网络,设计模式和数据结构算法。

    然后就是前端后端的各种技术框架中间件:比如JS,Ajax,HTML,AngularJS,React,NodeJS,Nginx,Tomcat/Jetty,Spring,SpringMVC,Spring Boot,Spring Cloud,Mybatis,Mycat,Mysql,Redis,Kafka,mongoDB,ES…… 你不需要精通每种技术,但是你大概知道它们是做什么的,知道按照什么套路把它们组装成一个后台系统,以及信息以一种什么形式在它们中间流转。

    
     3
  • 黄豆豆
    2019-05-16
    我也遇到了置顶留言的那种情况。涉及不到高级部分,长期停留在增删改查以及业务层面。看了老师的解答,心中有了一个大致的方向。选择了这门课,期待同老师一起成长。
    
     3
  • 电光火石
    2019-05-15
    老师后面能不能也顺带讲讲undertow,之前做过测试,undertow的性能很快,想了解一下他们的不同,谢谢啦

    作者回复: 之前没安排这块内容,只能通过加餐~

    
     3
  • Monday
    2019-05-13
    一直想深入到tomcat这只喵的底层:包括但不仅限于tomcat的底层数据结构和算法、设计模式、源码、socket编程、并发编程等等等等。以前有尝试过好几次细究tomcat,但总之还是没坚持下来。今天终于等到你。希望和大家一起学习成长。
      
    在此立下flag:
    保持这份学习的热情,定下学透tomcat的目标,坚持不落队读本专栏的每一篇,不懂就问,最后产出-调优公司某一套基于tomcat部署的环境。

    作者回复: 我会循序渐进,逐步深入,你有这样的热情,我相信肯定跟的上的,加油 👍

    
     3
  • 疯狂咸鱼
    2019-07-20
    老师,能用纯java代码实现一个http服务器么

    作者回复: 可以的,Tomcat和Jetty都是纯Java

    
     2
  • 吕
    2019-05-28
    spring并不一定非要运行在web项目啊,为什么说spring也是个servlet呢?想不明白

    作者回复: SpringMVC实现了Servlet接口

    
     2
  • 徐云天
    2019-05-13
    不管你的目标是什么,实力才是王中王。只有不断累积才能有所突破。

    作者回复: 对的

    
     2
  • 欢喜哥
    2019-10-07
    老师,想问一下,您的课程,看哪个版本的tomcat源码比较适合?

    作者回复: 看最新版9.0

    
     1
  • X中倪
    2019-09-25
    老师啊 我有一个很 low很 low的问题 明明都能通过jar直接运行 怎么还要tomcat 或者jetty jboss等容器呢

    作者回复: jar直接运行,总要接收网络请求吧,那谁来帮你处理网络读取,解析请求,发送响应这些工作呢

    
     1
  • Tom
    2019-05-29
    老师您好,有个问题没太明白,为什么servlet可以在tomcat中运行,自己写main方法,怎样让servlet运行?

    作者回复: Servlet没有main方法,只有一个“service”接口,Tomcat负责调用这个接口。

    程序员一般不会直接调用Servlet的方法,如果想试一下,可以new一个Servlet,然后直接调它的service方法,但是这个方法有两个参数:HttpServletRequest和HTTPServletResponse,这两个参数也是Tomcat准备好的,如果你想直接调Servlet的service方法,你得构造这两个参数。

    
     1
  • Knight²º¹⁸
    2019-05-20
    我现在是比多数人了解多一点,但又没有那一小撮人了解的透彻,上也上不去,下也下不去。

    作者回复: 建议你在深度上下功夫,读读经典源码,学习一下大神们的思考方式。

    
     1
  • Piatek
    2019-05-18
    老师说的真的是我内心想知道的tomcat,也会背一些设计模式,这个很重要。但是我没有老师那样去钻研它,就还是停留在使用。看到这门课的出现,没有犹豫就拿下了,感觉一定会有所收获,谢谢老师

    作者回复: 嗯嗯

    
     1
我们在线,来聊聊吧