个人简介

Echo Blog


江湖无名 安心练剑
  • ASM-01-overview
    动机 程序分析,生成和转换是有用的技术,可以在许多情况下使用: 程序分析 范围从简单的语法分析到完整的语义分析,可用于查找应用程序中的潜在错误,检测未使用的代码,反向工程代码等。 在编译器中使用程序生成。 其中包括传统的编译器,还有用于分布式编程的存根或骨架编译器,即时编译器等 程序转换可用于优化或混淆程序, 将调试或性能监控代码插入应用程序,用于面向方面的编程等 所有这些技...
    2018-07-20 05:43:31 | Java
  • ASM-00-入门教程
    ASM ASM 是一个通用的Java字节码操作和分析框架。 它可以用来修改现有的类或动态地生成类,直接以二进制形式。 ASM提供了一些通用的字节码转换和分析算法,可以从这些算法中构建自定义复杂的转换和代码分析工具。 ASM提供与其他Java字节码框架类似的功能,但主要关注性能。 因为它的设计和实现都尽可能地小和快,所以非常适合在动态系统中使用(当然也可以以静态的方式使用,例如在编译...
    2018-07-20 05:43:31 | Java
  • Java Proxy
    Java Proxy 代码实现 UserService.java public interface UserService { /** * 查询所有 */ void queryAll(); } UserServiceImpl.java public class UserServiceImpl implements UserService {...
    2018-07-20 01:30:27 | Java
  • Gson/fastjson/Jackson json 反序列化/序列化 如何指定字段的名称
    场景 java 一般命名是驼峰。比如 userName 发现和其他语言对接时,可能对方风格可能不同,有的是 user_name。 那么,怎么可以让不同的 json 和 java 对象的字段映射序列化+反序列化呢? 不同 json 库的操作方式 在 Java 中使用 JSON 库(如 Gson 或 Jackson)来指定注解的名字,那么通常的做法是在类或字段上使用注解来指定 JSON...
    2018-07-20 01:24:03 | Java
  • Json Path-另一种解析 json 的方式 jsonpath
    场景 以前工作中,习惯于将对象转换为 json。并一直感觉这种转换非常的方便。 因为借助 fastjson, gjson, jackson 等工具就是一个方法就搞定。 以前写一些数据的抓取,我也会写一大堆代码,去构建这个对象。 后来知道有 mongo 这种文档型数据库,觉得也挺方便。 但是 xml 有 xmlPath, 我为什么一直都没有想到 json 有 json path 呢?...
    2018-07-20 01:24:03 | Java
  • Json 之 MessagePack
    MessagePack MessagePack 是一种高效的二进制序列化格式。 它可以像 JSON 一样在多种语言之间交换数据。 但它更快且更小。 小整数被编码成一个字节,典型的短字符串只需要一个额外的字节来存储字符串本身。 特性 支持语言丰富 压缩比例 原始大小为 27 byte {"compact":true,"schema":0} 压缩后: 18 byt...
    2018-07-20 01:24:03 | Java
  • Json 之 Kryo
    Kryo Kryo 是一种用于 Java 的二进制序列化和克隆工具:快速、高效、自动化。 Kryo 是一个用于 Java 的快速高效的二进制对象图序列化框架。 该项目的目标是高速度、低大小和易于使用的 API。 该项目在任何需要持久化对象的时候都非常有用,无论是写入文件、数据库还是通过网络传输。 深度拷贝 Kryo 还可以执行自动深拷贝和浅拷贝/克隆。 这是从对象到对象的直接拷...
    2018-07-20 01:24:03 | Java
  • Json 之 Jboss Marshaling
    关于 JBoss Marshalling JBoss Marshalling 是一个替代的序列化 API,修复了 JDK 序列化 API 中的许多问题,同时完全兼容 java.io.Serializable 及其相关接口,并添加了多个可调参数和附加功能。 所有这些功能都可以通过工厂配置进行插拔(例如外部化器、类/实例查找表、类解析和对象替换)。 特性 该框架的灵感来自对标准Objec...
    2018-07-20 01:24:03 | Java