Performance
iteye_15896
这个作者很懒,什么都没留下…
展开
-
Performance step 1 - setup target app
我准备从performance的角度出发,发掘一个JavaEE系统中的设计问题。第一步就要构建一个目标系统,用来压力测试。[b]第一步准备考验我的DB功底[/b]平台准备用mysql+jdbc构建一个大数据量DB。测试数据库以及sql的与性能相关的设计。1. 首先安装mysql server2. 创建sample db3. 创建一张新闻表 news[code="ja...原创 2011-02-19 23:13:58 · 69 阅读 · 0 评论 -
如何进行Java EE性能测试与调优
[b]性能测试的目标[/b]性能测试不同于功能测试,不是对与错的检验,而是快与慢的衡量。在进行真正的性能测试之前要先搞清楚目标:1. 在确定的硬件条件下,可以支持的并发数越大越好,响应时间越快越好。具体需要达到的并发数是多大,要求的响应时间是多快,由产品经理来提出。2. 在确定的硬件条件下,测试得到最大并发数和相应的响应时间之后。如果增加硬件投入,可以得到怎样的性能提升回报...2012-03-24 20:51:27 · 74 阅读 · 0 评论 -
Java 并发编程 - Programming Concurrency on the JVM
这几个月一直在做性能调优的工作,以前总是进行功能的开发,从来不考虑性能的问题,经过这几个月的工作,发现从性能和扩展性的角度去看软件开发,还真是大不一样。在和朋友聊天的时候,提及Java程序是否能充分利用多核cpu的问题的时候,朋友给我推荐了这本书《Programming Concurrency on the JVM》。几天看下来,还真觉得很应景,建议做Java开发的朋友试着阅读一下。我简单记录下我...2012-03-24 23:08:33 · 155 阅读 · 0 评论 -
关于 sun.misc.Unsafe
今天在看java.util.concurrent.atomic包的源代码的时候看到原来这个包的底层都调用了sun.misc.Unsafe这个类,这个类其实是个native的实现类,他的神奇之处就在于它可以直接访问内存地址。如果你能直接调用它,那么就意味着你可以绕开一切lock而直接操作地址,虽然危险却有相当的性能吸引力。( 源代码) 它十分高效,因为它的实现基于CAS (Compare An...2012-04-03 15:31:59 · 93 阅读 · 0 评论 -
JVisualVM还真是不错
最近再看Java 性能的问题。一直都习惯使用Jconsole和Jstack。今天偶然发现一个更好的东东JVisualVM。这个工具功能更强大而且有很多插件可以扩展,相信后面插件会越来越丰富。如此一来一些简单的profiling和monitoring需求都可以满足了,而不必使用JProfile和YourKit了。JVisualVM是JDK自带的一个使用工具。如果你的path里面包含java的...2012-04-27 21:38:35 · 107 阅读 · 0 评论 -
关于Hashtable和HashMap, Vector和ArrayList
在功能上讲Hashtable和HashMap, Vector和ArrayList有着几乎相同的功能。他们的主要区别在于:Hashtable和HashMap的区别,先看put方法的源代码Hashtable[code="java"]public synchronized V put(K key, V value) { // Make sure the value is not nu...2012-05-01 09:41:01 · 109 阅读 · 0 评论 -
Spring 事务在多线程环境下的传播
有时候需要使用多线程来提高对于CPU,尤其是多核CPU的利用率,来提高性能。Spring的bean一般都是无状态的,单例的。所以也就是线程安全的。那么对于声明式的事务,在多线程环境下又是怎么处理的呢?看看下面的例子:[code="java"]ClassA.java@Transactionalpublic void methodA(){ Execut...2012-05-04 21:42:16 · 2526 阅读 · 0 评论