<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ben_gmail的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ben_gmail</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ben_gmail]]></copyright><item><title><![CDATA[plsql 9客户端在win8 64位安装遇到问题记录]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/84432705</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/84432705</guid><author>ben_gmail</author><pubDate>Sat, 18 May 2013 13:09:23 +0800</pubDate><description><![CDATA[
我的系统是64位的win8 英文版，安装的是oracle 10g的精简版，这个安装后没有任何问题。
下载了一个PLSQL 9的，我在此处下载:http://pl-sql-developer.softonic.cn/
1、下载完毕后安装，遇到的第一个问题是：TNS: could not resolve the connect identifier specified，由于我的oracle本身服...]]></description><category></category></item><item><title><![CDATA[Go语言的闭包学习心得]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/84430325</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/84430325</guid><author>ben_gmail</author><pubDate>Mon, 13 May 2013 16:43:49 +0800</pubDate><description><![CDATA[
       最近对Go语言产生了点兴趣，也正好此玩意可以在eclipse中开发，就下载了玩玩。学习过程中发现Go语言也有闭包这个概念，由于之前自学JS的时候也学过闭包，所以对此特别关注学习了下，也在网上搜索了一些关于Go语言的闭包概念。但是介于golang.org一直进不去，待将来爬进去后再去深刻的恶补下golang的闭包概念.
          1、网上常见的三个闭包案例(前两个节选自...]]></description><category></category></item><item><title><![CDATA[java nio&netty系列之三netty网络模型代码以及简化版代码示例]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/84428010</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/84428010</guid><author>ben_gmail</author><pubDate>Wed, 08 May 2013 11:30:58 +0800</pubDate><description><![CDATA[
      在上一篇章讲了这么多关于recator模型，那么在netty里面到底是怎么使用这个模型的呢？
    1、netty的服务器端网络模型
      个人阅读netty源代码的时候，认为netty的服务器端用的是最简单的recator网络模型，也就是单线程的recator模型。本文涉及到的netty源码版本是3.6.5，主要分析socket协议中的nio。
      1.1、...]]></description><category></category></item><item><title><![CDATA[记java 正则表达式-一个奇怪的问题]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/84424735</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/84424735</guid><author>ben_gmail</author><pubDate>Sun, 28 Apr 2013 16:55:22 +0800</pubDate><description><![CDATA[
 
      遇到一个正则表达会的问题，暂时未找到理论上的支持，所以先在此记录，待后慢慢解决
 
public static void main(String [] ben){
   System.out.println(&quot;12345&quot;.replaceAll(&quot;.*&quot;, &quot;a&quot;));
}
 
     关于这行语句，大家试想下输出会是什么？我一开始分析答案可能是以下两个：
 ...]]></description><category></category></item><item><title><![CDATA[netty 3.2.7高并发访问客户端丢包问题BUG]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/84422345</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/84422345</guid><author>ben_gmail</author><pubDate>Tue, 23 Apr 2013 17:20:11 +0800</pubDate><description><![CDATA[
最近在阅读netty（3.2.7）源码的时候，看到服务器端接受客户端连接代码的时候嗅到了一丝不和谐的气味，具体代码见：org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink类里面的BOSS线程:
        public void run() {
            final Thread currentThr...]]></description><category></category></item><item><title><![CDATA[java nio&netty系列之二reactor模型基础]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/84422244</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/84422244</guid><author>ben_gmail</author><pubDate>Tue, 23 Apr 2013 15:05:40 +0800</pubDate><description><![CDATA[
        上一篇章介绍了下NIO的基础，并且也给出了一个简单的代码示例，但是如果想享受NIO带来的高速的快感，就得使用多线程编程了。那么在使用多线程编程之前，有一些关于多线程的东西想分享下：
一、关于多线程

分享点一：在单核CPU上，多线程不一定能比单线程更好。为什么要使用多线程？很多人也许未必去考虑过，我个人认为，使用多线程是为了减少CPU等待的时间，最大化的利用CPU的性能。那...]]></description><category></category></item><item><title><![CDATA[nio&netty系列之一nio基础]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/84420016</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/84420016</guid><author>ben_gmail</author><pubDate>Wed, 17 Apr 2013 12:27:49 +0800</pubDate><description><![CDATA[
 
写在文章初始
 
 
       很久没有读源码了，近来据说netty的源码很漂亮，而且自身对nio的理解其实一直也不到位，所以有天突然心血来潮，决定沉下心，重新学习nio的知识，并通过读netty的源码来加深理解，但是现实生活中，工作，娱乐，心情等各种原因，导致整个过程很漫长，所以我决定一篇一篇的整理我的笔记内容发布到我的博客。算是一个进步过程吧.
 
JAVA NIO基础...]]></description><category></category></item><item><title><![CDATA[JAVA关于方法调用的代码写法与性能问题]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/7080837</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/7080837</guid><author>ben_gmail</author><pubDate>Sat, 17 Dec 2011 22:49:14 +0800</pubDate><description><![CDATA[最近在做性能分析，使用ECLIPSE的TPTP做性能分析，虽然早前知道频繁的调用方法是比较耗性能的，毕竟需要维持一个调用栈，具体的理论已经模糊了，就拿实践来叙述一个问题吧。
    有如下代码
    
	/**
	 * get cache define list
	 * 
	 * @return List
	 */
	public Map getCacheCfgMap() {
		if (]]></description><category></category></item><item><title><![CDATA[好文章记录-为防止丢失]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/7014583</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/7014583</guid><author>ben_gmail</author><pubDate>Sat, 26 Nov 2011 14:50:45 +0800</pubDate><description><![CDATA[java对象内存消耗分析系列文章：
1.http://www.codeinstructions.com/2008/12/java-objects-memory-structure.html]]></description><category></category></item><item><title><![CDATA[ibatis的异常错误，多加了一个;号。]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6856258</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6856258</guid><author>ben_gmail</author><pubDate>Sun, 09 Oct 2011 16:46:53 +0800</pubDate><description><![CDATA[在ibatis里配置了下面的一个查询语句:
   	<select id="Wt_uac_permission_def_exp_query_auth_list"
		resultMap="Wt_uac_auth_defDomain_base.Wt_uac_auth_defDom]]></description><category></category></item><item><title><![CDATA[html回车键导致form提交的问题]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6679176</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6679176</guid><author>ben_gmail</author><pubDate>Thu, 11 Aug 2011 15:47:52 +0800</pubDate><description><![CDATA[转载自:http://www.cnspeed.com/info/Article/dhtml/200909/4049.html
     我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为，希望输入完关键词之后]]></description><category></category></item><item><title><![CDATA[自己写的一个JS表格分页代码第一版]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6585141</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6585141</guid><author>ben_gmail</author><pubDate>Tue, 05 Jul 2011 10:53:31 +0800</pubDate><description><![CDATA[自己写了一个JS的分写代码工具，一般如果提到JS分页，我首先想到的是EXT的分页，但是为了使用一个分写就把EXT引入进来似乎有点杀鸡用牛刀的感觉，而且也懒得去网上找别人的代码，就自己根据自己的需求写了个，也可以说是EXT表格分页代码的一个简单版。]]></description><category></category></item><item><title><![CDATA[慎用submit自动提交标签]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6536296</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6536296</guid><author>ben_gmail</author><pubDate>Fri, 10 Jun 2011 13:47:00 +0800</pubDate><description><![CDATA[	在做一个页面的时候，使用了ajax操作服务段程序的功能，出现一个异常现象，ajax程序能够触发后台的操作，但是页面上却告知我ajax异常了，当然如果我不捕捉异常，这段程序也可以运行，因为后台的确介绍到了页面ajax的数据在处理了，不过我是程序员，肯定不会放过这种奇怪的问题，所以花了半天逐行检查html标签终于发现了原因。	页面上的ajax方法是doLimitDelete()       ]]></description><category></category></item><item><title><![CDATA[JS继承机制--写的比较通俗易懂，一系列文章看文对于你对于JS继承机制的理解会加深很多]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6529764</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6529764</guid><author>ben_gmail</author><pubDate>Tue, 07 Jun 2011 15:38:00 +0800</pubDate><description><![CDATA[Javascript继承机制的设计思想作者： 阮一峰日期： 2011年6月 5日我一直很难理解Javascript语言的继承机制。它没有"子类"和"父类"的概念，也没有"类"（class）和"实例"（instance）的区分，全靠一种很奇特的"原型链"（prototype chain）模式，来实现继承。我花了很多时间，学习这个部分，还做了很多]]></description><category></category></item><item><title><![CDATA[spring与freemarker集成，顺带spring mvc的helloword部署]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6365464</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6365464</guid><author>ben_gmail</author><pubDate>Tue, 26 Apr 2011 22:20:00 +0800</pubDate><description><![CDATA[      spring与freemarker集成的文章在网上有很多，我就是照着做的，不过按照惯例，我每次搞这种玩意都会出现问题，这次也一样，出现了下面这个错误（请允许我先说错误，再说怎么部署）：      严重: Servlet.service() for servlet hello threw exception       javax.servlet.ServletException: Could not resolve view with name '            		hellouser.]]></description><category></category></item><item><title><![CDATA[新浪微博应用的demo入门]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6329020</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6329020</guid><author>ben_gmail</author><pubDate>Sun, 17 Apr 2011 11:46:00 +0800</pubDate><description><![CDATA[<br />      其实我擅长的技术手段是java,但是如果使用java开发新浪围脖应用，你需要有自己的个人空间和独立域名才可以，弄这些东西的成本太高了，而且公司的主机我也不敢公拿私用，没办法，最后使用了一个新浪的开发引擎(Sina App Engine SDK)来开发，这玩意支持的是PHP，为此，我特地看了PHP的快速入门，开始了我的新浪围脖应用开发的启程之路。<br />      题外话：其实看完新浪围脖应用的API之后，想获取好友信息，获取自己发布的最新的几条围脖，获取评论之类的都很简单，在sd]]></description><category></category></item><item><title><![CDATA[BufferedReader源码笔记]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6325964</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6325964</guid><author>ben_gmail</author><pubDate>Fri, 15 Apr 2011 16:08:00 +0800</pubDate><description><![CDATA[       怎么说呢，由于看人家源码的时候发现经常会使用BufferedReader的mark(int readAheadLimit)和reset()方法，但是自己使用的时候其实经常会出现这样或者那样的问题，所以干脆就看了源码，没有注释的源码猜人家的意思的确还是很麻烦，也许是我jdk1.1的源码看的不够多，或者本身能力有限，所以花了很长时间才完全弄明白BufferedReader的源码，并且正好也复习了下设计模式之-装饰模式,点此穿越.       当然这篇文章的由来是由于BufferedReader之m]]></description><category></category></item><item><title><![CDATA[设计模式-装饰模式(Decorator)在jDK中IO系统的应用]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6325300</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6325300</guid><author>ben_gmail</author><pubDate>Fri, 15 Apr 2011 12:05:00 +0800</pubDate><description><![CDATA[    该模式在java中比较典型的应用也就是jdk的io系统了    装饰模式类图好吧，其实这类图只对UML熟悉的人才有用，装饰模式有啥用？说白了就是在原来类的功能上，对这些功能做一些增强处理，当然为了增强功能而通过继承也是一种有效的方式，当然对于各种组合比较多的情况下，使用继承可能会有太多的类出现，所以就需要使用装饰模式，当然装饰模式的缺点也是显而易见的，使用上会比较麻烦。举个例子：   FileReader   StringReader   我要为这两个类的read功能增加缓存功能，如果使用继承方式，]]></description><category></category></item><item><title><![CDATA[javascript的数组元素，为Array增加两个函数,实现删除功能]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6274291</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6274291</guid><author>ben_gmail</author><pubDate>Thu, 24 Mar 2011 15:52:00 +0800</pubDate><description><![CDATA[<br />      javascript的数组Array好像没有默认函数可以删除元素，当同事问起的时候也询问了下google,发现的确没有，继续谷之要删除元素需要要做下面三步：<br />      1.删除元素<br />      2.删除元素后的所有元素的索引-1<br />      3.数组长度-1<br /> <br />      根据上面三步策略，扩充了下Array的prototype，增加了两个函数用于删除数组，当然这里暂时没有考虑性能问题，只是为了满足日常所用。代码如下：<br />]]></description><category></category></item><item><title><![CDATA[模仿出错信息输出调用类的层次结构]]></title><link>https://blog.youkuaiyun.com/ben_gmail/article/details/6268300</link><guid>https://blog.youkuaiyun.com/ben_gmail/article/details/6268300</guid><author>ben_gmail</author><pubDate>Tue, 22 Mar 2011 15:56:00 +0800</pubDate><description><![CDATA[<br />    今日同时问我个问题：如果A类调用B类,通过反射机制能不能再B类获取到A类的调用方法名称和类名称<br />    经网上查询[http://michael-paul.javaeye.com/blog/724857]得，不需要反射，通过Thread.getStackTrace()获取调用者堆栈信息。<br /> <br />   getStackTracepublic StackTraceElement[] getStackTrace()返回一个表示该线程堆栈转储的堆栈跟踪元素数组。如果该]]></description><category></category></item></channel></rss>