<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HelloWorld]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenjianlinsb</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenjianlinsb]]></copyright><item><title><![CDATA[java BIO]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84755715</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84755715</guid><author>chenjianlinsb</author><pubDate>Thu, 10 Dec 2015 14:40:58 +0800</pubDate><description><![CDATA[
一、传统的BIO编程
先用BIO实现一个简单功能：
server端：监听，打印客户端发送过来的内容，并将原内容回复给客户端。
客户端：向服务端发送内容，并打印服务端返回的内容。
服务端代码：
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
i...]]></description><category></category></item><item><title><![CDATA[java网络编程]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84755709</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84755709</guid><author>chenjianlinsb</author><pubDate>Thu, 10 Dec 2015 14:29:44 +0800</pubDate><description><![CDATA[

java BIO


java NIO


java NIO-API Channel


java NIO-API Buffer


java NIO-API Selector


java NIO 代码解读


Netty……

]]></description><category></category></item><item><title><![CDATA[quartz spring 实现动态定时任务]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84604671</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84604671</guid><author>chenjianlinsb</author><pubDate>Fri, 06 Jun 2014 23:12:32 +0800</pubDate><description><![CDATA[
源码：http://chuhanzhi.com/?p=45 点击最下方链接即可下载
 
在实际项目应用中经常会用到定时任务，可以通过quartz和spring的简单配置即可完成，但如果要改变任务的执行时间、频率，废弃任务等就需要改变配置甚至代码需要重启服务器，这里介绍一下如何通过quartz与spring的组合实现动态的改变定时任务的状态的一个实现。
参考文章：http://www.me...]]></description><category></category></item><item><title><![CDATA[微信群发  java]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84480010</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84480010</guid><author>chenjianlinsb</author><pubDate>Mon, 16 Sep 2013 10:34:25 +0800</pubDate><description><![CDATA[
找了几个微信群发的代码，发现都不能用了，简单研究，改进了一下，做了一个简单的web版本的放到gitHub上了，大家可以参考一下。地址：https://github.com/snailxr/weixin/
效果如下：
1.登录页面
 
2.登录后页面，可以发送简单文本消息或图文消息。图文消息需要自己在公众平台建好后再查看该图文消息的id（类似 1000020）填写到图文id即可

 ...]]></description><category></category></item><item><title><![CDATA[自定义jstl标签]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84419258</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84419258</guid><author>chenjianlinsb</author><pubDate>Mon, 15 Apr 2013 14:39:16 +0800</pubDate><description><![CDATA[
步骤如下： 1、写tld文档：用来指定标签的名字，标签库等。
2、写标签处理器类。
3、配置到web.xml中 4、在jsp中使用新定义的标签
例：实现一个自定义标签 功能如下 如果字符串长度超过规定长，则截取，并根据要求添加省略号
tls文档：
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;!DOCTYPE taglib PUB...]]></description><category></category></item><item><title><![CDATA[ProxoolDataSource做连接池时出现的问题]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84416549</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84416549</guid><author>chenjianlinsb</author><pubDate>Mon, 08 Apr 2013 13:53:10 +0800</pubDate><description><![CDATA[
&amp;lt;bean id=&quot;dataSource&quot; class=&quot;org.logicalcobwebs.proxool.ProxoolDataSource&quot;&amp;gt;
		&amp;lt;property name=&quot;alias&quot; value=&quot;db.proxool&quot;&amp;gt;&amp;lt;/property&amp;gt;
		&amp;lt;property name=&quot;driver&qu]]></description><category></category></item><item><title><![CDATA[svn 后台管理]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84416419</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84416419</guid><author>chenjianlinsb</author><pubDate>Mon, 08 Apr 2013 09:54:29 +0800</pubDate><description><![CDATA[
svn 的后台管理：
将一个文件夹设为仓库后进行一下修改：
1.svnserve.conf:
    anon-access = none #这样所有访问必须提供用户名密码
    password-db = passwd用户名密码的位置
    authz-db = authz提供验证文件的位置
   （多个仓库可以共享同一个passwd authz文件便于管理）
2.pass...]]></description><category></category></item><item><title><![CDATA[eclipse 使用技巧记录]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84416129</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84416129</guid><author>chenjianlinsb</author><pubDate>Sun, 07 Apr 2013 13:36:21 +0800</pubDate><description><![CDATA[
一直用的是netbeans，也比较顺手，但是现在团队里都用的eclipse不得已，要换了，工欲善其事，必先利其器。记录一下它的一些用法
1.修改eclipse默认编码：
 
工作空间范围: Window-&amp;gt;Preferences-&amp;gt;General-&amp;gt;Workspace-&amp;gt;Text file encoding-&amp;gt;Other-&amp;gt;UTF-8
 
项目范围...]]></description><category></category></item><item><title><![CDATA[ie6中select动态添加option并设置其value]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84097449</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84097449</guid><author>chenjianlinsb</author><pubDate>Fri, 09 Dec 2011 18:16:36 +0800</pubDate><description><![CDATA[    在ie6中使用jquery的select.attr('value',xx);时在ie6中会报错，不能正确设置其值，解决方法就是在设置值的代码块周围加上setTimeout，如：
window.setTimeout(function(){//ie6需要稍微延迟
            select.attr('value',xxx);
        }, 100);
 为什么呢？s...]]></description><category></category></item><item><title><![CDATA[(转)Understanding Array.prototype.slice.apply(arguments) in JavaScript]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84058956</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84058956</guid><author>chenjianlinsb</author><pubDate>Thu, 03 Nov 2011 14:11:10 +0800</pubDate><description><![CDATA[转自：http://blog.sebarmeli.com/2010/11/12/understanding-array-prototype-slice-applyarguments/

If you are a JavaScript developer soon or later you’ll bump into this guy: Array.prototype.slice.apply(ar...]]></description><category></category></item><item><title><![CDATA[javascript 中的对象函数闭包]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84057639</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84057639</guid><author>chenjianlinsb</author><pubDate>Tue, 01 Nov 2011 16:57:56 +0800</pubDate><description><![CDATA[Javascript

对象的创建


 
1.

var a=new Object();

a.x=1;a.y=2;

2.

var b={x:1,b,2}

3.

function Point (x,y){this.x=x;this.y=y}

var point=new Point(1,2); 
 
javascript 
中任何合法的函数都...]]></description><category></category></item><item><title><![CDATA[linux 引导流程]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84043009</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84043009</guid><author>chenjianlinsb</author><pubDate>Thu, 06 Oct 2011 18:36:40 +0800</pubDate><description><![CDATA[
硬件时钟：hwclock  - - hctosys (用硬件时间同步系统时间) - - systohc
软件时钟：datalinux 引导流程 ：

1.固件firmware(CMOS/BIOS)  （POST加电自检）
2.自举程序BootLoader(GRUB 配置文件在 /etc/grub.conf中 /boot/grub/grub.conf)  （载入内核 保存于MBR中）  ...]]></description><category></category></item><item><title><![CDATA[linux 常用命令]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84042838</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84042838</guid><author>chenjianlinsb</author><pubDate>Wed, 05 Oct 2011 23:46:50 +0800</pubDate><description><![CDATA[只有管理员才能使用的命令放在/sbin或/usr/sbin，所有用户都可以使用的命令放在/bin或/usr/bin
ls(list) -ald
a显示所有文件，包括隐藏文件
l详细信息显示
d查看目录信息（只看目录）
pwd查看当前在哪个目录文件处理命令：

cp 源文件或目录 目标目录  若复制目录时必须加-R参数
mv源文件或目录 目标目录 可以实现改名
rm文件名 删除文件...]]></description><category></category></item><item><title><![CDATA[firefox checkbox刷新后任然保留原状态]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84018188</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84018188</guid><author>chenjianlinsb</author><pubDate>Fri, 16 Sep 2011 13:44:58 +0800</pubDate><description><![CDATA[    在firefox的单选框在刷新时可能会保留上次的状态，要解决这个问题可以
在checkbox中加属性 autocomplete=&quot;off&quot;
    在其他的元素中也可能回遇到类似的问题，如果该元素有autocomplete这个属性，那么可以将其值设为off试一下。
 
    如果表单中的所有属性都不想要autocomplete,那么可以在&amp;lt;form&amp;gt;中加这个属性。...]]></description><category></category></item><item><title><![CDATA[匹配@字符串 备忘]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84013298</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84013298</guid><author>chenjianlinsb</author><pubDate>Tue, 06 Sep 2011 13:42:01 +0800</pubDate><description><![CDATA[public static void main(String[] args) {
        //String reg=&quot;@^(\\.|\\,|:|;|!|\\?|\\s|#|@|。|，|：|；|！|？)*&quot;;
        //String reg=&quot;@[^\\.^\\,^:^;^!^\\?^\\s^#^@^。^，^：^；^！^？]+&quot;; //以@开头以.,:等结束的字符串

  ...]]></description><category></category></item><item><title><![CDATA[java线程新特性]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84011411</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84011411</guid><author>chenjianlinsb</author><pubDate>Thu, 01 Sep 2011 22:01:03 +0800</pubDate><description><![CDATA[ExecutorService

package thread;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.BlockingQueue;
import java.util.concurre...]]></description><category></category></item><item><title><![CDATA[java线程初步]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84011390</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/84011390</guid><author>chenjianlinsb</author><pubDate>Thu, 01 Sep 2011 21:19:16 +0800</pubDate><description><![CDATA[
Java   线程初步 
 
 
http://chuhanzhi.com/?p=66 点击链接看整理后的文章
创建线程两种方法： 
1.          继承 Thread 类，并覆盖其中 run 方法如下：
 
package thread;
 
public class FirstThread extends Thread {// 直接继承 Thread 类

  ...]]></description><category></category></item><item><title><![CDATA[mysql innodb next-key locking（小翻译）]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/83984115</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/83984115</guid><author>chenjianlinsb</author><pubDate>Wed, 10 Aug 2011 16:03:32 +0800</pubDate><description><![CDATA[InnoDB has several types of record-level locks:
    Record lock: This is a lock on an index record.
    Gap lock: This is a lock on a gap between index records, or a lock on the gap before the first...]]></description><category></category></item><item><title><![CDATA[hibernate 中使用union]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/83983433</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/83983433</guid><author>chenjianlinsb</author><pubDate>Tue, 09 Aug 2011 17:51:46 +0800</pubDate><description><![CDATA[
    hibernate中hql是不支持union的，所以只能借助native sql了:
原来代码
     String countHql2 = &quot;select count(distinct p) from Project as p,Comment as c,Bookmark as b where (&quot; + &quot;c.owner.id=? and p.id=c.targetId and c...]]></description><category></category></item><item><title><![CDATA[mysql innodb mvcc 笔记]]></title><link>https://blog.youkuaiyun.com/chenjianlinsb/article/details/83983326</link><guid>https://blog.youkuaiyun.com/chenjianlinsb/article/details/83983326</guid><author>chenjianlinsb</author><pubDate>Tue, 09 Aug 2011 16:10:09 +0800</pubDate><description><![CDATA[    通过为每一行记录添加两个额外的隐藏的值来实现MVCC，这两个值一个记录这行
数据何时被创建，另外一个记录这行数据何时过期（或者被删除）。
    但是InnoDB并不存储这些事件发生时的实际时间，相反它只存储这些事件发生时的系统版
本号。这是一个随着事务的创建而不断增长的数字。每个事务在事务开始时会记录它自己的系统版本号。每个查询必须去检查每行数据的版本号与事务的版本号是否
相同。...]]></description><category></category></item></channel></rss>