- 浏览: 694711 次
- 性别:
- 来自: 北京
最新评论
-
masuweng:
写的详细
Java中的枚举 -
zmwxiaoming:
java unix时间戳转换 -
g21121:
lhq1013 写道请问 我通过什么方式可以获取到tomca ...
tomcat优化 -
lhq1013:
请问 我通过什么方式可以获取到tomcat的qps值?
tomcat优化 -
zengshaotao:
condition的测试代码有问题,一个await的线程醒来之 ...
Java并发之Condition与Lock
文章列表
系统在生产运行过程中最重要的工作莫过于监控与问题的处理,监控是预防问题产生很重要的手段。在监控过程中可以发现那些模块或进程出现了问题,出现问题后会及时通知问题负责人。
实现监控的手段非常多,有系统级别监控系统,也有监控小工具等等。Java 就已经自带了一些监控工具,可以不借助外部软件的情况下简单、快速查看相应监控信息。
这些监控工具存放在jdk/bin 目录下,bin 目录下有我们熟悉的javac、java、rmic等编译工具,如图:
下面就分别介绍这些监控工具的使用及作用。
1.jps ...
将一个简单的程度如HelloWorld 的应用包装秤Wrapper 服务并不复杂,甚至可以认为非常简单。但是实际项目应用过程中我们的程序一般较庞大,运行环境也较复杂。
通过Wrapper 配置文件的分析与配置进一步了解构建Wrapper 服务需要注意的关键点及重要部分。
首先,打开conf 文件夹下的wrapper.conf配置文件,此配置文件时Wrapper 的主配置文件也是关键配置文件,下面开始一项一项的开始分析。
1.文件编码及子配置文件 文件头部包含了配置文件编码格式,子配置文件等相关信息,如下所示:
#文件 ...
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc Pool 类似于我们常用的数据库连接池c3p0 ,Proxool 等,Tomcat Jdbc Pool有如下优点:
1.Tomcat Jdbc Pool 近乎兼容DBCP ,性能更高 2.异步方式获取连接 3.Tomcat Jdbc Pool 是 tomcat 的一个模块,基于 t ...
这次所要做的测试是比较几种我们常用的数据库连接池的性能,他们分别是:c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool这四种,测试将采用统一的参数配置力求比较“公平”的体现统一水平下几种连接池的不同,有网友回复说测 ...
前面已经做了c3p0和Druid的测试,下面进行Proxool的测试,其实我比较看好Proxool。
1.修改代码:
/**
* Proxool实现
* @throws ProxoolException
*/
public void getUsrInfoWithProxool(ProxoolDataSource pds,Integer usrId) {
String sql = "SELECT * FROM USER u WHERE u.USR_ID=" + usrI ...
前面已经做了c3p0的性能测试,我们这次来测试一下Druid,看看Druid的性能是否与官方说的那样优秀。
1.改造代码:
/**
* Druid实现
*/
public void getUsrInfoWithDruid(DruidDataSource dds,Integer usrId) {
String sql="SELECT * FROM USER u WHERE u.USR_ID=" + usrId;
try {
// 通过属 ...
c3p0的使用我们基本已经了解,下面这个测试是用来测试c3p0的性能如何,测试有一定的局限性,仅供参考。大家可以根据项目情况来配置c3p0的各种属性值,配置之后进行测试,最终找到最合理的配置方案。
1.改造我们原来的代码: 将DataSource 提取出来,应为在实际应用之中DataSource是只创建一次,不会每次访问数据库重新创建。我们可以将之声明为static 或像下列代码中一样由外部传入。这种方式类似于Spring 对DataSource 的管理方式。 Statement 与connection 的实例可以有多个只有 ...
持续集成是什么?我们为什么需要持续集成?持续集成带来的好处是什么?什么样的项目需要持续集成?... 持续集成(Continuous integration ,简称CI),所谓集成可以理解为将互相依赖的工程或模块合并成一个能单独运行的应用。类似于汽车生产过程中,各种零部件是单独生产并测试的,将他们组装成汽车整体的过程就是“集成”。虽然很多零部件单独测试时是没有问题的,但往往会发生组装好后无法协调工作的情况。为了避免这种情况的发生我们就需要尽早的、不断的去“集成”测试。频繁的集成帮助项目在早期发现项目风险和质量问题,如果到后期才发现这些问题,解决问题代价很大,很有可能 ...
我们已经了解Wrapper的目录结构,下面可是正式利用Wrapper来包装我们自己的应用,这里假设Wrapper的安装目录为:/usr/local/wrapper。
首先,创建项目应用
1.创建一个Java项目,并创建Java 类HelloWorld,并实现WrapperListener 接口,代码如下:
package com.helloworld.hello;
import org.apache.log4j.Logger;
public class HelloWorld {
static ...
在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启。解决服务器重启的传统做法是编写一段shell脚本随服务器启动而运行,但是这样做只是治标,那么我们想寻求一种“治本”的方式该怎么办呢? Java Service Wrapper就轻松而简单的为我们解决了这些问题。"Java Service Wrapper"顾名思义,将我们的Java程序包装成系统服务,这样就可以随着系统的运行而自动运行,当然Java ...
下面是一个Ant构建文件的实例,通过这个实例我们可以很清楚的理顺构建一个项目的顺序及依赖关系,从而编写出更加合理的构建文件。
下面是build.xml的代码:
<?xml version="1.0" encoding="UTF-8"?>
<project name="example" basedir="." default="deploy">
<!-- 引入外部的properties 文件 -->
< ...
Maven安装成功之后我们动手来构建一个Maven应用,并通过这个应用更进一步的了解Maven的细节。 1.打开eclipse,在菜单栏中点击File->New->Other,然后在界面中找到"Maven project",点击下一步进入下一个页面:
2.第二个界面可以选择是否创建一个示例项目,这里直接下一步:
3.选择"原型",也就是选择项目的类型,我们选择"mavent-archetype-quickstart",下一步:
...
99999真心碰不到,不过100000却有幸赶上了(其实我在等着而已),本月排名第二!算是一个让我继续前进的小小动力吧~
前面我们已经了解了Ant的使用及相关配置,对于大型项目的构建有了Ant之后更加得心应手,但是Ant并不是没有缺点。当项目比较多且关系复杂时我们必须要每一个项目都配置单独的build.xml,且内容极其繁杂,这正是因为Ant并不具备项目管理的功能导致。 Maven很好的解决了这一点,Maven在Ant构建的基础功能上引入了项目管理,使我们应对复杂大型项目时构建更加轻松、清晰。 而且Maven的构建规则与语法的特性使得Maven构建文件要更加简洁。随着Maven功能的日渐完善,大家也渐渐认识到Maven的好处,使用Maven的项目也越来越多。 ...
前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。
1.下载相关内容: c3p0下载地址:http://sourceforge.net/projects/c3p0/ Proxool下载地址:http://proxool.sourceforge.net/ Druid下载地址:http://code.alibabatech.com/mvn/releases/com/alibaba/druid/ Spring下载地址:h ...