
java 性能优化
iteye_7726
这个作者很懒,什么都没留下…
展开
-
方法重构与性能优化
太长的方法是一种坏味道,重构时要尽量拆分大方法为小方法。昨天学习了JVM的内存管理,发现将大方法切分为小方法还可以提高内存的释放速度,这与JVM的内存管理有关。在方法调用时,JVM会创建一个stack frame,该方法的参数和局部变量都存放在stack中,当方法调用结束时,该方法的stack frame被销毁,所有的局部变量占用内存被释放。[code="java"]private v...2009-01-07 10:39:53 · 218 阅读 · 0 评论 -
在jdk1.6上编译碰到问题
最近在编译我们的中间件产品的时候,碰到了一些问题原来编译环境:jdk1.5,OS:linux为64位,windows为32位。现在转移到jdk1.6上在jdk1.6上编译,OS:linux为64位,windows为32位。在编译某个模块的时候,会提示bad class file: xxx.class,unable to access file: corrupted zip file...原创 2012-10-28 17:28:12 · 500 阅读 · 0 评论 -
在64位windows系统编译,用maven编译不过,会hang
在64位windows系统编译我们的中间件,用maven编译不过,会hang。直接用ant编译没问题。发现maven 1.0.2自带的ant是1.5.3的,直接用ant 1.7.1编译时可以的,应该是ant内部实现机制不同导致的。http://youtrack.jetbrains.net/issue/IDEA-26198关于这个bug的解决方案,这个bug与下面的item 8有点关系I...原创 2012-10-28 17:26:32 · 135 阅读 · 0 评论 -
使用MappedByteBuffer要注意的问题
使用MappedByteBuffer来操作内存映射文件是NIO提供的强大武器,由于将对文件的操作映射到内存中,读写性能都会提高。需要注意的问题是,在MappedByteBuffer的javadoc中有这样一句:* A mapped byte buffer and the file mapping that it represents remain * valid until the buf...原创 2010-08-11 10:37:49 · 583 阅读 · 0 评论 -
jvm参数详解(转)
在Java、J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能。JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置。但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达到最佳新能。另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Java开发人员都见过“OutOfMemory”类型的错误。呵呵,这其中很可能就...原创 2010-07-28 10:34:58 · 119 阅读 · 0 评论 -
java jvm 启动参数
http://blog.sina.com.cn/s/blog_58d5f7550100aqd9.htmljava -server 用在服务型的程序,如SOCKET SERVER,对安全和稳定性做了一定优化java -client 是默认选择,速度快,占用资源较少 -Xint 设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码。 -Xbatch...原创 2010-07-28 10:34:08 · 137 阅读 · 0 评论 -
获得java对象在内存中的历史记录的方法
用jmap命令/usr/java/bin/jmap -J-d64 -histo:live 5988 > histoXliveonly.hisogram2010-01-01.txt原创 2010-06-05 11:42:32 · 130 阅读 · 0 评论 -
对volatile的简明解释
[url]http://blog.21ic.com/user1/5473/archives/2009/54693.html[/url]volatile 关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。其实Volatile是由于编译器优化所造成的一个Bug而引入的关键字。...原创 2010-11-11 09:57:48 · 102 阅读 · 0 评论 -
Java线程访问中的CPU原语应用
Java线程访问中的CPU原语应用2009年04月28日 星期二 23:05CPU原语-比较并交换(CompareAndSet),实现非阻塞算法什么是CAS?cas是现代CPU提供给并发程序使用的原语操作. 不同的CPU有不同的使用规范.在 Intel 处理器中,比较并交换通过指令的 cmpxchg 系列实现。PowerPC 处理器有一对名为“加载并保留”和“条...2010-04-09 14:58:38 · 300 阅读 · 0 评论 -
分析Java代码问题的有效的工具 java thread dump
分析Java代码问题的最有效的工具仍然是java thread dump,对于support人员来说尤其重要,原因:- 任何操作系统平台下都可以使用。- 在多数情况下,可以在生产环境中使用。- 和操作系统提供的工具相比,java thread dump给出的信息是直白的,直接对应到应用代码。- 它对被分析的系统干扰很小,因此能反应真实的问题。而其它很多profiling或Instr...2010-03-26 23:27:33 · 230 阅读 · 0 评论 -
Java NIO类库Selector机制解析
Java NIO类库Selector机制解析(上) 赵锟 陈皓http://blog.youkuaiyun.com/haoel 一、 前言 自从J2SE 1.4版本以来,JDK发布了全新的I/O类库,简称NIO,其不但引入了全新的高效的I/O机制,同时,也引入了多路复用的异步模式。NIO的包中主要包含了这样几种抽象数据类型: Buffe...原创 2009-07-14 13:40:47 · 110 阅读 · 0 评论 -
java-thread-dump
http://www.crazysquirrel.com/computing/java/basics/java-thread-dump.jspxGenerating a Thread DumpWindowsThe Java application that you want to produce a thread dump for must be running / started...原创 2009-07-07 10:47:36 · 132 阅读 · 0 评论 -
JDK NEW TOOLS——jps、jinfo、jstat、jmap、jconsole
http://blog.youkuaiyun.com/roland101/archive/2008/03/16/2188585.aspx最近压力测试和调优Liferay portal,所以需要找到一种工具,可以比较好的监测VM工具。本来想使用商用工具,但偶然间发现SUN 的JDK中新添了几个工具,并且非常好用。秉承着有免费,不用商用的原则。开始使用新的JDK工具,以下简单介绍一下这几种工具。(注:本文...原创 2009-07-06 17:24:11 · 95 阅读 · 0 评论 -
joeq可以在装载类的时候修改类实现而不影响原来的类实现
Joeq包含一个特殊的“镜像”包,每当一个被装载时,类装载器会在“镜像”包中查找同名的类。如果找到,那么就装载镜像类,将镜像类的内容附加到原类中,用镜像类的方法和字段代替原类中同名的方法和字段。这种机制允许我们在不改变原实现的情况下改变类的实现。...2009-03-20 17:23:21 · 130 阅读 · 0 评论 -
Garbage First介绍
转载自BlueDavy的技术Blog http://www.blogjava.net/BlueDavy/archive/2009/03/11/259230.html Garbage First介绍本文摘自《构建高性能的大型分布式Java应用》一书,Garbage First简称G1,它的目标是要做到尽量减少GC所导致的应用暂停的时间,让应用达到准实时的效果,同时保持JVM堆空间的...原创 2009-03-19 17:06:41 · 238 阅读 · 0 评论 -
使用ehcache2.2.0碰到的slf4j版本问题
在使用ehcache时候碰到如下错误[code="java"]SLF4J: The requested version 1.5.11 by your slf4j binding is not compatible with [1.6]SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further detai...原创 2012-06-25 11:01:37 · 530 阅读 · 0 评论