<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_74700640的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_74700640</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_74700640]]></copyright><item><title><![CDATA[网络聊天离线功能（集合版）]]></title><link>https://blog.youkuaiyun.com/m0_74700640/article/details/139717374</link><guid>https://blog.youkuaiyun.com/m0_74700640/article/details/139717374</guid><author>m0_74700640</author><pubDate>Sun, 16 Jun 2024 11:24:07 +0800</pubDate><description><![CDATA[思路：离线消息需要服务器在接收信息时判断要得到消息的用户是否在线，如果在线直接发送，如果不在线则存在ConcurrentHashMap<String,ArrayLis<Message>>中，在用户上线时判断离线消息集合是否有内容，如果有发送消息。在给第一次给集合添加消息时创建新ArrayList集合的同时别忘把消息放进去！在遍历消息时要new一个新的ObjectOutputStream。]]></description><category></category></item><item><title><![CDATA[Java什么时候需要用flush()方法]]></title><link>https://blog.youkuaiyun.com/m0_74700640/article/details/139605282</link><guid>https://blog.youkuaiyun.com/m0_74700640/article/details/139605282</guid><author>m0_74700640</author><pubDate>Tue, 11 Jun 2024 17:59:47 +0800</pubDate><description><![CDATA[看到这里大家明白了吧，为了防止过于频繁的写操作 所以Java提供java.io.BufferedOutputStream类 内部持有一个缓冲区 默认不直接将数据写到硬盘上 而是存到缓冲区中 直到一定条件后触发(就是调用上面的flushBuffer() ) 也可以强制通过flush()方法提前触发，其实flush()也是通过out.write()将数据写入底层输出流的。所以说，关闭(close)输出流时，应先刷新(flush)换冲的输出流，话句话说就是：“迫使所有缓冲的输出数据被写出到底层输出流中”。]]></description><category></category></item><item><title><![CDATA[线性筛（c++）]]></title><link>https://blog.youkuaiyun.com/m0_74700640/article/details/139604891</link><guid>https://blog.youkuaiyun.com/m0_74700640/article/details/139604891</guid><author>m0_74700640</author><pubDate>Tue, 11 Jun 2024 17:37:57 +0800</pubDate><description><![CDATA[【代码】线性筛（c++）]]></description><category></category></item><item><title><![CDATA[高精度（c++）]]></title><link>https://blog.youkuaiyun.com/m0_74700640/article/details/139604869</link><guid>https://blog.youkuaiyun.com/m0_74700640/article/details/139604869</guid><author>m0_74700640</author><pubDate>Tue, 11 Jun 2024 17:37:21 +0800</pubDate><description><![CDATA[【代码】高精度（c++）]]></description><category></category></item><item><title><![CDATA[树的重心（c++）]]></title><link>https://blog.youkuaiyun.com/m0_74700640/article/details/139604839</link><guid>https://blog.youkuaiyun.com/m0_74700640/article/details/139604839</guid><author>m0_74700640</author><pubDate>Tue, 11 Jun 2024 17:36:30 +0800</pubDate><description><![CDATA[【代码】树的重心（c++）]]></description><category></category></item><item><title><![CDATA[树的直径（c++）]]></title><link>https://blog.youkuaiyun.com/m0_74700640/article/details/139604802</link><guid>https://blog.youkuaiyun.com/m0_74700640/article/details/139604802</guid><author>m0_74700640</author><pubDate>Tue, 11 Jun 2024 17:35:18 +0800</pubDate><description><![CDATA[【代码】树的直径（c++）]]></description><category></category></item><item><title><![CDATA[什么时候用，为什么用socket.shutdownOutput()]]></title><link>https://blog.youkuaiyun.com/m0_74700640/article/details/139603857</link><guid>https://blog.youkuaiyun.com/m0_74700640/article/details/139603857</guid><author>m0_74700640</author><pubDate>Tue, 11 Jun 2024 17:31:40 +0800</pubDate><description><![CDATA[此时我们发现无论是客户端还是服务端程序都出现了阻塞，这是因为服务端不知道客户端什么时候写入结束，客户端也不知道服务端什么时候写入结束，就出现了阻塞；举个例子，比如A和B用对讲机讲话，A说：“行动”，B在想行动什么，A为什么不把话说完，我不知道该回什么。socket.shutdownOutput()是TCP字节输出流的结束标记，如不加可能会出现程序阻塞现象，当你希望停止向服务器发送数据，但仍然希望从服务器接收数据时，可以使用socket.shutdownOutput()来添加结束标记。]]></description><category></category></item></channel></rss>