`
jarfield
  • 浏览: 200518 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
文章背景 编程之美 4.1 “金刚坐飞机问题”的问题2,难度比问题1大很多。 编程之美的官方解法,包括原理分析、概率公式、推导过程等,感觉阐述不够详细,没有完全读懂。 搜索一下 “金刚坐飞机”,参考了几个很不错的 ...
今天上午,运营同事报告一个严重故障,现象是网站页面速度非常慢,基本不可用。工程师开始追查问题。 首先介绍一下系统架构:前端 Apache,中间PHP,后端MySQL,经典的LAMP架构。   猜测数据库出现性能问题   第一反应,怀疑数据库数据量太大。我们一直定期清理数据库,保证单表数据量在一定范围内。而这段时间一直没有清理,数据量可能过大。立刻执行delete语句,单表减少100W条记录。但是,问题依旧。 后来,DBA同学发现慢查询,存在filesort。果断增加索引,慢查询消失。但是,问题依旧。 无奈之下,怀疑机房网络问题。但是其他产品线都没有问题,网络组也没有故障通报。因此, ...
Tomcat默认部署了Manager应用作为Web控制台,提供对Tomcat的管理功能。 具体功能包括但不限于: 列出已部署的WebApp 部署、卸载、启动、停止指定的WebApp 展现线程池的详情,例如活动线程数、最大线程数、最小线程数等 展现请 ...
写Java代码的时候,遇到错误总是喜欢抛出异常,简单实用。最近开始写C++代码,发现异常没那么简单,使用须谨慎。   翻阅了《Effective C++》 《More Effective C++》《Inside The C++ Object Model》的相关章节,大概弄明白了一些东东,总 ...
这篇文章不是讨论(i++)+(i++)+(i++)的计算结果,更不是讨论(i++)+(++i)+(i++)。   在C++教程中,我们都会学到:i++和++i是两个表达式,他们都会对i进行自增,但是呢,作为表达式,i++的值是自增之前的值,++i的值是自增之后的值。   本文在此基础上,进行一些稍微深入的讨论。   从操作符重载的角度,看i++和++i的区别,是一个比较好的切入点。   操作符重载 假设有一个类Age,描述年龄。该类重载了前置++和后置++两个操作符,以实现对年龄的自增。 class Age { public: Age& operator+ ...
这几天开始拜读侯捷先生和孟岩先生的译作《C++标准程序库:自修教程与参考手册》 。两位先生确实译功上乘,读得很顺。但是读到P55页关于auto_ptr_ref的讨论,却百思不得其解:为什么需要引入auto_ptr_ref这个辅助类呢?   从书中描述来看,仿佛与拷贝构造函数 、右值 、类型转换 有关。于是,结合auto_ptr的源代码,google之、baidu之,找了一推资料,终于初步 搞清该问题。   auto_ptr的拥有权 C++常见的智能指针有std::auto_ptr、boost::shared_ptr、boost::scoped_ptr、boost::sh ...
译者 jarfield 博 客 http://jarfield.iteye.com 概 述 HTTP 1.1新特性 持 久化连接(Persistent Connections) Chunked 编码(Chunked Encoding) 100(Continue) 状态码的使用 Connector 接口 HttpConnector 类 创 建服务器套接字
译者 jarfield   博客 http://jarfield.iteye.com 概 述 StringManager 类 应用程序 启 动应用 连 接器 创 建HttpRequest对象 读 取套接字的输入流 解 析请求行 解 析Headers
译者 jarfield   博客 http://jarfield.iteye.com 概 述 StringManager 类 应用程序 启 动应用 连 接器 创 建HttpRequest对象 读 取套接字的输入流 解 析请求行 解 析Headers
init方法 Catalina_Home和Catalina_Base 初始化类加载器体系 Tomcat的类加载器体系 initClassLoaders的代码 一个疑问 Catalina对象 load方法 Catalina类的命令行参数 加载过程 start方法 await状态 setAwait方法 await方法 上一篇文章 主要分析了Bootstrap main 方法的总体流程,并讨论 了JDK兼容性和启动参数。本篇开始深入 ...
main方法 第一阶段 第二阶段 第三阶段 启动参数的区别 一个Bug configtest启动参数 一般,我们直接运行startup.sh 来 启动Tomcat 。最终执行的命令是: java [options] org.apache.catalina.startup.Bootstrap start options是JVM启动参数,这里忽略。   main方法 可见,Tomcat 的启动类是org.apache.catalina.startup.Bootstrap , 启动参数是start 。我 ...
译者 jarfield 博客 http://jarfield.iteye.com 概述 javax.servlet.Servlet 接口 第一个应用 HttpServer1 类 Request 类 Response 类 StaticResourceProcessor 类
译者 jarfield 博客 http://jarfield.javaeye.com       超文本传输协议(HTTP ) HTTP 请求 HTTP 响应 Socket 类 ServerSocket 类 应用程序 HttpServer 类
1. 安装JDK 不能安装JDK 1.6.x,否则Tomcat 5.5.26依赖的commons-dbcp-1.2.2-src无法编译,原因是: JavaSE 6.0升级了java.sql包中的某些接口,为它们增加了一些方法。 commons-dbcp-1.2.2-src中包含了上述接口 的实现类,这些类当然没有实现新加的方法。 最好也不要安装JDK 1.3.x和1.4.x,原因是: Tomcat 5.5.x的目标运行平台是J2SE 5.0。 如果需要运行在1.3和1.4平台上,则需要构建兼容包(下文会有详细介绍)。 ...
译者 jarfield 博客 http://jarfield.iteye.com 概述 本书为谁准备 Servlet 容器如何工作 Catalina 的框图 Tomcat 4 和5 每章的概述 每章的应用程序 准备必要的软件 概述     欢迎来到 Tomcat 的 ...
Global site tag (gtag.js) - Google Analytics