本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri HelloGitHub 推出的<讲解开源项目>系列. 项目地址: https://github.com/KFCFans/PowerJob 序列化与反序列化一直是分布式编程中无法绕开的话题.PowerJob 作为一个完全意义上的分布式系统,自然少不了节点通讯时不可避免的序列化问题.由于 PowerJob 定位是中间件,出于对性能的追求,在序列化上自然也是花费了不少时间去雕琢.以下是整个过程中的一些经验与分享,希望…
对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息. 对象信息一旦写到文件上那么对象的信息就可以做到持久化了 对象的输出流: ObjectOutputStream 对象的输入流:  ObjectInputStream 使用: 对象的输出流将指定的对象写入到文件的过程,就是将对象序列化的过程,对象的输入流将指定序列化好的文件读出来的过程,就是对象反序列化的过程.既然对象的输出流将对象写入到文件中称之为对象的序列化,那么可想而知对象所对应的class必须要实现Serializable接…
人人网框架地址:http://code.google.com/p/paoding-rose/ 问题发生: 用Quartz作集群时用JobDataMap传递DAO,提示DAO未序列化,可框架的DAO为接口,在什么时候转为了对象的没看到... 以下是传递参数源码:     job = newJob(JobUserMail.class).withIdentity("job_usermail_" + reminders.getId(), "task_usermail").b…
前些日子,阿里妹(妹子出题也这么难)发表了一篇文章<悬赏征集!5 道题征集代码界前 3% 的超级王者>——看到这个标题,我内心非常非常激动,因为终于可以证明自己技术很牛逼了. 但遗憾的是,凭借 8 年的 Java 开发经验,我发现这五道题自己全解错了!惨痛的教训再次证明,我是那被秒杀的 97% 的工程师之一. 不过,好歹我这人脸皮特别厚,虽然全都做错了,但还是敢于坦然地面对自己. 01.原始类型的 float 第一题是这样的,代码如下: public class FloatPrimitiveT…
原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列.里面的元素全部都是"可延期"的元素,列头的元素是最先"到期"的元素,如果队列里面没有元素到期,是不能从列头获取元素的,哪怕有元素也不行.也就是说只有在延迟期到时才能够从队列中取元素. DelayQueue主要用于两个方面: 缓存:清掉缓存中超时的缓存数据 任务超时处理 DelayQueue DelayQueue实现的关键主要有如下几个:…
当你希望在 Map 中不使用 String 为 Key,那么你需要使用 MessagePackKeySerializer 来为 key 进行序列化. 本测试方法,可以在 https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java 中找到. /** * testMessa…
相信很多人都用过jq的表单序列化serialize()方法,因为这能很方便地帮你把表单里所有的非禁用输入控件序列化为 key/value 对象,不需要你再去一个个地拼接参数了. 这是一个很好用的函数,用过的你肯定知道.但是ghostsf最近发现一个小bug(也许不应该叫bug,姑且称之).就是当radio或checkbox 未选中时,没有序列化到对象中. 什么原因呢?下面分析之:瞄一眼源码:From jQuery JavaScript Library v2.1.4 jQuery.fn.exten…
Java 几乎是许多程序员们的入门语言,并且也是世界上非常流行的编程语言.国外程序员 Andreas Kull 在其 Github 上整理了非常优秀的 Java 开发资源,推荐给大家. 译文由 ImportNew- 唐尤华翻译完成. 以下为具体资源列表. 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven 使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven 优于 Apache Ant.后者采用了一种过程化的方式进行配置,所以维护起来相当困难.…
这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.thanks. 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化的方式进行配置,所以维护起来相当困难. Gradle:Gradle采用增量构建.Gra…
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化的方式进行配置,所以维护起来相当困难. Gradle:Gradle采用增量构建.Gradle通过Groovy编程而不是传统的XML声明进行配置.Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民. 字节码操作 编程操作Java字节码的函数库. ASM:通用底层字节码操作及…