Java??????????????????????????
???????????? ???????[ 2012/8/13 10:37:46 ] ????????
??????飺?????????? ?? java.lang.reflect ???????????? JDK 1.3 ?汾?????? JDK????????????? ????????????????????????????????????÷????????????鷽????????????????????????á???????????????“???”?????????????·?????????????????????????????У?Brian Goetz ??????????????????????ó?????????????? ??????? ??????????????????????????????μ?????
??????????????????????????????? Facade??Bridge??Interceptor??Decorator??Proxy???????????????????? Adapter ?????????????????????????Щ????????????????????????????????????????????£??????????????????????????????????д?????????
????Proxy ??
????Proxy ?????????“stub”??“surrogate”?????????????????????????????????????й????????????????????????RMI?????? Proxy ????????????? JVM ????е??????????????????? JavaBeans ??EJB?????? Proxy ??????????á????????????磻?? JAX-RPC Web ???????? Proxy ????????????????????????????????????У???????????????????????????????????????????????????????????????£????????????????????????? stub ??????????????????????????????????????stub ????????????????????????????????????????????????????????????????????????????????????????????????? RMI??EJB ?? JAX-RPC ???????????e?????????????EJB?????????????EJB ??? Bean?????????????????????????????????????
?????? 5.0 ????? JDK ?У?RMI stub??????????? skeleton???????????? RMI ????????rmic?????????RMI ???????? JDK ????????????????????????????????????? stub?????????????????????????????? skeleton ??????????? JVM ?????? stub ??????? —— ????????????????????????????????? Web ????? JAX-RPC ????????? Web ???????????????????? Web ????????????????????
???????? stub ???????????????????????????????????????????????????Щ?????裬?????????????????????????????????????????????????棬?????????????????????????? stub ???????£????????????????????? JDK 5.0 ?????汾?У?RMI ??????????????????????? stub????? RMI ??????????á???? J2EE ??????????????????? EJB??EJB ?????????????????????interception?????????????????磻????????????????????з?????????е????????·????
??????????????
???????????????????? InvocationHandler ???????嵥 1 ????????t?????????????????????????????????????á?????????t????? Method ?????? java.lang.reflect ???????????б?????????????????????£????????????÷????????? Method.invoke???? ??????????
?????嵥 1. InvocationHandler ???
1.public interface InvocationHandler {
2. Object invoke(Object proxy?? Method method?? Object[] args)
3. throws Throwable;
4. }
????????????????????????????t??????????????????????????t????????????????????????????????????????????????????????????????????????????????????п????????????????????й??????????????????????????????嵥 2 ??????????????????????????? Set ?????????? Set ????????????? Object ???????????????? Set ?????
?????嵥 2. ??? Set ???????????
1.public class SetProxyFactory {
2.public static Set getSetProxy(final Set s) {
3. return (Set) Proxy.newProxyInstance
4. (s.getClass().getClassLoader()??
5. new Class[] { Set.class }??
6. new InvocationHandler() {
7. public Object invoke(Object proxy?? Method method??
8. Object[] args) throws Throwable {
9. return method.invoke(s?? args);
10. }
11. });
12. }
13. }
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11