Java类加载及动态代理技术
贾红平
本人喜欢技术,一致从事于大数据搜索推荐系统架构及其相关工作,最近几年开始熟悉人工智能和机器学习领域,擅长高可用高并发系统架构设计..技术的追求从没有停止过..
展开
-
java类加载及动态代理之JDK,CGLIB
本文主要介绍一下java的动态代理技术,所谓动态代理,都是在运行时期发生的,为目标对象产生一个代理对象,从而可以执行更多的功能,其中AOP编程是最典型的一个可以用动态代理实现的机制,实现动态代理技术有很多种,比如JDK的动态代理,asm,cglib,javassit等都可以实现,这些框架后面都会陆续有讲解到,今天只涉及JDK和CGLIB,要注意我们通常所说的代理都是指动态代理为主,静态代理的使用场...原创 2018-06-20 19:46:13 · 454 阅读 · 0 评论 -
java类加载及动态代理之字节码插庄技术
本文介绍一下,当下比较基础但是使用场景却很多的一种技术,稍微偏底层点,就是字节码插庄技术了...,如果之前大家熟悉了asm,cglib以及javassit等技术,那么下面说的就很简单了...,因为下面要说的功能就是基于javassit实现的,接下来先从javaagent的原理说起,最后会结合一个完整的实例演示实际中如何使用..javaagent的主要功能有哪些?& 可以在加载java文件之...原创 2018-06-21 11:36:37 · 6109 阅读 · 0 评论 -
java类加载及动态代理之JVM的classloader
本篇文章主要总结一下JVM核心知识之一的类加载机制以及实现原理,最后再介绍一个如何实现自定义类加载器?首先说一下java的运行机制,比如编写完一个java文件,jvm到底是怎么执行的?一般来说需要5个过程:加载:类加载过程的一个阶段:通过一个类的完全限定查找此类字节码文件,并利用字节码文件创建一个Class对象验证:目的在于确保Class文件的字节流中包含信息符合当前虚拟机要求,不会危害虚拟机自身...原创 2018-06-20 15:26:29 · 2875 阅读 · 0 评论 -
java类加载及动态代理之ASM框架
本文学习一下java有关字节码的技术以及实现它的框架之一ASM,首先介绍一下字节码技术,其实从jvm的类加载机制就可以发现,jvm执行的不是java源文件而是编译之后的.class文件,而这个文件就是基于二进制的字节码文件。那我们学会这个有什么好处呢?用处很多,举个例子来说 可以完全自己手动实现一个class文件,然后调用classloader来加载它..这样一来可以做很多之外的事情.ASM是什么...原创 2018-06-20 16:20:00 · 1358 阅读 · 0 评论 -
java类加载及动态代理之JAVASSIT
之前和大家说过字节码操作框架的ASM,它使用起来比较困难,今天再学习一个javassit,它使用起来比较简单,把很多的底层细节都屏蔽了..javassit是什么呢?Javassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具,可以让Java编程更接近与动态语言编程。它的作用很广泛,我们接下来主要从以下几个方面进行代码的...原创 2018-06-20 17:44:24 · 934 阅读 · 0 评论