jvm serializer 功能&性能基准测试

开源项目jvm serializer介绍:

该项目分析了目前主流分布式通讯相关开源产品中使用的No Schema序列化产品Kryo,Fastjson,Hessian的序列化机制,通过构造相对比较复杂的数据model,针对序列化size,序列化时间进行了细致测试。通过测试报告可以清晰的看出Kryo无疑是大赢家,无论是序列化大小,还是速度上都更胜一筹,这也就不难理解为什么Spark,Storm等流计算框架会选它作为序列化工具。另外,可以看出这三款软件在BitSet,EnumSet等特殊类型的序列化上还有不少问题,作者也给Kryo,Fastjson社区提了不少Issues,希望在未来的版本演进过程中,能够解决该问题。

另外说一点,通过这些比较完备的测试用例,看的出在代码质量上面,作者还是用了很多心,大家如果有需要,可以直接Copy到自己的项目中!

时间: 2024-11-03 05:37:55

jvm serializer 功能&性能基准测试的相关文章

书籍推荐:《实战Java虚拟机——JVM故障诊断与性能优化》下载

本书详细介绍Java虚拟机的基本原理和优化诊断方法.其中重点介绍Java虚拟机的体系结构.常用的虚拟机参数.Java虚拟机的垃圾回收原理.算法以及目前虚拟机所支持的各种垃圾回收器及其区别.特点和使用方法.在实践和调优方面,重点介绍了Java的堆.栈分析方法,性能调优的一般思路.手段和工具.此外,还详细介绍了虚拟机内有关"锁"的实现以及优化方法. 作为对虚拟机的深入了解,本书还将详细介绍Java类的基本格式.装载过程和虚拟机的执行机制. Java虚拟机目前是Java.Scala.Cloj

JVM原理和性能调优

JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例 4.调用JNIEnv实例装载并处理class类. 在我们运行和调试Java程序的时候,经常会提到一个JVM的概念.JVM是Java程序运行的环境,但是他同时一个操作系统的一个应用程序一个进程,因此他也有他自己的运行的生命周期,也有自己的代码和数据空间. 首先来说

jvm原理及性能调优系列(调优工具)

 Linux命令行工具: 1.TOP命令:能够显示系统各个进程占用资源状况. 2.SAR命令:能够周期性地对系统CPU和内存采样. 3.VMSTATE命令:它可以统计CPU和内存使用情况和SWAP使用信息,也可以周期性地统计信息. 4.IOSTAT命令:提供详尽的IO信息 5.PIDSTAT命令:不但可以检测进程,还能够检测线程.  windows检测工具: 1.任务管理器 2.Perfmon性能工具 3.Process Exploer 4.PSLIST JDK工具: 1.JPS 列出java的

iOS开发中自定义相册功能性能改善

大多数项目中都会用到相册浏览和选择功能,如果需要使用到自定义相册浏览器,那么,性能优化将是一个很重要的课题.毕竟操作对象是图片这样相对较大写数据单位.今天就针自定义相册浏览选择器四个优化点进行剖析: 缩略图页面加载速度优化 缩略图页面滑动流畅度优化 大图浏览滑动流畅度优化 内存优化 先看看自定义相册的两个主要界面: 1.缩略图页面加载速度优化 如果本地相册有200张以上的照片,那么缩略图页面的加载速度就显得尤为重要. 首先,要保证缩略图界面的控制器在没有加载照片的时候,从viewDidLoad到

kafka性能基准测试

转载请注明出处:http://www.cnblogs.com/xiaodf/ 1.测试环境 该benchmark用到了六台机器,机器配置如下 l  IntelXeon 2.5 GHz processor with six cores l  Six7200 RPM SATA drives l  32GB ofRAM l  1GbEthernet 这6台机器其中3台用来搭建Kafka broker集群,另外3台用来安装Zookeeper及生成测试数据.6个drive都直接以非RAID方式挂载.实际上

阿里技术三面:JVM+高并发性能+单点登录+微服务

就最近两周找工作的情况来看,市场对Java工程师的需求并没有因为经济发展受阻而大幅减少,只是市场对Java工程师的要求越来越高. 但我们要知道,寒冬之中,什么是最珍贵,就让鄙人告诉你:人才.只要有过硬的技术和装备,在逆风直下的情况下,咱们也能迎难而上,打他个戳手不及.不是"李云龙"大哥说:"过狭路相逢勇者胜." 一面 自我介绍谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里Spring的bean的作用域?(比如:singleton,prototype等)Sp

实战JAVA虚拟机 JVM故障诊断与性能优化(七)

分析Java堆 1.对症下药:找到内存溢出的原因 内存溢出(OutofMemory,简称OOM),主要讨论最常见的集中内存溢出问题,包括堆溢出.直接内存溢出.永久区溢出等. 堆溢出 当对象大小之和大于由Xmx参数指定的堆空间大小时,会造成溢出. 直接内存溢出 在java的NIO(new IO)中,支持直接内存的使用,获取堆外的内存,这块内存是直接向操作系统申请的. 过多线程导致OOM 由于线程的栈空间也是堆外的分配的. 永久区溢出 存放类元数据的区域,如果一个系统定义太多的类,那么永久区会溢出.

JVM(4) 虚拟机性能监控与故障处理工具

1. Sun JDK 监控和故障处理工具 1)jps:JVM process Status Tool,显示指定系统内所有的HotSpot虚拟机进程.可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类) 的名称,以及这些进程的本地虚拟机的唯一ID 2)jstat:JVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据.是用于监视虚拟机各种运行状态信息的命令行工具.它可以显示本地或远程(需要远程 主机

jvm原理及性能调优系列(jvm调优)

个人认为jvm调优主要通过以下方法解决 1.设置合适的最大堆内存(新生代和老生代的最大和值)和最小堆内存(jvm启动时占用的操作系统内存大小),及设置好堆的比例分配. 2.设置合适的新生代 因为对其对系统性能和GC回收有一定的影响. 3.设置合适的持久代 因为其直接决定系统可以支持多少个类定义和多少个常亮. 4.设置合适的线程栈 否则系统可能因为线程所需资源和空间不够而异常退出.