java刚工作搭建环境_java开发环境的搭建(上班笔记01)

-lib (存放服务器对应的jar文件)

-webapp (Web应用的根目录,整个项目存放的目录)

-WEB-INF (存放lib目录、classes目录、web.xml)

-classes (源代码文件编译后输出的目录)

-lib (存放Web应用所需的各种Jar文件)

-web.xml (整个web项目的配置文件)

那么直接部署到tomcat,跟在服务器debug这种有什么区别

一个tomcat 可以设定是否以debug模式运行,还是run模式运行的! 有待研究

3.常用的线程池

DBCP,C3P0,Proxool,DBP

1.Jakarta DBCP

dbcp是Apache的一个开源项目:commons.dbcp

dbcp依赖Apache的另外两个开源项目:commons.collections和commons.pool

下载以上三个jar包,并添加到你的项目中就可以使用dbcp作为项目的数据库连接池了

下载地址:http://commons.apache.org/downloads/[collections,dbcp,pool]

2.C3P0

c3p0是一个开放源代码的JDBC连接池,他在lib目录中和Hibernate一起发布,包括实现jdbc3和jdbc2拓展说明Collection和Statement池的Datasources对象

下载地址:http://sourceforge.net/projects/c3p0

3.Proxool

proxool是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能

官方主页:http://proxool.sourceforge.net

下载地址:http://proxool.sourceforge.net/download.html

4.DBPool

DBPool是一个高效的易配置的数据库连接池。它除了支持连接池应有的功能之外,还包括了一个对象池使你能够开发一个满足自已需求的数据库连接池

项目主页:http://homepages.nildram.co.uk/slink/java/DBPool/

在实际使用中,我们可以根据自己项目的需求和要求性能进行选择,若项目中添加了Spring框架,就可以很容易在Spring的配置文件中进行配置。也可以在Hibernate项目中配置,还可以在Tomcat中对连接池进行配置,通过使用JNDI获得连接

下边咱们来对比一下:

C3P0和DBCP

C3P0是Hibernate3.0默认的自带数据库连接池,DBCP是Apache开发的数据库连接池。我们对这两种连接池进行压力测试对比,发现在并发300个用户以下时,DBCP比C3P0平均时间快1秒左右。但在并发400个用户时,两者差不多。

速度上虽然DBCP比C3P0快些,但是有BUG:当DBCP建立的数据库连接,因为某种原因断掉后,DBCP将不会再重新创建新的连接,导致必须重新启动Tomcat才能解决问题。DBCP的BUG使我们决定采用C3P0作为数据库连接池。dbcp有BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。我不知是否在dbcp最新版本中解决了这个问题,我以前在一个访问量不大的项目中用过dbcp,运行了一年多都没出现问题。不过在网上的确也有不少网友指出dbcp在大型的应用中会出现不稳定的情况。所以在真相未经证实的情况下,我觉得对dbcp持慎重的态度。

c3p0:

至于c3p0,有评论说它的算法不是最优的,而且,我在matrix中,见到有网友做了一个实验,在同一项目中分别用了几个常用的连接池,然后测试其性能,发现c3p0占用资源比较大,效率也不高。

所以,基于上述原因,我才花两晚的时间去研究proxool的配置,proxool不少行家推荐使用,而且暂时来说,是负面评价是最少的一个。在三星中也有项目是用proxool的。C3P0在负载种的情况下表现比较好,C3P0的一个比较特别的设计是它默认会启动三个异步线程用来在来不及调度的情况下使用,所以在任何情况下都不会失去响应。Proxool已经有两年没有发布新版本了吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值