深入拆解Tomcat & Jetty -第一讲:java程序员如何快速成长

  • 我应该怎样成为高级的工程师或架构师

    回顾自己的过往,2017年7月13号参加实习,当时大三结束暑假,选择一家金融公司实习,方向是python方向。由于对java比较感兴趣,于是找另一家实习单位实习。入职后先从自动化测试入手,熟悉业务,慢慢转向java后端开发,从事业务开发,很多时候,都是代码的复制黏贴。实习到现在将近两年时间,对于一些底层实现还是不清楚。于是决定在极客时间上利用碎片化时间学习和成长。

    在这过程中自己也看过书,《java多线程编程核心技术》《Spring》《java并发编程实战》《深入理解java虚拟机》《Effective Java中文版》等书籍,但是看过之后,很少把看过的知识运用到项目中去,知道和会用之间存在偏差,很困惑。比如有些框架知道怎么去用,如果有人去问我原理,自己又说不出来,比如:浏览器的请求怎么和Spring代码联系起来。于是发现自己知识体系在广度和深度上都有问题。

  • 独挡一面的能力离不开知识的广度和能力。

    技术的广度体现在知识是成体系的,从前端到后端,从应用层面到操作层面。从软件到硬件。从开发测试部署运维。

  • 方法

    计算机基础,基础扎实了,学习这些新技术才更有效率。但是基础知识也很多,操作系统、算法、网络....学久了容易枯燥,你会怀疑这些知识到底有没有用,难以坚持。这个时候可以读读一些经典的,优秀的源代码,比如源码中用到了高并发技术、用到了Java的各种高级玩法、通用的设计思想,在这个过程中,你会发现自己在基础上还有哪些薄弱点,再查漏补缺,建立起知识体系。但最终要落实你的职业生涯上来,比如这个时候你基础扎实了,深度和广度都有了一定的积累,你可以选择跳槽,也可以换个项目组,因为最终你还是需要通过有挑战、有技术深度的项目来锤炼自己,才能让你的简历更好看

  • tomcat和jetty在web开发中的位置

    随着学习的深入,我还发现 Tomcat 和 Jetty 中用到不少java高级技术,比如java多线程并发编程、Socket网络编程以及反射。现在的状态经常会背一些面试题,为了面试而面试。知道了,但是很难转化为自己的能力,我们需要知道在什么场景下使用这些技术。

  • 系统设计能力

  • tomcat和jetty作为工业界的中间件,具备哪些优点 面向接口编程、组件化、骨架抽象类、一键式启停、对象池技术以及各种设计模式,比如模版方法、观察者模式、责任链模式

  • 回答:

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

  • 问题2

工作中项目使用spring,但是都是现成的配置,并不知道其实现以及配置的原理,原来Servlet是Java Web的原点,期待跟随老师同学一起夯实这方面,能够解决这些疑问并具备独立开发的能力。

  • 问题3

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容器

总之弄懂

成长的道路没有捷径,不仅需要上进心和耐心,还要保持对知识的好奇行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值