- 浏览: 1381962 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (346)
- linux (10)
- hbase (50)
- hadoop (23)
- java (52)
- java multi-thread (13)
- Oracle小记 (41)
- 机器学习 (12)
- 数据结构 (10)
- hadoop hive (16)
- java io (4)
- jms (1)
- web css (1)
- kafka (19)
- xml (2)
- j2ee (1)
- spring (6)
- ibatis (2)
- mysql (3)
- ext (3)
- lucene (3)
- hadoop pig (3)
- java nio (3)
- twemproxy (1)
- antlr (2)
- maven (6)
- mina (1)
- 列数据库 (1)
- oozie (2)
- mongodb (0)
- 报错 (0)
- jetty (1)
- neo4j (1)
- zookeeper (2)
- 数据挖掘 (3)
- jvm (1)
- 数据仓库 (4)
- shell (3)
- mahout (1)
- python (9)
- yarn (3)
- storm (6)
- scala (2)
- spark (5)
- tachyon (1)
最新评论
-
guokaiwhu:
赞啊!今晚遇到相同的问题,正追根溯源,就找到了博主!
hbase 报错gc wal.FSHLog: Error while AsyncSyncer sync, request close of hlog YouAr -
喁喁不止:
很清楚,有帮助。
hive常用函数 -
dsxwjhf:
Good job !!
kafka获得最新partition offset -
Locker.Xai:
参考了
freemaker教程 -
maoweiwer:
为啥EPHEMERAL_SEQUENTIAL类型的节点并没有自 ...
zookeeper 入门讲解实例 转
动态代理示例
interface AbstractClass { public void show(); } public class ClassA implements AbstractClass{ @Override public void show() { // TODO Auto-generated method stub System.out.println("我是A类"); } } public class ClassB implements AbstractClass{ @Override public void show(){ System.out.println("我是B类"); } } public class Invoker implements InvocationHandler{ AbstractClass ac; public Invoker(AbstractClass ac){ this.ac = ac; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { method.invoke(ac, args); System.out.println("代理"); return null; } } @Test public void test(){ Invoker invoker1 = new Invoker(new ClassA()); AbstractClass ac1 = (AbstractClass) Proxy.newProxyInstance(AbstractClass.class.getClassLoader(), new Class[]{AbstractClass.class}, invoker1); ac1.show(); Invoker invoker2 = new Invoker(new ClassB()); AbstractClass ac2 = (AbstractClass) Proxy.newProxyInstance(AbstractClass.class.getClassLoader(), new Class[]{AbstractClass.class}, invoker2); ac2.show(); }
主要的操作都在Proxy.newProxyInstance静态方法中,
调用
byte[] proxyClassFile = ProxyGenerator.generateProxyClass(
filepath, a1.getClass().getInterfaces());
会生成实现用户给出的interface和proxy的类的class,
调用
proxyClass = defineClass0(loader, proxyName,
proxyClassFile, 0, proxyClassFile.length);
会将class的字节转为用户的类
因为都是native方法,我也就没研究这两个方法是怎么实现的了
可以将proxygenerator输出的字节输出看看
String filepath = "fileclass"; AbstractClass a1 = new ClassA(); byte[] proxyClassFile = ProxyGenerator.generateProxyClass( filepath, a1.getClass().getInterfaces()); File f = new File("f:/classes/tempProxy.class"); try { FileOutputStream fos = new FileOutputStream(f); fos.write(proxyClassFile); fos.flush(); fos.close(); System.out.println("finish"); } catch (Exception e) { // TODO: handle exception }
发表评论
-
java内存使用查看 转
2015-10-29 14:51 829转:http://mxsfengg.iteye.com ... -
Java线上应用故障排查之二:高内存占用
2015-08-17 16:28 0搞Java开发的,经常会碰到下面两种异常: 1、java. ... -
java filechannel
2015-08-14 15:42 1008Java NIO中的FileChannel是一个连接到文件 ... -
Java线上应用故障排查之一:高CPU占用
2015-08-06 13:58 6122转http://blog.csdn.net/blade20 ... -
java注释
2015-04-10 15:49 0Java注解是附加在代码中的一些元信息,用于一些工具在编译、 ... -
转jvm
2015-03-24 14:13 1638一、回顾JVM内存分配 ... -
java 域名转换
2014-12-22 11:05 735import java.net.InetAddres ... -
freemaker教程
2014-10-13 11:56 1912新换了工作,与想象差距也太大了 最近沦落到做报表了,我就 ... -
protocal buffers入门实例
2014-09-22 21:08 1602hadoop yarn中新的系列化protocol buf ... -
正则小计
2014-09-18 20:47 0&site=(.*?)&可以匹配site的值 ... -
在HBase中应用MemStore-Local Allocation Buffers解决Full GC问题
2014-06-13 23:05 1546译者注:上个月 ... -
java ipc 实例
2014-05-21 22:59 4833java ipc实例,仿照hadoop ipc写的实例 1 ... -
java worker thread模式
2014-03-25 22:46 1935转两个帖子 一个java wo ... -
bloom filter
2014-03-09 19:41 1924看到hadoop join和hbase都有bloo ... -
java reference
2014-03-09 17:49 690转 http://www.iteye.com/to ... -
annotation实例
2014-02-11 22:04 1102加载指定目录的所有class,通过注释区分实体类 p ... -
java获取子类 转
2014-02-11 16:58 3087获取子类 package com.tools; ... -
动态代理
2013-08-14 20:38 1041动态代理,转:http://langyu.iteye. ... -
java byte inputstream and outputstream
2013-02-18 11:47 0转http://blog.csdn.net/rcoder ... -
JVM同步浅析
2013-01-11 11:38 1606堆 (所有类的实例或 ...
相关推荐
使用java完成动态代理的演示代码,适合初学者理解动态代理的功能,进行参考,本代码是简单的demo代码,仅用于学习参考。
JavaEE proxy简单代理示例
代理人Java代理的最简单示例这是Java代理实现的最简单示例。 1-Main.jar是我们的主要应用程序。 2-agent.jar包含一个在执行应用程序之前调用的代理类。
主要介绍了Java动态代理模式简单案例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
aop的原理基于java动态代理模式,本资源是spring的aop运用简单示例,用于帮助初学者理解和运用aop技术
java-selenium-browsermobProxy 一个使用Selenium中的BrowserMob代理捕获网络呼叫的简单示例
java-websocket-reverse-proxy 我发现的大多数Java websocket示例都是基于或包含诸如STOMP之类的消息传递协议的。... 可以通过运行进行测试文件夹中定义的类中包含一个与该代理行为匹配的简单Java实现。
字节程序Java代理, 乐器, 字节好友 字节码程序java-agent-and-instrument java-agent-and-instrument-test APM ,追踪, 方法增强, 热模块替代品 完毕 空中漫步查明拉链框架开发,例如:dubbo,spring, arthas,...
from jnius import autoclass ...上面的代码中,我们使用 autoclass 函数,创建了一个类型代理,对应着Java中java.util.Stack类的所有方法和字段属性。 OK,也许你想要一个Android相关的例子,看这里: from jnius imp
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
简单的snmp-nms 使用Java和SNMP4J制作的SNMP NMS和代理的示例 用法 指示尚未完成。
实例216 动态的数组链表 382 实例217 你能猜出鱼是谁的宠物吗? 387 实例218 使用Collections类对List的排序操作 393 实例219 LinkedList的添加删除操作 395 实例220 运用Vector 397 实例221 改变...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag...