Posts

Showing posts from January, 2007

两个待验证的问题

前提, 高访问量的Web服务器配置 1. keep-alive该不该打开 据前辈讲, 访问量很大的服务器一定不要打开keep-alive选项, 因为打开了keep-alive, 那么, 在keepalive-timeout时间之内, 服务连接会一直处于保持状态, 否则, 服务链接在处理过一次请求后就会关闭, 如此一来, 服务器会累计大量的连接, 迅速把连接数占满, 形同ddos. 疑点:即使是非keep-alive状态下, 一个连接也有可能十几秒钟后关闭(因为网速问题), 试想, 如果把keep-alive设到比较小, 会不会缓解这个状况呢? 2. ajax不能使用的问题. 这个确实会导致服务器压力增倍, 不知道加机器能不能缓解.

frame页面互操作的问题

通过frame嵌套页面的情况下(包括iframe和frameset), 如果想要通过页面上的js互相进行操作, 一个比较恶心的问题就是同步的问题, 因为不同浏览器的实现会有不同, 比如ie6倾向于串行下载页面, 这样, 比如说A页面中嵌套了B, <iframe src="b" name="b">, 而A又想修改B的某些内容, 比如把B中id为xx的span隐去, 就可以window.frames['b'].document.getElementById('xx').innerHTML=''; 理论上来说, 这个是可以实现, 可是浏览器中往往会弹出一个警告窗口(或者不弹出), 告诉你, 发生了JS错误, window.frames['b'].document为空... 这就是因为浏览器的实现有关了, 问题在于, 上述js代码是在A页面中执行的, 而A页面执行的时候B页面可能还没来得及下载, 更不用说解析了, 于是, 灾难就发生了. 这个问题还是可以解决的, 且方法很多, 相信不难想到, 我就先不写了.

SimpleDateFormat有Bug

慎用jdk的SimpleDateFormat , 经常会有不稳定的表现. 一个简单的'M月d日'都会解析出错, 没得混了. 从StatckTrace来看, 是某处莫名的报了NullPointerException, 具体原因懒得查证了, 还不如自己写.

一个Class初始化的问题

public Class T extends Parent{ private static T instance = new T(); public static SummaryConnectionPool getInstance() { return instance; } static Config config = new Config(); public T(){ super( config ); } }; 然后在另一个类里, 调用: T t = new T(); 然后就报NullPointerExcpetion. 点解: 问题处在instance这个静态对象上. 一个类的静态成员和在类实例化比较独立. 静态成员在被引用的时候就会初始化, 而初始化的顺序按照静态成员在源码的书写顺序. 如果某个静态对象A初始化参数引用了写在它后边的静态成员B, 这个时候后边的静态成员B并没有初始化, A得到的就是个null, 于是, NullPointerException 就可能被抛出了.

搜狗 更懂网络-www.sogou.com

搜狗 更懂网络-www.sogou.com