第四章
文章平均质量分 91
jack86312031
这个作者很懒,什么都没留下…
展开
-
java数据库连接池c3p0
目前常用的主流Java数据库连接池有:Druid,Proxool,c3p0,DBCP等,他们都是开源项目且使用率极高,由于DBCP 的bug 较多Hibernate 已经在新版本中不支持其扩展,所以接下来我们主要学习一下proxool 和c3p0,这篇文章主要介绍c3p0 的使用及配置。 c3p0 实现了数据源与JNDI 的绑定,支持JDBC...2013-07-22 12:38:56 · 97 阅读 · 0 评论 -
JVM 不稳定参数
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”是一柄双刃剑,用的好攻无不克,用的差讲带来麻烦。如何合理利用不稳定参数一直是一个不断实践不断改善的过程,无法用统一的标准去衡量。一切都需...2013-08-15 14:02:33 · 255 阅读 · 0 评论 -
类加载器(ClassLoader)介绍
Class Loader 名为“类加载器”,用以加载class 文件到Java 虚拟机中。与普通程序不同,class 文件(Java 程序)并不是本地的可执行程序。当运行class 文件时,首先会运行Java 虚拟机(以下简称JVM),然后再将class 文件加载至JVM,最后JVM 通过内部机制将其执行。负责加载class 文件的这部分程序即被称为"Class Loader"...2013-08-19 14:55:33 · 110 阅读 · 0 评论 -
Bootstrap、Extension、Application Class Loader
Bootstrap Class Loader ,Extension Class Loader ,Application Class Loader三种Class Loader是JVM 系统已经事先实现。 Bootstrap Class Loader 采用的是C或其他相应语言编写(根据JRE 操作系统版本不同而不同),其他两种Class Loader 均采用Java 语...2013-08-20 14:44:57 · 526 阅读 · 0 评论 -
JVM Runtime Data Areas(运行时数据区)
JVM 定义了各种运行期的数据区域,可以在执行程序时使用。有些数据区域在虚拟机启动时创建,当虚拟机中止时才被销毁。另外一些数据区域是根据线程创建的,数据区域在线程被创建时创建,线程中止时销毁。且每个线程间数据是单独存储的。 Runtime Data Areas运行时数据区可以划分为6个区域: PC 寄存器(Program Counter R...2013-08-21 12:54:46 · 215 阅读 · 0 评论 -
Java 堆内存(Heap)
堆(Heap)又被称为:优先队列(Priority Queue),是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。 堆的数据结构如图所...2013-08-26 17:54:07 · 317 阅读 · 0 评论 -
JVM 图形化监控工具
前篇文章已经介绍了一些JDK 中自带的监控工具,但是这些工具都是基于文本界面的,无法很直观的看出程序运行的波动情况,这节就介绍一些图形化的监控工具供大家更简单容易的监控使用。 首先说几个官方开发的图形监控工具: 1.jvmstat jvmstat是图形版的jstat,由Java 官方提供,目前最新版本为3.0。 ...2013-08-27 14:36:42 · 1611 阅读 · 0 评论 -
Java 栈内存(Stack)
在计算机科学中,Stack(栈)是一种特殊的串行形式的数据结构,由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理操作数据。允许进行插入和删除操作的一端称为栈顶(Top),另一端为栈底(Bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈、入栈(PUSH),删除则称为退栈、出栈(POP)。...2013-08-29 17:22:54 · 136 阅读 · 0 评论 -
Java Garbage Collection(GC)介绍
Garbage Collection 译为垃圾收集器(以下简称GC),主要负责内存分配、确保所有被引用的对象保留在内存中、将那些无法达到的对象引用所占用的内存回收。被引用的对象通常被称为活动的(live)。不再被引用的对象,认为是已经消亡,被称之为垃圾。寻找与释放对象占用空间的过程被称为垃圾收集/回收。 在Java 中是使用根搜索算法(GC Roots Tra...2013-09-03 14:29:25 · 158 阅读 · 0 评论 -
Java Garbage Collection(GC)优化及配置
通过对GC 理论部分的学习已经对JVM GC 有了比较全面的了解,已经了解了GC 的几种类型已经工作流程。本节主要从实践角度分门别类的了解GC 的各方面信息。 在HotSpot JVM 中有三种概念,分别代表了不同代中发生的GC 动作。 Minor GC:指发生在新生代的垃圾收集动作,由于新生代中对象生命周期较短,更新速度迅速,所以Minor G...2013-09-05 17:55:56 · 114 阅读 · 0 评论 -
Java配置参数介绍
在工作学习中我们是否已经用到过Java 的一些配置参数,是否已经了解他们的作用? 在运行Java程序时往往会输入以下类似命令参数:javac -Djava.library.path=/usr/local/jdk/bin HelloWorld.javajava -jar hello.jarjava -server HelloWorldjava -...2013-08-14 13:45:29 · 212 阅读 · 0 评论 -
JVM介绍
JVM 是Java Virtual Machine(JVM )的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java 虚拟机源于由James Gosling 在1992年设计,用于支持Oak 程序语言的虚拟机。在Java虚拟机的发展历程中,Sun 的Green 项目、FirstPer...2013-08-13 12:00:01 · 78 阅读 · 0 评论 -
JDK自带监控工具
系统在生产运行过程中最重要的工作莫过于监控与问题的处理,监控是预防问题产生很重要的手段。在监控过程中可以发现那些模块或进程出现了问题,出现问题后会及时通知问题负责人。 实现监控的手段非常多,有系统级别监控系统,也有监控小工具等等。Java 就已经自带了一些监控工具,可以不借助外部软件的情况下简单、快速查看相应监控信息。 这些监控工具存放在j...2013-08-09 15:59:41 · 92 阅读 · 0 评论 -
java数据库连接池Proxool
Proxool是一种Java数据库连接池技术。是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。虽说Proxool已经很多年没更新了,但是现在使用Proxool的项目还是非常多的,可见Proxool非常优秀。 Proxool下载:http://proxoo...2013-07-23 14:38:45 · 133 阅读 · 0 评论 -
各连接池配置参数比较
排版真心费劲,大家凑合看下吧,见谅~ DruidDBCPC3P0Proxool数据库用户名称UsernameUsernameUser 数据库密码PasswordPasswordPassword 驱动名称DriverClassNameDriverClassNameDriverCl...2013-07-23 15:46:37 · 181 阅读 · 0 评论 -
java数据库连接池Druid
Druid是阿里巴巴的一个开源项目,据该网站称:Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。 上述内容难免有水...2013-07-24 09:00:42 · 768 阅读 · 0 评论 -
连接池与Spring,Hibernate结合
前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。 1.下载相关内容: c3p0下载地址:http://sourceforge.net/projects/c3p0/ Proxool下载地址:http://proxool.sourceforge....2013-07-25 15:44:02 · 76 阅读 · 0 评论 -
c3p0性能测试
c3p0的使用我们基本已经了解,下面这个测试是用来测试c3p0的性能如何,测试有一定的局限性,仅供参考。大家可以根据项目情况来配置c3p0的各种属性值,配置之后进行测试,最终找到最合理的配置方案。 1.改造我们原来的代码: 将DataSource 提取出来,应为在实际应用之中DataSource是只创建一次,不会每次访问数据库重新创建。我们...2013-08-02 14:50:18 · 197 阅读 · 0 评论 -
Druid性能测试
前面已经做了c3p0的性能测试,我们这次来测试一下Druid,看看Druid的性能是否与官方说的那样优秀。 1.改造代码: /** * Druid实现 */ public void getUsrInfoWithDruid(DruidDataSource dds,Integer usrId) { St...2013-08-02 15:45:37 · 1066 阅读 · 0 评论 -
Proxool性能测试
前面已经做了c3p0和Druid的测试,下面进行Proxool的测试,其实我比较看好Proxool。 1.修改代码:/** * Proxool实现 * @throws ProxoolException */ public void getUsrInfoWithProxool(ProxoolDataSour...2013-08-03 09:39:49 · 152 阅读 · 0 评论 -
连接池c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool对比测试
这次所要做的测试是比较几种我们常用的数据库连接池的性能,他们分别是:c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool这四种,测试将采用统一的参数配置力求比较“公平”的体现统一水平下几种连接池的不同,有网友回复说测试不公平会互相干扰,那我就把代码分开,代码是死的人是活的,做事情不动脑只能吃别人剩下的,世界上没有绝对公平的事情,我在此只提供了一个思路,更...2013-08-05 15:58:07 · 138 阅读 · 0 评论 -
Tomcat JDBC Connection Pool
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。 Tomcat Jdbc Pool 类似于我们常用的数据库连接池c3p0 ,Proxool 等,Tomcat Jdbc Pool有如下优点: ...2013-08-06 14:50:04 · 245 阅读 · 0 评论 -
GC 收集器算法总结
GC 的几种收集器应用于不同场合,他们有着不同的实现及流程,本节就将几种收集器用到的算法总结一下,更利于大家理解。默认的本节依然以HotSpot JVM 实现为基础。 1.Mark-Sweep(标记-清理算法) 标记-清扫/清理算法是最基础的收集算法,此算法有两个阶段:"标记"和"清理"。 标记阶段:首先标记出所有需要回收的对象;...2013-09-09 11:24:18 · 160 阅读 · 0 评论