<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iteye_21061的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iteye_21061</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iteye_21061]]></copyright><item><title><![CDATA[log4j为不同的level设置不同的输出]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81920430</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81920430</guid><author>iteye_21061</author><pubDate>Fri, 20 Aug 2010 14:46:36 +0800</pubDate><description><![CDATA[举例的情况：
debug level的信息——输出到console
error level的信息——输出到文件中
 
log4j的配置信息：
 
参数Threshold，举例Threshold设置成warn，那么低于warn的level，都可以在用这个appender输出。
    &amp;lt;appender name=&quot;OutInfo&quot; class=&quot;org.apache.log4j...]]></description><category></category></item><item><title><![CDATA[netbeans字体设置(收藏)]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81917254</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81917254</guid><author>iteye_21061</author><pubDate>Mon, 09 Aug 2010 12:25:32 +0800</pubDate><description><![CDATA[Eclipse用户总是在NetBeans炫耀Eclipse是多么的漂亮，尤其会说NetBeans的字体丑陋，NetBeans的字体太小，编辑器里的字体不好看，字体边楞有锯齿等等。坦白的说，这也是我刚从Eclipse转到NetBeans的第一印象。其实由于NetBeans使用Swing构建界面，这使得它缺省的使用Swing的缺省配置，尤其是中文，就更不敢恭维。其实NetBeans提供了强大的配置工具...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-14 tomcat的container设计]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81899827</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81899827</guid><author>iteye_21061</author><pubDate>Thu, 05 Aug 2010 14:52:43 +0800</pubDate><description><![CDATA[                 实现
container←-----containerBase
    ↑                          ↑ 
    |继承                    |继承
    |                          |
    |         实现           |
Engine←-----—-- St...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-13 处理request的Valve和Valve的链表Pipeline]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81899720</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81899720</guid><author>iteye_21061</author><pubDate>Thu, 05 Aug 2010 11:01:42 +0800</pubDate><description><![CDATA[tomcat打开endpoint的监听对通过某种协议，通常下是http的信息进行解析，组装成request，接着给Http11Protocol（ProtocolHandler）和Http11Processor处理。
adapter.service(request, response);
 
connector.getService().getContainer().getPipeline()...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-12 Enumeration枚举]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81897545</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81897545</guid><author>iteye_21061</author><pubDate>Thu, 29 Jul 2010 15:02:57 +0800</pubDate><description><![CDATA[Enumeration枚举，就是要把内容没有重复的遍历，而且不破坏原有的存储空间。在http headers的实现中，tomcat实现了一些枚举类。
Enumerate the distinct header names. Each nextElement() is O(n)
 
class NamesEnumerator implements Enumeration&amp;lt;String&amp;g...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-11 tomcat对http协议的实现]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81896954</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81896954</guid><author>iteye_21061</author><pubDate>Wed, 28 Jul 2010 11:11:09 +0800</pubDate><description><![CDATA[Implementation of InputBuffer which provides HTTP request header parsing as well as transfer decoding
 
socket能获得客户端发来的http协议，tomcat需要对http协议(传输的是byte流)进行解析，例如获得http的method,protocol,URI等信息.
既然是对byt...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-10 线程池ThreadPoolExecutor]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81896372</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81896372</guid><author>iteye_21061</author><pubDate>Mon, 26 Jul 2010 14:55:56 +0800</pubDate><description><![CDATA[tomcat开启socket的accept线程后，其实要做的主要工作是交给worker线程去完成的，这其中使用了线程池的技术。
如：
try {
            SocketWrapper&amp;lt;Socket&amp;gt; wrapper = new SocketWrapper&amp;lt;Socket&amp;gt;(socket);
            wrapper.setKeepAlive...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-9 tomcat对ServerSocket的封装和使用]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81896251</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81896251</guid><author>iteye_21061</author><pubDate>Mon, 26 Jul 2010 09:48:37 +0800</pubDate><description><![CDATA[tomcat中ServerSocket线程监听是否有socket连接，如果有就转而处理。这个过程类似于你向tomcat发送一个URL请求，实质这个请求转换成http协议，通过socket发出来。
先看ServerSocket的封装主要为
public abstract class ServerSocketFactory implements Cloneable
 
class Defaul...]]></description><category></category></item><item><title><![CDATA[java多态集锦]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81895719</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81895719</guid><author>iteye_21061</author><pubDate>Fri, 23 Jul 2010 17:23:59 +0800</pubDate><description><![CDATA[多态带来的方法调用顺序
(1) 方法调用优先级由高到低：
        this.method(O)---&amp;gt;super.method(O)----&amp;gt;
        thismethod((super)0)-----&amp;gt;super.method((super)0)
 
 

(2)SupeerClass sub = new SubClass():情况的讨论
   ...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-8 生命周期lifecycle和监听listener]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81895262</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81895262</guid><author>iteye_21061</author><pubDate>Thu, 22 Jul 2010 14:36:10 +0800</pubDate><description><![CDATA[每个应用都有生命周期lifecycle，可能包括init,start,stop,destroy等更多。针对生命周期的变化，如何做变化作出反应，tomcat在设计的时候，把时间监听listener结合起来，所以listener取的名字是lifecyclelistener，对lifecycle进行监听。
总的最底层的来自两个interface的设计Lifecycle和LifecycleListene...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-7 server初始化中的JMX(DynamicMBean)再续]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81894886</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81894886</guid><author>iteye_21061</author><pubDate>Wed, 21 Jul 2010 14:42:41 +0800</pubDate><description><![CDATA[这里说下tomcat对DynamicMBean的实现和封装。利用tomcat包，可以轻松实现将自己的对象注册为MBeans。
看个例子就明白了。
package com.MBean.test;

import org.apache.tomcat.util.modeler.BaseNotificationBroadcaster;

public class DyMBeanObj exte...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-6 server初始化中的JMX(DynamicMBean)续]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81894648</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81894648</guid><author>iteye_21061</author><pubDate>Tue, 20 Jul 2010 18:01:53 +0800</pubDate><description><![CDATA[先说JMX，The JMX technology provides a simple, standard way of managing resources
 such as applications, devices, and services.
JMX是为了管理资源产生的，这个资源包括应用、设备和服务等。取个例子，如果你写了一个应用，初始化了20个的数据连接数，当你的应用还在跑的时候，发觉...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-5 server初始化中的JMX(DynamicMBean)]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81894641</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81894641</guid><author>iteye_21061</author><pubDate>Tue, 20 Jul 2010 17:27:08 +0800</pubDate><description><![CDATA[Server的中的初始化基本核心在StandardServer中，下面的代码
    protected void initInternal() throws LifecycleException {
        
        super.initInternal();

        // Register global String cache
        // No...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-4 server初始化背后getServer().init()]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81894247</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81894247</guid><author>iteye_21061</author><pubDate>Mon, 19 Jul 2010 22:52:25 +0800</pubDate><description><![CDATA[getServer().init()其实就是调用server的init函数，但是server是个interface，还要看其在new的时候，这个就是多态。
 
        digester.addObjectCreate(&quot;Server&quot;,
                                 &quot;org.apache.catalina.core.StandardServer&quot;...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-3 使用Digester读取xml文件实例化server]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81894072</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81894072</guid><author>iteye_21061</author><pubDate>Mon, 19 Jul 2010 14:19:29 +0800</pubDate><description><![CDATA[接下来tomcat要load了，看下面一些程序片段


public void load() {

        long t1 = System.nanoTime();
        initDirs();
        initNaming();
        Digester digester = createStartDigester();
        .......]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-2 类加载ClassLoader]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81893631</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81893631</guid><author>iteye_21061</author><pubDate>Sat, 17 Jul 2010 18:39:28 +0800</pubDate><description><![CDATA[tomcat在启动的时候使用了三个类加载器


    private void initClassLoaders() {
        try {
            commonLoader = createClassLoader(&quot;common&quot;, null);
            if( commonLoader == null ) {
               ...]]></description><category></category></item><item><title><![CDATA[tomcat 7 源码分析-1 关于读取properties及注册系统properties]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81893341</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81893341</guid><author>iteye_21061</author><pubDate>Fri, 16 Jul 2010 15:32:20 +0800</pubDate><description><![CDATA[Tomact的启动开始于Bootstrap.java，在其init()中，首先要做的就是


        setCatalinaHome();
        setCatalinaBase();
initClassLoaders();

 目的就是将tomcat启动的环境设置好，在进行classloader。


  private void setCatalinaHom...]]></description><category></category></item><item><title><![CDATA[C++对象的复制——具有指针成员的类的对象的复制 ]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81796439</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81796439</guid><author>iteye_21061</author><pubDate>Wed, 02 Dec 2009 17:12:55 +0800</pubDate><description><![CDATA[//smartvessel@gmail.com 

class Table{
Name * p;
size_t sz;

publish:

Table(size_t s = 15){p = new Name[sz=s];}
~Table(){delete[]p ;}

......
}

void h()
{
Table t1;
Table t2 = t1;
...]]></description><category></category></item><item><title><![CDATA[Boost asio Tutorial-例子Timer.5 make error ]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81795479</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81795479</guid><author>iteye_21061</author><pubDate>Sat, 28 Nov 2009 23:41:37 +0800</pubDate><description><![CDATA[Boost asio Tutorial 
例子Timer.5 - Synchronising handlers in multithreaded programs编译错误
作者:smartvessel@gmail.com
环境：cygwin+boost1.41.0
 
报错信息：
make all 
Building file: ../src/boosthello.cpp
Invo...]]></description><category></category></item><item><title><![CDATA[Eclipse+Cygwin+GCC+Boost 使用Asio的环境配置 ]]></title><link>https://blog.youkuaiyun.com/iteye_21061/article/details/81795056</link><guid>https://blog.youkuaiyun.com/iteye_21061/article/details/81795056</guid><author>iteye_21061</author><pubDate>Thu, 26 Nov 2009 21:15:08 +0800</pubDate><description><![CDATA[Eclipse+Cygwin+GCC+Boost 使用Asio的环境配置
作者：smartvessel@gmail.com
 
例子取自Boost的文档
 
#include &amp;lt;boost/asio.hpp&amp;gt;
#include &amp;lt;boost/date_time/posix_time/posix_time.hpp&amp;gt;
using namespace std;
u...]]></description><category></category></item></channel></rss>