个人简介

Echo Blog


江湖无名 安心练剑
  • ASM-02-classes Structure
    Java 类文件 所谓 Java 类文件,就是通常用 javac 编译器产生的 .class 文件。 这些文件具有严格定义的格式。 为了更好的理解 ASM,首先对 Java 类文件格式作一点简单的介绍。 Java 源文件经过 javac 编译器编译之后,将会生成对应的二进制文件(如下图所示)。 每个合法的 Java 类文件都具备精确的定义,而正是这种精确的定义,才使得 Java...
    2018-07-20 05:43:31 | Java
  • 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
  • Json Path-另一种解析 json 的方式
    场景 以前工作中,习惯于将对象转换为 json。并一直感觉这种转换非常的方便。 因为借助 fastjson, gjson, jackson 等工具就是一个方法就搞定。 以前写一些数据的抓取,我也会写一大堆代码,去构建这个对象。 后来知道有 mongo 这种文档型数据库,觉得也挺方便。 但是 xml 有 xmlPath, 我为什么一直都没有想到 json 有 json path 呢?...
    2018-07-20 01:24:03 | Java
  • Json 之 MessagePack
    MessagePack MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it’s faster and smaller. Small integers are encoded into a...
    2018-07-20 01:24:03 | Java
  • Json 之 Kryo
    Kryo KRyo is the Java binary serialization and cloning: fast, efficient, automatic. Kryo is a fast and efficient binary object graph serialization framework for Java. The goals of the project ar...
    2018-07-20 01:24:03 | Java
  • Json 之 Jboss Marshaling
    About JBoss Marshalling JBoss Marshalling is an alternative serialization API that fixes many of the problems found in the JDK serialization API while remaining fully compatible with java.io.Seria...
    2018-07-20 01:24:03 | Java