君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 107 下一页

2012年9月5日 #

摘要: 在tomcat源代码中,有这样一个实用类:org.apache.catalina.util.StringManager,基本上每个tomcat组件(如:connector, container, realm, loader, logger等)都会用到它。这是一个管理异常消息的helper class。像tomcat这样的Servlet容器,异常消息无论是对系统管理员或者程序员都非常重要。管理员可以通过异常消息,快速定位错误。而对于程序异常,tomcat将异常消息封装到ServletException,来告知程序员Servlet中的错误。Tomcat如何管理这些异常消息呢?第一个要排除的是硬编码 阅读全文
posted @ 2012-09-05 00:15 刺猬的温驯 阅读(1315) 评论(0) 推荐(0)

摘要: 本文主要结合观察者模式,讲述Tomcat的生命周期管理。Tomcat的生命周期管理机制设计的非常优雅,在Tomcat启动时,只需要启动一个Server组件,就会启动所有的容器及对应的组件,并且触发这些容器的监听者,完成启动过程的设置。可以说是“一键式”启动的。停止过程也是一样。本文首先简单介绍Tomcat中容器,组件及监听类的功能。因为Tomcat的生命周期管理应用了观察者模式,所以接下来会分析观察者模式,最后结合观察者模式及Tomcat源代码,详细说明Tomcat的生命周期管理。一、几种基本的容器,组件及事件监听类(Listener)1.Tomcat中有四种不同的容器:Engine:代表整个 阅读全文
posted @ 2012-09-05 00:14 刺猬的温驯 阅读(4465) 评论(0) 推荐(0)

摘要: 一、一些概念 事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事,等等。事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文本。事件驱动控件执行某项功能。触发事件的对象称为事件发送者;接收事件的对象称为事件接收者。事件模型一般用到了观察者模式,下面简单介绍下:SUBJECT目标知道它的观察者。可以有任意多个观察者观察同一个目标。提供注册和删除观察者对象的接口。Observer(观察者 阅读全文
posted @ 2012-09-05 00:04 刺猬的温驯 阅读(462) 评论(0) 推荐(0)

2012年9月4日 #

摘要: Listener Servlet的应用Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEvent se)方法,这样就可以给在线人数加1。常用的监听接口有以下几个:ServletContextAttributeListener监听对ServletContext属性的操作,比如增加、删除、修改属性。ServletContextListener监听ServletContext。当创建ServletContext 阅读全文
posted @ 2012-09-04 14:21 刺猬的温驯 阅读(845) 评论(0) 推荐(0)

2012年9月1日 #

摘要: 转载http://isky000.com/database/mysql-performance-tuning-hardware接着上一篇MySQL数据库性能优化之存储引擎选择,这是 MySQL数据库性能优化专题 系列的第六篇文章:MySQL数据库性能优化之硬件优化在过往与很多人的交流过程中发现,在谈到基于硬件来进行数据库性能瓶颈分析的时候,常被大家误解为简单的使用更为强劲的主机或者存储来替换现有的设备。个人觉得这其中可能存在一个非常大的误区。我们在谈论基于硬件进行优化的时候,不能仅仅将数据库使用的硬件划分为主机和存储两部分,而是需要进一步对硬件进行更细的分解,至少也应该分解到如下范畴:主机CP 阅读全文
posted @ 2012-09-01 14:03 刺猬的温驯 阅读(1279) 评论(0) 推荐(0)

摘要: 接着上一篇MySQL 数据库性能优化之SQL优化,这是MySQL数据库性能优化专题系列的第五篇文章:MySQL数据库性能优化之存储引擎选择离上一篇文章已经有很长时间没有更新这个MySQL数据库性能优化专题了,时间太紧加上人之惰性,今天这里将之前就规划好的关于存储引擎选择方面的内容更新出来,希望对大家有所帮助吧MySQL 的存储引擎可能是所有关系型数据库产品中最具有特色的了,不仅可以同时使用多种存储引擎,而且每种存储引擎和MySQL之间使用插件方式这种非常松的耦合关系。由于各存储引擎功能特性差异较大,这篇文章主要是介绍如何来选择合适的存储引擎来应对不同的业务场景。MyISAM特性不支持事务:My 阅读全文
posted @ 2012-09-01 14:02 刺猬的温驯 阅读(336) 评论(0) 推荐(0)

摘要: 接着上一篇MySQL 数据库性能优化之索引优化,这是MySQL数据库性能优化专题系列的第四篇文章:MySQL 数据库性能优化之SQL优化有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧。注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。降低 CPU 计算除了 IO 瓶颈之外,SQL优化中需要 阅读全文
posted @ 2012-09-01 14:01 刺猬的温驯 阅读(242) 评论(0) 推荐(0)

摘要: 接着上一篇MySQL 数据库性能优化之表结构,这是MySQL数据库性能优化专题系列的第三篇文章:MySQL 数据库性能优化之索引优化大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引可以提高数据访问效率。为什么索引能提高数据访问性能?他会不会有“副作用”?是不是索引创建越多,性能就越好?到底该如何设计索引,才能最大限度的发挥其效能?这篇文章主要是带着上面这几个问题来做一个简要的分析,同时排除了业务场景所带来的特殊性,请不要纠结业务场景的影响。索引为什么能提高数据访问性能?很多人只知道索引能够提高数据库的性能,但并不是特别了解其原理,其实我们可以用一个生活中的示例来理解。我们让一位不太 阅读全文
posted @ 2012-09-01 14:00 刺猬的温驯 阅读(230) 评论(0) 推荐(0)

摘要: 接着上一篇MySQL 数据库性能优化之缓存参数优化,这是MySQL数据库性能优化专题系列的第二篇文章:MySQL 数据库性能优化之表结构很多人都将数据库设计范式作为数据库表结构设计“圣经”,认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求。殊不知,在N年前被奉为“圣经”的数据库设计3范式早就已经不完全适用了。这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用。由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以 page(block)的方式,也就是说,如果我们每条记录所占用的空间量减小,就会 阅读全文
posted @ 2012-09-01 13:59 刺猬的温驯 阅读(221) 评论(0) 推荐(0)

摘要: 在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感兴趣的朋友们有所帮助。这是MySQL数据库性能优化专题系列的第一篇文章:MySQL 数据库性能优化之缓存参数优化数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作。而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级。所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO。本文先从 MySQL 阅读全文
posted @ 2012-09-01 13:56 刺猬的温驯 阅读(251) 评论(0) 推荐(0)

上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 107 下一页