- 浏览: 23219 次
- 性别:
- 来自: 南京
-
最新评论
-
cwj158:
请教下:
JSP转换为java程序为什么要交给WEB容器来做呢 ...
Tomcat源码系列4--Tomcat中Servlet处理流程 -
jilen:
个人感觉如果不是对JMX感兴趣,可以先跳过这部分,对其他源码阅 ...
Tomcat源码系列8--Tomcat的JMX管理2 -
xuhang1128:
学习了,看完您的文章自己再去看看能够更清晰点
Tomcat源码系列1--Tomcat启动流程1
文章列表
一、集群环境及安装:
1.1 集群环境
- 系统: Ubuntu Kylin 14.04 LTS
- Hadoop版本:Apache Hadoop-2.6.0
节点类型
网络地址
Java实现数据库连接池
- 博客分类:
- 数据库
本文利用JAVA代码,自行设计数据库连接池.
package scut.ailab.connectionpool;
import java.lang.reflect.*;
import java.sql.*;
/**
* @author youyongming
* 定义数据库连接的代理类
*/
public class _Connection implements InvocationHandler {
//定义连接
private Connection conn = null;
//定义监控连接创建的语句
private Statement statR ...
悲观锁(Pessimistic Locking)
悲观锁,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。
一个典型的倚赖数据库的悲观锁调用:
select * from account where name=”tong” for update这条sql 语句锁定了account 表中所有符合检索条件(nam ...
1. 基本配置(与Hadoop共通)
1.1 安装JDK
安装JDK6或以上版本,配置JAVA_HOME 、CLASSPATH环境变量。具体过程略。
1.2. 安装python
先确定系统自带的Python版本,如果是2.6.6或者以上的不需要安装
1.3. 配置hosts
一、安装命令
Installation。Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz_x000D_
$ tar xzf redis-3.0.5.tar.gz
$ cd redis-3.0.5
make
二、启动 Redis
$redis-server
Kafka安装手册
1.在安装Kafka集群之前,保证Zookeeper集群正常运行。
在集群每台机器的控制台上运行以下命令:
bin/zkServer.shjcd ${ZOOKEEPER_HOME}
bin/zkServer.sh start
返回结果如下,则说明Zookeeper正常启动。
Linux下静态库和动态库的区别
- 博客分类:
- Linux
首先看看静态库和动态库的定义 linux下的库有两种:静态库和共享库(动态库)。 二者的不同点在于代码被载入的时刻不同。 静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。 共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。 不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例。 下面通过一个实例来说明一下静态库和动态库的区别。 构建程序,最简单的hellworld,其目录结构如下: test --hello.h --hello.c --test.c
各文件代码如下:
hello.h
v ...
前面讲到了JMX的体系,下面从Tomcat源代码启动过程分析MBeans组件注册到MBeanServer的过程 。 (org.apache.catalina.startup.Bootstrap.main(String))
public static void main(String args[]) {
…
if (daemon == null) {
daemon = new Bootstrap();
try {
daemon.init(); ★1
...
接下来介绍一下在Tomcat中JMX的运用
1. JMX介绍 JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX是一套标准的代理和服务,用户可以在任何Java应用程序中使用这些代理和服 ...
下面谈一谈Session的管理。 一. Session的管理 当tomcat启动时,会开启一个后台线程,这个后台线程是随容器的启动而启动的,它将定期检查会话超时。 (org.apache.catalina.core.ContainerBase.threadStart())
protected void threadStart() {
if (thread != null)
return;
//
if (backgroundProcessorDelay <= 0)
return;
...
本次主要谈一下Tomcat中Session的生成和管理情况。
一. 关于Sessin和cookie
session被用于表示一个持续的连接状态,在网站访问中一般指代客户端浏览器的进程从开启到结束的过程。
session的常见实现形式有两种
本次谈一下Servlet的处理流程,不当之处请各位指正。 在经过了「Tomcat启动」,「Tomcat请求处理」等一系列流程后,程序运行到org.apache.catalina.core.ApplicationFilterChain.ApplicationFilterChain.InternalDoFilter()方法,这时会调用servlet的service()方法。
void internalDoFilter(ServletRequest request, ServletResponse response) throws
IOE ...
本次讲解一下Tomcat请求处理的流程,不当之处还请comment。
一. Tomcat 总体结构 Tomcat采用模块化管理,下面是 Tomcat 的总体结构图: 从上图中可以看出 Tomcat 的核心是两个组件:Connector 和 Container。下面是一些概念的介绍。 ① Server 一个server代表了整个catalina servlet容器,在Tomcat里面的Server的用处是启动和监听服务端事件(诸如重启、关闭等命令)。 ② Service Service是由一个或多个Connector与一个Engine的组合。 ③ Connector Connector将在某个 ...
下面是standardEngine的启动和connector的启动
● standardEngine的启动 (1) 首先是StandardEngine.start()被调用
public void start() throws LifecycleException {
// Standard container startup
//进行logger,manager,cluster,realm,resource的启动
super.start();
}
(2) super.start()--->org.apac ...
最近在看Tomcat的源码,下面用博客记下看源码的一些心得。 Tomcat是从org.apache.catalina.startup.Bootstrap#main()开始启动. 大致分为三个步骤,即init、load和start。代码如下:
public static void main(String args[]) {
try {
// Attempt to load JMX class
new ObjectName("test:foo=bar");
} catch (Thr ...