Java面试真题与源码解析

此项目是Java面试真题与源码解析。 想了解详情请下载附件。

应用介绍

此项目是Java面试真题与源码解析。

package com.lagou.interview;

import net.sf.cglib.proxy.Enhancer;

import net.sf.cglib.proxy.MethodInterceptor;

import net.sf.cglib.proxy.MethodProxy;

import java.lang.reflect.Method;

/**

 * CGLib 动态代理示例

 */

public class CGLibExample {

    static class Car {

        public void running() {

            System.out.println("The car is running.");

        }

    }

    /**

     * CGLib 代理类

     */

    static class CGLibProxy implements MethodInterceptor {

        private Object target; // 代理对象

        public Object getInstance(Object target) {

            this.target = target;

            Enhancer enhancer = new Enhancer();

            // 设置父类为实例类

            enhancer.setSuperclass(this.target.getClass());

            // 回调方法

            enhancer.setCallback(this);

            // 创建代理对象

            return enhancer.create();

        }

        @Override

        public Object intercept(Object o, Method method,

                                Object[] objects, MethodProxy methodProxy) throws Throwable {

            System.out.println("方法调用前业务处理.");

            Object result = methodProxy.invokeSuper(o, objects); // 执行方法调用

            return result;

        }

    }

    // 执行 CGLib 的方法调用

    public static void main(String[] args) {

        // 创建 CGLib 代理类

        CGLibProxy proxy = new CGLibProxy();

        // 初始化代理对象

        Car car = (Car) proxy.getInstance(new Car());

        // 执行方法

        car.running();

    }

}

。。。。。。。想了解详情请下载附件。

文件列表(部分)

名称 大小 修改日期
interview.iml0.83 KB2020-07-13
pom.xml1.15 KB2020-07-13
AlgorithmExample.java1.37 KB2020-07-13
CGLibExample.java0.67 KB2020-07-13
CloneExample.java0.92 KB2020-07-13
CacheGlobal.java0.21 KB2020-07-13
CacheUtils.java0.75 KB2020-07-13
ExpireThread.java0.57 KB2020-07-13
MyCache.java0.35 KB2020-07-13
MyCacheTest.java0.27 KB2020-07-13
CustomDelayQueue.java0.90 KB2020-07-13
CustomQueue.java0.38 KB2020-07-13
FifthExample.java0.71 KB2020-07-13
FirstExample.java0.78 KB2020-07-13
FourthExample.java0.73 KB2020-07-13
SecondExample.java0.68 KB2020-07-13
ThirdExample.java0.97 KB2020-07-13
EhCacheExample.java0.51 KB2020-07-13
Person.java0.12 KB2020-07-13
LockExample.java0.56 KB2020-07-13
VolatileExample.java0.95 KB2020-07-13
GuavaExample.java1.02 KB2020-07-13
IdempotentExample.java0.23 KB2020-07-13
GCExample.java0.30 KB2020-07-13
LockExample.java0.27 KB2020-07-13
LombokExample.java0.19 KB2020-07-13
ProxyExample.java0.75 KB2020-07-13
Singleton.java0.67 KB2020-07-13
ThreadExample.java0.60 KB2020-07-13
ThreadPoolExample.java1.33 KB2020-07-13

立即下载

相关下载

[Java面试真题与源码解析] 此项目是Java面试真题与源码解析。 想了解详情请下载附件。

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部