开篇词 | Java程序员如何快速成长?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
Java程序员如何快速成长?本文作者分享了自己的成长经历,提出了快速成长的关键在于技术的广度和深度。作者以深入研究Tomcat和Jetty为例,阐述了如何通过学习优秀的开源系统来提升自己的技术能力。文章从基础知识学习、深入理解Tomcat和Jetty的架构和设计思路,到实战经验分享,全面指导读者如何通过学习这些技术来提升自己的能力。通过深入了解Tomcat和Jetty,读者可以掌握Java Web开发的精髓,提升自己的设计能力和解决技术难题的能力。文章内容丰富,涵盖了技术的广度和深度,对于想要在Java Web开发领域快速成长的读者具有很高的参考价值。
2019-05-1391人觉得很赞给文章提建议
《深入拆解 Tomcat & Jetty 》,新⼈⾸单¥68
全部留言(73)
- 最新
- 精选
- 木子的昼夜置顶学习的时候感觉一直卡在一个level,上不去了 不知道老师有没有过相似经历 还有就是老师当年是怎么平衡工作和学习的 如果工作都是增删改查,没有高并发,没有各种新技术,老师会怎么去做
作者回复: 你说的这个情况很典型,大多数技术人都可能会经历这个瓶颈期,可能你做的项目比较简单或者技术比较陈旧,得不到锻炼的机会,但每天又比较忙,这个时候要勇于打破舒适区,挤出时间来学习一些新东西,学什么呢?五花八门的技术太多了,但是呢这些技术都不开计算机基础,基础扎实了,学习这些新技术才更有效率。但是基础知识也很多,操作系统、算法、网络....学久了容易枯燥,你会怀疑这些知识到底有没有用,难以坚持。这个时候可以读读一些经典的,优秀的源代码,比如源码中用到了高并发技术、用到了Java的各种高级玩法、通用的设计思想,在这个过程中,你会发现自己在基础上还有哪些薄弱点,再查漏补缺,建立起知识体系。但最终要落实你的职业生涯上来,比如这个时候你基础扎实了,深度和广度都有了一定的积累,你可以选择跳槽,也可以换个项目组,因为最终你还是需要通过有挑战、有技术深度的项目来锤炼自己,才能让你的简历更好看..
2019-05-14299 - 发条橙子 。老师终于等到你 , 好早就在期待 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容器是业务部门,负责处理业务请求。
2019-05-14254 - Vincenttomcat其实是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容器。
2019-05-1731 - Cy190622老师,你好。很幸运能够学习您的课程。我也是一个web开发者,平常工作也是cv模式。感觉自己好菜,尝试着去看Tomcat和Servlet的书籍和源码,总是感觉浮光掠影。这个怎么办才好? 还有一些问题,希望老师能够解答一下,感激不尽: 1.现在的各种中间价、框架都是非常多,对想进阶而言。老师建议阅读和深入学习那些框架和中间件 2.阅读源码时不时会绕进去,不是很有全局性,所以请教一下阅读源码时候的一些技巧。
作者回复: 1,我觉得可以从Tomcat/Jetty开始,因为它们跟Web开发紧密相关,一举两得,既学了技术,又弄懂了Web的原理~ 2.是的,看源码很容易迷失在细节里无法自拔:),所以要抓住主线,分析源码之前看看它的主要功能有哪些,比如对于Tomcat、Jetty来说,主线就是启停、请求处理过程和类加载。 另外还是需要把源码跑起来,打断点调试。
2019-05-1421 - 李青老师,首先谢谢你的分享,自己的收益很大。 总结下自己目前的问题: 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…… 你不需要精通每种技术,但是你大概知道它们是做什么的,知道按照什么套路把它们组装成一个后台系统,以及信息以一种什么形式在它们中间流转。
2019-05-3015 - XxxxxxxMr老师啊 我有一个很 low很 low的问题 明明都能通过jar直接运行 怎么还要tomcat 或者jetty jboss等容器呢
作者回复: jar直接运行,总要接收网络请求吧,那谁来帮你处理网络读取,解析请求,发送响应这些工作呢
2019-09-2510 - 尔冬橙老师,能用纯java代码实现一个http服务器么
作者回复: 可以的,Tomcat和Jetty都是纯Java
2019-07-209 - -W.LI-老师好!阅读源码时没法看到全貌,网上找的资料大多没有调理。英语又不好都是连懵带猜的看,往往花了半天可以只看了一个类。进度很慢很容易坚持不下去。想听听老师的起步阶段是怎么走过来了。
作者回复: 主要是抓主线、理清主要功能,再加断点调试,初期不要太在意细节,后期再细细品味设计和编码。
2019-05-157 - QQ怪终于等到老师的分享了,打卡ing
作者回复: 😄谢谢
2019-05-1327 - Tom老师您好,有个问题没太明白,为什么servlet可以在tomcat中运行,自己写main方法,怎样让servlet运行?
作者回复: Servlet没有main方法,只有一个“service”接口,Tomcat负责调用这个接口。 程序员一般不会直接调用Servlet的方法,如果想试一下,可以new一个Servlet,然后直接调它的service方法,但是这个方法有两个参数:HttpServletRequest和HTTPServletResponse,这两个参数也是Tomcat准备好的,如果你想直接调Servlet的service方法,你得构造这两个参数。
2019-05-296