<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_52158439的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_52158439</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_52158439]]></copyright><item><title><![CDATA[学习笔记：静态代理/动态代理]]></title><link>https://blog.youkuaiyun.com/m0_52158439/article/details/138975238</link><guid>https://blog.youkuaiyun.com/m0_52158439/article/details/138975238</guid><author>m0_52158439</author><pubDate>Thu, 16 May 2024 21:18:07 +0800</pubDate><description><![CDATA[可以在运行时拦截到对代理对象方法的调用，并且可以在这个调用前后执行一些逻辑，比如日志记录、权限控制等。它允许在运行时创建代理类，并且可以将方法调用路由到其它的代码，通常是一个代理类实现的方法。今日javaweb看到AOP时突然复习到javaSE的代理的概念，忘记了，这里再回顾一下（我甚至觉得是我自己没学过）简单的代理模式不用到反射机制，代理类在编译时已经确定，所以不能动态的支持多个类的代理。当需求不只这一个对象时，我们可以利用反射机制，获取该类，动态的进行代理。是Java动态代理机制的一个关键接口。]]></description><category></category></item><item><title><![CDATA[韩顺平java基础qq离线功能的实现]]></title><link>https://blog.youkuaiyun.com/m0_52158439/article/details/134995445</link><guid>https://blog.youkuaiyun.com/m0_52158439/article/details/134995445</guid><author>m0_52158439</author><pubDate>Thu, 14 Dec 2023 15:10:09 +0800</pubDate><description><![CDATA[因为做的是消息和文件传输的离线，所以只需要将消息发送与文件传输的write之前，加上一层逻辑判断，如果发送目标的持有socket的线程是空的的话，就将这个Message对象存入到concurrenthashmap所持有的ArrayList中。然后再写一个方法offLineMessageReload，进行在用户登录成功后遍历该用户的ArrayList中所有的Message。然后，在服务器线程的run方法中，接收到消息后的判断处，重新加上逻辑判断。仅从实现角度考虑，只用改服务器端的代码。]]></description><category></category></item></channel></rss>