上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 我们在使用 Tomcat 时,会在启动日志里看到这样的提示信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found 阅读全文
posted @ 2021-07-22 18:21 hochan_100 阅读(154) 评论(0) 推荐(1) 编辑
摘要: UNIX 系统下的 I/O 模型有 5 种:同步阻塞 I/O、同步非阻塞 I/O、I/O 多路复用、信号驱动 I/O 和异步 I/O。这些名词我们好像都似曾相识,但这些 I/O 通信模型有什么区别?同步和阻塞似乎是一回事,到底有什么不同?等一下,在这之前你是不是应该问自己一个终极问题:什么是 I/O 阅读全文
posted @ 2021-07-22 16:05 hochan_100 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 经过前面几期的学习,相信你对 Tomcat 的整体架构和工作原理有了基本了解。但是 Servlet 容器并非只有 Tomcat 一家,还有别的架构设计思路吗?今天我们就来看看 Jetty 的设计特点。 Jetty 是 Eclipse 基金会的一个开源项目,和 Tomcat 一样,Jetty 也是一个 阅读全文
posted @ 2021-07-20 15:21 hochan_100 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 上面这张图描述了组件之间的静态关系,如果想让一个系统能够对外提供服务,我们需要创建、组装并启动这些组件;在服务停止的时候,我们还需要释放资源,销毁这些组件,因此这是一个动态的过程。也就是说,Tomcat 需要动态地管理这些组件的生命周期。 在我们实际的工作中,如果你需要设计一个比较大的系统或者框架时 阅读全文
posted @ 2021-07-20 10:14 hochan_100 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 今天我们一起来看一下 Tomcat 的容器设计。先复习一下,上期我讲到了 Tomcat 有两个核心组件:连接器和容器,其中连接器负责外部交流,容器负责内部处理。具体来说就是,连接器处理 Socket 通信和应用层协议的解析,得到 Servlet 请求;而容器则负责处理 Servlet 请求。我们通过 阅读全文
posted @ 2021-07-19 16:20 hochan_100 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Tomcat 总体架构 我们知道如果要设计一个系统,首先是要了解需求。通过专栏前面的文章,我们已经了解了 Tomcat 要实现 2 个核心功能: 处理 Socket 连接,负责网络字节流与 Request 和 Response 对象的转化。 加载和管理 Servlet,以及具体处理 Request 阅读全文
posted @ 2021-07-19 15:29 hochan_100 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 异常:硬件、系统和应用的组合拳 一提到计算机当中的异常(Exception),可能你的第一反应就是 C++ 或者 Java 中的 Exception。不过我们今天讲的,并不是这些软件开发过程中遇到的“软件异常”,而是和硬件、系统相关的“硬件异常”。 当然,“软件异常”和“硬件异常”并不是实际业界使用 阅读全文
posted @ 2021-07-19 10:30 hochan_100 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 我们之前讲过,程序的链接,是把对应的不同文件内的代码段,合并到一起,成为最后的可执行文件。这个链接的方式,让我们在写代码的时候做到了“复用”。同样的功能代码只要写一次,然后提供给很多不同的程序进行链接就行了。 么说来,“链接”其实有点儿像我们日常生活中的标准化、模块化生产。我们有一个可以生产标准螺帽 阅读全文
posted @ 2021-07-16 11:18 hochan_100 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 介绍过 Java SDK 提供了 2 个有界队列:ArrayBlockingQueue 和 LinkedBlockingQueue,它们都是基于 ReentrantLock 实现的,在高并发场景下,锁的效率并不高,那有没有更好的替代品呢?有,今天我们就介绍一种性能更高的有界队列:Disruptor。 阅读全文
posted @ 2021-07-15 17:44 hochan_100 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 大部分程序员开发的都是应用系统。在开发应用系统的时候,我们遇到的性能瓶颈大部分都在 I/O 上。 讲解局部性原理的时候,我们一起看了通过把内存当作是缓存,来提升系统的整体性能。在讲解 CPU Cache 的时候,我们一起看了 CPU Cache 和主内存之间性能的巨大差异。 然而,我们知道,并不是所 阅读全文
posted @ 2021-07-14 13:57 hochan_100 阅读(114) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页