博客园 - coldridgeValley
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=54128
2021-12-22T19:23:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
feed.cnblogs.com
https://www.cnblogs.com/coldridgeValley/p/7795297.html
Mac上使用ide(idea)查看open-jdk源码 - coldridgeValley
起因 最近在学习Java NIO部分,虽然看了很多网上的‘教程’,但是感觉还不够深入,所以想自己深入看看源码。结果NIO这部分涉及很多未开源的代码。虽然ide通过反编译看到部分源码,但是代码看起来还是太混乱。作为替代方案,就是看open jdk的源码,这里就不过多介绍open jdk。一开始我是在网
2017-11-06T13:30:00Z
2017-11-06T13:30:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】起因 最近在学习Java NIO部分,虽然看了很多网上的‘教程’,但是感觉还不够深入,所以想自己深入看看源码。结果NIO这部分涉及很多未开源的代码。虽然ide通过反编译看到部分源码,但是代码看起来还是太混乱。作为替代方案,就是看open jdk的源码,这里就不过多介绍open jdk。一开始我是在网 <a href="https://www.cnblogs.com/coldridgeValley/p/7795297.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6926343.html
[NIO系列]NIO源码分析之Channel - coldridgeValley
NIO源码分析之Channel Channel又称为“通道”,文档中描述如下: A channel represents an open connection to an entity such as a hardware device, a file, a network socket, or a
2017-10-02T10:14:00Z
2017-10-02T10:14:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】NIO源码分析之Channel Channel又称为“通道”,文档中描述如下: A channel represents an open connection to an entity such as a hardware device, a file, a network socket, or a <a href="https://www.cnblogs.com/coldridgeValley/p/6926343.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6926335.html
[NIO系列]NIO源码分析之Buffer - coldridgeValley
在以前的一篇文章中我们介绍过IO模型 IO模型总结 http://www.cnblogs.com/coldridgeValley/p/5449758.html ,而在实际运用中多路复用IO使用很多,JDK早在1.4的时候就引入了NIO(new IO),今天我们来学习NIO基础组件之一的Buffer的
2017-10-02T10:11:00Z
2017-10-02T10:11:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】在以前的一篇文章中我们介绍过IO模型 IO模型总结 http://www.cnblogs.com/coldridgeValley/p/5449758.html ,而在实际运用中多路复用IO使用很多,JDK早在1.4的时候就引入了NIO(new IO),今天我们来学习NIO基础组件之一的Buffer的 <a href="https://www.cnblogs.com/coldridgeValley/p/6926335.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6734627.html
分享一次学习中遇到的问题 - coldridgeValley
背景 在自学 源码的时候遇到一个问题,咨询附近人无果后,在sf上提问,结果就是又长了一个知识点。 原文链接 "https://segmentfault.com/q/1010000007602886" 问题如下 DelayQueue 学习中遇到的疑问 环境:jdk1.8.0_73 在学习 的`take
2017-04-19T09:36:00Z
2017-04-19T09:36:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】背景 在自学 源码的时候遇到一个问题,咨询附近人无果后,在sf上提问,结果就是又长了一个知识点。 原文链接 "https://segmentfault.com/q/1010000007602886" 问题如下 DelayQueue 学习中遇到的疑问 环境:jdk1.8.0_73 在学习 的`take <a href="https://www.cnblogs.com/coldridgeValley/p/6734627.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6606271.html
Tomcat中的设计模式 - coldridgeValley
摘要:本文主要介绍了Tomcat中使用的设计模式。 今天我们来聊聊Tomcat运用到的设计模式。通过阅读之前的源码我们了解到Tomcat中使用了很多设计模式,例如我们在看代码中提到的工厂,模版等设计模式。今天这篇文章我们来总结下Tomcat中使用的常见的设计模式,通过学习Tomcat中使用设计模式的
2017-03-23T09:27:00Z
2017-03-23T09:27:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文主要介绍了Tomcat中使用的设计模式。 今天我们来聊聊Tomcat运用到的设计模式。通过阅读之前的源码我们了解到Tomcat中使用了很多设计模式,例如我们在看代码中提到的工厂,模版等设计模式。今天这篇文章我们来总结下Tomcat中使用的常见的设计模式,通过学习Tomcat中使用设计模式的 <a href="https://www.cnblogs.com/coldridgeValley/p/6606271.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6363892.html
Tomcat系列阅读说明以及个人感想 - coldridgeValley
从学习使用到现在接触tomcat的时间也有5、6个年头了。最初使用的时候就觉得使用简单,心中默默想搞清其中原理,结果一拖就拖了好几年,最终还是在2016年实现了诺言。 我本意本是记录下学习过程,记录下其原理,最多3、4篇文章就好了,但是接触下来才发现其复杂精巧的程度真的令人很痴迷。从最初的编译源码到
2017-02-03T18:23:00Z
2017-02-03T18:23:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】从学习使用到现在接触tomcat的时间也有5、6个年头了。最初使用的时候就觉得使用简单,心中默默想搞清其中原理,结果一拖就拖了好几年,最终还是在2016年实现了诺言。 我本意本是记录下学习过程,记录下其原理,最多3、4篇文章就好了,但是接触下来才发现其复杂精巧的程度真的令人很痴迷。从最初的编译源码到 <a href="https://www.cnblogs.com/coldridgeValley/p/6363892.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6363881.html
Tomcat对HTTP请求的处理(三) - coldridgeValley
摘要:本文主要介绍了tomcat内部处理HTTP请求的Container部分,即剩余的部分 上一篇文章讲到 对HTTP请求的处理,主要查看了 方法对 的处理填充。我们继续往下看: //代码清单1 // Parse and set Catalina and configuration specific
2017-02-03T17:37:00Z
2017-02-03T17:37:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文主要介绍了tomcat内部处理HTTP请求的Container部分,即剩余的部分 上一篇文章讲到 对HTTP请求的处理,主要查看了 方法对 的处理填充。我们继续往下看: //代码清单1 // Parse and set Catalina and configuration specific <a href="https://www.cnblogs.com/coldridgeValley/p/6363881.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6252781.html
Tomcat对HTTP请求的处理(二) - coldridgeValley
摘要:本文主要介绍了tomcat内部处理HTTP请求的Connector部分 在上一篇文章中已经介绍了tomcat在能处理HTTP请求之前所做的准备,今天这篇文章就开始正式开始介绍tomcat处理HTTP请求。在上篇文章说到下面代码: //代码清单1 在JIOEndpoint中 @Override
2017-01-05T08:13:00Z
2017-01-05T08:13:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文主要介绍了tomcat内部处理HTTP请求的Connector部分 在上一篇文章中已经介绍了tomcat在能处理HTTP请求之前所做的准备,今天这篇文章就开始正式开始介绍tomcat处理HTTP请求。在上篇文章说到下面代码: //代码清单1 在JIOEndpoint中 @Override <a href="https://www.cnblogs.com/coldridgeValley/p/6252781.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6234629.html
Tomcat对HTTP请求的处理(一) - coldridgeValley
摘要:本文主要介绍了tomcat在启动过程中为了处理HTTP请求之前所做的准备工作 在之前的文章中介绍了tomcat的启动,关闭过程,后续又陆陆续续介绍了tomcat内部很多机制以及机制的源码。大家都知道在tomcat启动完毕以后就可以对外提供服务了,如果访问 就可以访问tomcat的主页,那么我们
2016-12-29T11:45:00Z
2016-12-29T11:45:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文主要介绍了tomcat在启动过程中为了处理HTTP请求之前所做的准备工作 在之前的文章中介绍了tomcat的启动,关闭过程,后续又陆陆续续介绍了tomcat内部很多机制以及机制的源码。大家都知道在tomcat启动完毕以后就可以对外提供服务了,如果访问 就可以访问tomcat的主页,那么我们 <a href="https://www.cnblogs.com/coldridgeValley/p/6234629.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6203270.html
Tomcat中项目的部署以及其源码分析(二) - coldridgeValley
摘要:本文介绍在tomcat中部署项目的过程中涉及的类的源码。 在上一篇文章中,我们讲解了tomcat中项目部署的方式,以及tomcat中部署项目的时候的相关作用类。这篇文章我们就来查看下相关类 是如何部署项目的。 从前篇文章中我们知道部署项目是在 触发了其自身的 生命周期时间,然后作为其监听器的
2016-12-20T08:48:00Z
2016-12-20T08:48:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文介绍在tomcat中部署项目的过程中涉及的类的源码。 在上一篇文章中,我们讲解了tomcat中项目部署的方式,以及tomcat中部署项目的时候的相关作用类。这篇文章我们就来查看下相关类 是如何部署项目的。 从前篇文章中我们知道部署项目是在 触发了其自身的 生命周期时间,然后作为其监听器的 <a href="https://www.cnblogs.com/coldridgeValley/p/6203270.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6096154.html
Tomcat中项目的部署以及其源码分析(一) - coldridgeValley
摘要:本文介绍在tomcat中部署项目的几种方式以及内部相关的类。 众所周知在tomcat中部署一个项目是一件很轻松的事情,我们总结一下在tomcat中部署项目的四种方式。 第一种方式是我们最常见的,直接把war包丢到 目录下即可,或者将war包解压出来的文件夹放到 目录下也可以。 第二种方式是修改
2016-11-23T16:06:00Z
2016-11-23T16:06:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文介绍在tomcat中部署项目的几种方式以及内部相关的类。 众所周知在tomcat中部署一个项目是一件很轻松的事情,我们总结一下在tomcat中部署项目的四种方式。 第一种方式是我们最常见的,直接把war包丢到 目录下即可,或者将war包解压出来的文件夹放到 目录下也可以。 第二种方式是修改 <a href="https://www.cnblogs.com/coldridgeValley/p/6096154.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6096143.html
Tomcat的Session管理(三) - coldridgeValley
摘要: 与`StandardManager`的异同。 之前两篇关于session的文章主要讨论了session相关的创建、查询、过期处理。而我们查看源码的时候都是默认实现是 类,实际上实现也可以是 类,下面我们就查看下该类的相关方法。 我们都知道 代表的是持久化session的管理器。在 类定义中有
2016-11-23T16:03:00Z
2016-11-23T16:03:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要: 与`StandardManager`的异同。 之前两篇关于session的文章主要讨论了session相关的创建、查询、过期处理。而我们查看源码的时候都是默认实现是 类,实际上实现也可以是 类,下面我们就查看下该类的相关方法。 我们都知道 代表的是持久化session的管理器。在 类定义中有 <a href="https://www.cnblogs.com/coldridgeValley/p/6096143.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6016274.html
Tomcat的Session管理(二) - coldridgeValley
摘要:本文主要介绍了session的过期处理 在上一篇 "http://www.cnblogs.com/coldridgeValley/p/6016211.html" ")中,我们讲解了session相关的架构以及session的查找,创建。今天我们继续讲解一些session相关的内容。 prote
2016-10-31T08:18:00Z
2016-10-31T08:18:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文主要介绍了session的过期处理 在上一篇 "http://www.cnblogs.com/coldridgeValley/p/6016211.html" ")中,我们讲解了session相关的架构以及session的查找,创建。今天我们继续讲解一些session相关的内容。 prote <a href="https://www.cnblogs.com/coldridgeValley/p/6016274.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/6016211.html
Tomcat的Session管理(一) - coldridgeValley
摘要:本文目的在介绍tomcat中session相关的架构以及session的查询。 在Servlet开发中,Session代表用户会话,开发人员经常使用Session来临时存储一些信息,那么Session到底是什么,Tomcat中是如何对Session进行管理的,我们今天到源码中查看下。 查看相关
2016-10-31T08:06:00Z
2016-10-31T08:06:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】摘要:本文目的在介绍tomcat中session相关的架构以及session的查询。 在Servlet开发中,Session代表用户会话,开发人员经常使用Session来临时存储一些信息,那么Session到底是什么,Tomcat中是如何对Session进行管理的,我们今天到源码中查看下。 查看相关 <a href="https://www.cnblogs.com/coldridgeValley/p/6016211.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/5925012.html
集合框架总结 - coldridgeValley
Iterable: 集合实现的接口,实现该接口可以遍历该集合元素 Collection: 集合框架顶层接口,定义了一些集合最基本的动作,如添加,删除,包含等。 Set: 接口,继承Collection接口,一种不可以包含重复对象的集合。 List: 接口,继承Collection接口,相对于Set
2016-09-30T13:55:00Z
2016-09-30T13:55:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】Iterable: 集合实现的接口,实现该接口可以遍历该集合元素 Collection: 集合框架顶层接口,定义了一些集合最基本的动作,如添加,删除,包含等。 Set: 接口,继承Collection接口,一种不可以包含重复对象的集合。 List: 接口,继承Collection接口,相对于Set <a href="https://www.cnblogs.com/coldridgeValley/p/5925012.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/5925016.html
Tomcat中的CatainerBase类 - coldridgeValley
本篇文章主要讲解了ContainerBase类中的一些重要方法 在之前的文章中我们说过 中包含4种容器,分别是 ,`Context Host Engine CatainerBase`类,先看类图。 从图中可以看到 中4中容器都继承了一个共同的接口 ,`Container ContainerBase
2016-09-30T13:55:00Z
2016-09-30T13:55:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】本篇文章主要讲解了ContainerBase类中的一些重要方法 在之前的文章中我们说过 中包含4种容器,分别是 ,`Context Host Engine CatainerBase`类,先看类图。 从图中可以看到 中4中容器都继承了一个共同的接口 ,`Container ContainerBase <a href="https://www.cnblogs.com/coldridgeValley/p/5925016.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/5816417.html
Tomcat中组件的生命周期管理(三) - coldridgeValley
本文主要目的是自定义举例分析 内部生命周期管理的运作方式以及拿内部具体源码来具体分析 假设我们有一台电脑由主机(我们用cpu表示)和显示器构成,那么我们要运用上篇文章学到的内容,来管理整个电脑的启动和关闭,先看我们对类的定义。 在本例中我们对 类进行了部分删减,只保留了关于 和`stop`的相关事件
2016-08-28T15:57:00Z
2016-08-28T15:57:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】本文主要目的是自定义举例分析 内部生命周期管理的运作方式以及拿内部具体源码来具体分析 假设我们有一台电脑由主机(我们用cpu表示)和显示器构成,那么我们要运用上篇文章学到的内容,来管理整个电脑的启动和关闭,先看我们对类的定义。 在本例中我们对 类进行了部分删减,只保留了关于 和`stop`的相关事件 <a href="https://www.cnblogs.com/coldridgeValley/p/5816417.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/5816414.html
Tomcat中容器的pipeline机制 - coldridgeValley
本文主要目的是讲解tomcat中的pipeline机制,涉及部分源码分析 之前我们在前面的文章介绍过,tomcat中 有4种,分别是 ,`Host Context Wrapper Container StandardEngine StandardHost StandardContext Standa
2016-08-28T15:57:00Z
2016-08-28T15:57:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】本文主要目的是讲解tomcat中的pipeline机制,涉及部分源码分析 之前我们在前面的文章介绍过,tomcat中 有4种,分别是 ,`Host Context Wrapper Container StandardEngine StandardHost StandardContext Standa <a href="https://www.cnblogs.com/coldridgeValley/p/5816414.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/5816405.html
Tomcat中组件的生命周期管理(二) - coldridgeValley
本文主要是源码分析了 中生命周期管理中两个核心类 和`LifecycleBase`。 在上一篇文章中,我们将 中生命周期的相关类都进行了大致的讲解,从中我们可以看出生命周期功能中最重要的两个类分别是 和`LifecycleBase`,今天这篇文章就主要对这两个类的源码进行分析从而理解其实现原理。 L
2016-08-28T15:54:00Z
2016-08-28T15:54:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】本文主要是源码分析了 中生命周期管理中两个核心类 和`LifecycleBase`。 在上一篇文章中,我们将 中生命周期的相关类都进行了大致的讲解,从中我们可以看出生命周期功能中最重要的两个类分别是 和`LifecycleBase`,今天这篇文章就主要对这两个类的源码进行分析从而理解其实现原理。 L <a href="https://www.cnblogs.com/coldridgeValley/p/5816405.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/coldridgeValley/p/5816406.html
Tomcat中组件的生命周期管理(一) - coldridgeValley
本文主要的目的是介绍了 中所有组件的生命周期的概念以及整个生命周期的架构图。 在之前的文章中介绍了tomcat整体的启动关闭流程,从流程中可以看出tomcat在启动和关闭的过程中涉及的组件相当之多,也可以看出tomcat是一个高度模块化的web容器。那么tomcat在启动关闭的时候是如何统一的管理所
2016-08-28T15:54:00Z
2016-08-28T15:54:00Z
coldridgeValley
https://www.cnblogs.com/coldridgeValley/
【摘要】本文主要的目的是介绍了 中所有组件的生命周期的概念以及整个生命周期的架构图。 在之前的文章中介绍了tomcat整体的启动关闭流程,从流程中可以看出tomcat在启动和关闭的过程中涉及的组件相当之多,也可以看出tomcat是一个高度模块化的web容器。那么tomcat在启动关闭的时候是如何统一的管理所 <a href="https://www.cnblogs.com/coldridgeValley/p/5816406.html" target="_blank">阅读全文</a>