摘要: 如果你想看 Tomcat 源码但又无从入手,不妨从这个项目开始,代码量不多,但包含了 Tomcat 的核心处理流程,并且源码中 有相当丰富的注释 。相信通过此项目你能了解: NIO 基本编程、HTTP 协议的本质、基本的单元测试 Tomcat 应用部署、自定义类加载器的实现、Servlet 的管理和阅读全文
posted @ 2019-07-04 13:29 wskwbog 阅读(296) 评论(0) 编辑
摘要: 之前在整理 "《学习排序算法,结合这个方法太容易理解了》" 这篇文章时,发现了一个用 Java Swing 编写的可视化算法工程,真心不错!包含了常用数据结构和算法的动态演示,先来张图感受下: 可以看到既有基本数据结构栈、队列基于数组和链表的元素插入和删除的动态演示,又有二叉查找树、平衡二叉树、B 阅读全文
posted @ 2019-06-12 12:52 wskwbog 阅读(91) 评论(0) 编辑
摘要: HashMap 有一个不足之处就是在 迭代 元素时与 插入顺序不一致 。而大多数人都?#19981;棟此?#24207;做某些事情,所以,LinkedHashMap 就是针对这一点对 HashMap 进行扩展,主要新增了 「两种迭代方式」 : 按插入顺序 保证迭代元素的顺序与插入顺序一致 按访问顺序 一种特殊的迭代顺序,从最阅读全文
posted @ 2019-06-10 09:46 wskwbog 阅读(266) 评论(0) 编辑
摘要: 排序 ?#19988;?#20010;经典的问题,它以一定的顺序对一个数组或列表中的元素进行重新排序。而排序算法也是各有千秋,每个都有自身的优点和局限性。虽然这些算法平常根本就不用自己去编写,但作为一个有追求的程序?#20445;?#36824;是要了解它们从 不同角度 解决排序问题的思想。 学习算法是枯燥的,那怎么高效的理解它的原理呢?显然,如果以阅读全文
posted @ 2019-06-03 09:43 wskwbog 阅读(1591) 评论(19) 编辑
摘要: Tomcat 集群是当单台服务器达到?#38405;?#29942;?#20445;?#36890;过横向扩展的方式提高整体系统?#38405;?#30340;有效手段。Nginx ?#19988;?#20010;高?#38405;?#30340; HTTP 和反向代理 web 服务器,可以通过简单的配置实现 Tomcat 集群的负载均衡。 本文使用的 Tomcat 是 8.5.35 版本,Nginx 是 1.14.2 版本。阅读全文
posted @ 2019-05-28 09:25 wskwbog 阅读(467) 评论(1) 编辑
摘要: HashMap 可以说是使用频?#39318;?#39640;的处理键值映射的数据结构,它不保证插入顺序,允许插入 null 的键和值。本文采用 JDK8 中的源码,深入分析 HashMap 的原理、实现和优化。首发于微信公众号 顿悟源码 . 1. 基本结构 HashMap 基于散列表实现,使用 拉链法 处理碰撞,在 JDK阅读全文
posted @ 2019-05-22 18:10 wskwbog 阅读(341) 评论(0) 编辑
摘要: 大量的 Web 应用都有 安全 相关的需求,正因如此,Servlet 规范建议容器要有满足这些需求的机制和基础设施,所以容器要对以下安全特性予以支持: 身份验证:验证授权用户的用户名和密码 资源访问控制?#21512;?#21046;某些资源只允许部分用户访问 数据完整性:能够证明数据在传输过程中未被第三方修改 机密性或数据阅读全文
posted @ 2019-05-20 08:45 wskwbog 阅读(288) 评论(0) 编辑
摘要: HTTP ?#19988;?#31181; 无状态 通信协议,每个请求之间相互独立,服务器不能识别 曾经来过 的请求。而对于 Web 应用,它的活动都是 依?#30340;?#20010;状态 的,比如用户登录,此?#31508;?#29992; HTTP 就需要它在一次登录请求后,有为后续请求提供已登录信息的能力。本文首发于公众号 顿悟源码 . 解决办法就是使用 Cooki阅读全文
posted @ 2019-05-13 08:36 wskwbog 阅读(411) 评论(2) 编辑
摘要: Tomcat 内部定义了多个 ClassLoader,以便应用和容器访问不同存储库中的类和资源,同时达到应用间类隔离的目的。本文首发于公众号: 顿悟源码 。 1. Java 类加载机制 类加载就?#21069;?#32534;译生成的 class 文件,加载到 JVM 内存中(永久代/元空间)。 类加载器之所?#38405;?#23454;现 类隔离阅读全文
posted @ 2019-05-09 08:50 wskwbog 阅读(365) 评论(1) 编辑
摘要: Tomcat 中的请求都是由 Servlet 处理,静态资源也不例外。在默认的 web.xml 中,配置了一个 DefaultServlet 用于处理静态资源,它支持缓存和?#31995;?#32493;传。 DefaultServlet 的基本处理过程如下: 1. 查?#26131;?#28304;是否存在缓存 2. 检查是否满足可选 If 头域指阅读全文
posted @ 2019-05-07 08:40 wskwbog 阅读(593) 评论(0) 编辑
耐克篮球多少钱
广西11选5遗漏 福建快三开奖直播现场直播 曾道人挂历诗 嘻嘻双色球17o96期分析 恒和国际电子游艺 体彩刮刮乐直播app 中国五子棋小游戏 彩票软件中奖 黑龙江22选5中奖结果 上海二八杠技巧 吉林十一选五走行图 香港六合彩免费透码 北单专家推荐预测 足彩半全场的购买经验 捕鱼方法有哪些