<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wuhuajun]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/asfdasdfasdfasd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; asfdasdfasdfasd]]></copyright><item><title><![CDATA[thrift-client/asynclient]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490683</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490683</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 20 Oct 2013 14:02:38 +0800</pubDate><description><![CDATA[thrift-client/asynclient]]></description><category></category></item><item><title><![CDATA[thift-tprocessor]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490680</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490680</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 20 Oct 2013 13:48:08 +0800</pubDate><description><![CDATA[
thift 服务端模型之TThreadedSelectorServer分析-tprocessor
]]></description><category></category></item><item><title><![CDATA[thift-tropocol层]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490677</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490677</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 20 Oct 2013 13:47:33 +0800</pubDate><description><![CDATA[
asdf 
]]></description><category></category></item><item><title><![CDATA[thift-transport层]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490676</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490676</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 20 Oct 2013 13:46:37 +0800</pubDate><description><![CDATA[
TTransport=&amp;gt;TIOStreamTransport=&amp;gt;TSocket
重要参数设置：
 
socket_.setSoLinger(false, 0);
socket_.setTcpNoDelay(true);
socket_.setSoTimeout(timeout_);//客户端读取超时时间
socket_.connect(new InetSocketAdd...]]></description><category></category></item><item><title><![CDATA[thift 服务端模型之TThreadedSelectorServer分析-server层]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490672</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84490672</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 20 Oct 2013 12:50:26 +0800</pubDate><description><![CDATA[
线程模型: 参数：
 
public static class Args extends AbstractNonblockingServerArgs&amp;lt;Args&amp;gt; {

    //selector线程数 selector线程负责1.事件注册 2.读写IO轮询 3.将数据读取或者写入到transport
    public int selectorThreads = 2;...]]></description><category></category></item><item><title><![CDATA[maven学习]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84488413</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84488413</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 13 Oct 2013 21:40:17 +0800</pubDate><description><![CDATA[


1.使用archetype生成简单项目架子 

mvn archetype:create -DgroupId=com.fs -DartifactId=test -DpackageName=com.fs.wwy -Dversion=1.0.0
2.mvn install
3.运行 java -cp target/test-1.0-SNAPSHOT.jar com.fs.wwy.tes...]]></description><category></category></item><item><title><![CDATA[java 日志发展]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84488410</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84488410</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 13 Oct 2013 21:32:45 +0800</pubDate><description><![CDATA[
日志使用http://www.iteye.com/topic/378077
补充 如何定义日志句柄：
private static Logger logger = LoggerFactory.getLogger(&quot;cons&quot;);
private static Logger logger = LoggerFactory.getLogger(&quot;file&quot;);
 
log4j.propert...]]></description><category></category></item><item><title><![CDATA[NIO 终结者]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84484968</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84484968</guid><author>asfdasdfasdfasd</author><pubDate>Mon, 30 Sep 2013 16:03:15 +0800</pubDate><description><![CDATA[
传统IO请求等待主要在1.等待数据就绪 2.将数据从内核缓冲区到用户进程缓冲区互相拷贝过程
 
传统一连接一线程 请求多的时候服务端需要开辟很多线程消耗资源 最主要的这些消耗并不是都消耗在业务逻辑的执行上面 好多在io等待上面 (通过visualvm监控服务后台可以看出很多都是wait状态) 这个等待的过程是阻塞的，直到完成为止。
那么是不是可以将这些等待利用起来 让一个线程去等呢？如果...]]></description><category></category></item><item><title><![CDATA[NIO+reactor模式的网络服务器设计方案]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84484919</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84484919</guid><author>asfdasdfasdfasd</author><pubDate>Mon, 30 Sep 2013 13:55:13 +0800</pubDate><description><![CDATA[1、前言

       在前一篇文章中，介绍了基于 BlockingIO +thread-per-connection 的方案，由于该方案为每一个连接分配一个线程，而线程里的大部分操作都是阻塞式的，所以在高并发的情况下，会导致产生大量的线程，线程间的上下文切换会浪费大量的 CPU 时间，而且每个线程是需要占用堆栈空间的，所以服务器能分配的线程数量也是有限的，当客户端的并发访问量达到一定的数量...]]></description><category></category></item><item><title><![CDATA[文本和二进制]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84475425</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84475425</guid><author>asfdasdfasdfasd</author><pubDate>Mon, 02 Sep 2013 16:39:28 +0800</pubDate><description><![CDATA[摘自Serv-U网站：
When using ASCII mode, files are actually changed, depending on the server. ASCII mode is used to translate ASCII text files between the server and client. For example when uploading to a...]]></description><category></category></item><item><title><![CDATA[新浪微博授权过程]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84470464</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84470464</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 18 Aug 2013 22:00:33 +0800</pubDate><description><![CDATA[[b]1.你的网站首先要去新浪去认证审核，这样对应新浪微博开发平台来说你是合法的，认证后你会得到client_ID，client_SERCRET这两个东西

2.如果用户登录你的网站 你需要引导用户去https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&amp;response_type=code&amp;redirect_uri=YO...]]></description><category></category></item><item><title><![CDATA[jdk代理,cgib代理和spring后处理bean的关系]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84470370</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84470370</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 18 Aug 2013 14:11:54 +0800</pubDate><description><![CDATA[
最近项目中使用InstantiationAwareBeanPostProcessorAdapter后处理bean的方式发布springbean到osgi容器，但是这里有个方法
@Override
public Object postProcessAfterInitialization(Object bean, String beanName)
第一个参数是Object
这个参数可能是目...]]></description><category></category></item><item><title><![CDATA[基于事件的 NIO 多线程服务器 附件为高性能网络通讯]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84463407</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84463407</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 28 Jul 2013 14:53:31 +0800</pubDate><description><![CDATA[


基于事件的 NIO 多线程服务器 




简介： JDK1.4 提供的无阻塞 I/O（NIO）有效解决了多线程服务器存在的线程开销问题，但在使用上略显得复杂一些。许多基于 NIO 的多线程服务器程序往往直接基于选择器（Selector）的 Reactor 模式实现。这种简单的事件机制对于较复杂的服务器应用，显然缺乏扩展性和可维护性， 而且缺乏直观清晰的结构层次。本文将通过一个...]]></description><category></category></item><item><title><![CDATA[压力测试]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84463395</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84463395</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 28 Jul 2013 14:02:03 +0800</pubDate><description><![CDATA[
压力测试条件
1.并发用户数
2.总请求数(也有按照连续请求时间)
3.请求资源描述（一个简单查询，复杂业务操作等）
 
最大并发数：服务器和用户双方的最大收益，服务器需要支持高并发数和及高吞吐率，用户需要较少的时间得到响应。
 
文件描述符：标明每一个被进程所打开的文件和socket数目
ulimit -n //获取1024
ulimit - n 2048 //设置
 ...]]></description><category></category></item><item><title><![CDATA[dbcp&commons-pool]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84462619</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84462619</guid><author>asfdasdfasdfasd</author><pubDate>Thu, 25 Jul 2013 15:31:00 +0800</pubDate><description><![CDATA[
DBCP主要是为jdbc提供连接池服务。
 
2.实现
2.1 Jakarta Commons Pool
DBCP利用了Jakarta Commons Pool来实现连接池管理。下面回顾一下Commons Pool的基本概念
PoolableObjectFactory: 用于管理被池化的对象的产生、激活、挂起、校验和销毁；  ObjectPool:  用于管理要被池化的对象的借出和归还...]]></description><category></category></item><item><title><![CDATA[Java版的各种Thrift server实现的比较]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84458343</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84458343</guid><author>asfdasdfasdfasd</author><pubDate>Sun, 14 Jul 2013 08:53:42 +0800</pubDate><description><![CDATA[
Thrift Java Servers ComparedThis article talks only about Java servers. See this page if you are interested in C++ servers.本文仅讨论Java版的Thrift server.如果你对C++版的感兴趣，请参考 这个 页面。Thrift is a cross-language s...]]></description><category></category></item><item><title><![CDATA[IO - 同步，异步，阻塞，非阻塞 转]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84457876</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84457876</guid><author>asfdasdfasdfasd</author><pubDate>Thu, 11 Jul 2013 20:45:50 +0800</pubDate><description><![CDATA[
当你发现自己最受欢迎的一篇blog其实大错特错时，这绝对不是一件让人愉悦的事。《 IO - 同步，异步，阻塞，非阻塞 》是我在开始学习epoll和libevent的时候写的，主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢，我还是非常开心的，也说明这个问题确实困扰了很多人。随着学习的深入，渐渐的感觉原来的理解有些偏差，但是还是没引起自己的重视，觉着都是一些小错误，无伤大雅。直到有...]]></description><category></category></item><item><title><![CDATA[项目管理]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84442230</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84442230</guid><author>asfdasdfasdfasd</author><pubDate>Thu, 13 Jun 2013 11:00:28 +0800</pubDate><description><![CDATA[
-------------------------------------------------- 风险 概率 影响 -------------------------------------------------- 规模估计过低 60% 严重的 交付期限太紧张 50% 严重的 用户需求变化频繁 75% 严重的 技术达不到预期效果 30% 轻微的 质量保证体系的措施实施不利 60% 严重的...]]></description><category></category></item><item><title><![CDATA[java 进阶技术方向的好书]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84441701</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84441701</guid><author>asfdasdfasdfasd</author><pubDate>Tue, 11 Jun 2013 11:51:56 +0800</pubDate><description><![CDATA[
1.java分布式应用基础和实践
       http://www.blogjava.net/bluedavy/ 牛逼的技术博客 
2. 深入理解 Java 虚拟机 (JVM 高级特性与最佳实践)
3.构建高性能web站点
4.spring3.x企业级开发 很基础
5.how tomcat work中文 早期tomcat代码  并发  设计模式 基本都有很好的应用 比看书效果好很多...]]></description><category></category></item><item><title><![CDATA[《JAVA与模式》之责任链模式]]></title><link>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84439759</link><guid>https://blog.youkuaiyun.com/asfdasdfasdfasd/article/details/84439759</guid><author>asfdasdfasdfasd</author><pubDate>Thu, 06 Jun 2013 11:11:28 +0800</pubDate><description><![CDATA[
转：http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
 
《JAVA与模式》之责任链模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链（Chain of Responsibility）模式的：
　　责任链模式是一种对象的行为模式。在责任链模式里，很多对象由每一个对象对其下家的引用而连接起...]]></description><category></category></item></channel></rss>