- 浏览: 202631 次
- 性别:
- 来自: 北京
最新评论
-
qigeminghaofan:
第二个应用中说第一个不安全,熟悉servlet内部的程序员能向 ...
[How Tomcat Works]第2章 一个简单的Servlet容器 -
lliiqiang:
substring内存泄露问题只需要再加一个方法,让程序员明白 ...
优化变成了忧患:String.split引发的“内存泄露” -
tonghaoqi__:
必须点赞。。
如何控制War包访问Tomcat的内部实现类 -
jzzwy:
好文章 支持
Tomcat 5.5.26源代码分析——启动过程(一) -
wangzhewang:
牛!,希望更多分享!
Linux随机数发生器导致Apache进程全部Block的问题追查
文章列表
文章背景
编程之美 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》的相关章节,大概弄明白了一些东东,总 ...
前置++和后置++的区别
- 博客分类:
- C++
这篇文章不是讨论(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
的 ...