<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xsi64的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xsi640</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xsi640]]></copyright><item><title><![CDATA[c#使用扫描仪]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/51880952</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/51880952</guid><author>xsi640</author><pubDate>Mon, 11 Jul 2016 15:16:48 +0800</pubDate><description><![CDATA[最近有个项目，需呀调用扫描仪。
我们这里使用微软wia组件，调用扫描仪，去扫描图像。
先引用这个组件，这个组件是个com组件。


调用扫描仪的代码，很简单，返回一个ImageFile接口。这个ImageFile就是扫描后的图像文件。
public ImageFile Scan()
{
    ImageFile image;

    try
    {
        Common]]></description><category></category></item><item><title><![CDATA[.Net Core 之 HelloWorld]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/51242021</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/51242021</guid><author>xsi640</author><pubDate>Mon, 25 Apr 2016 14:33:26 +0800</pubDate><description><![CDATA[.Net Core出来这么久了，今天来做个HelloWorld例子。
其实，这个例子是微软官方提供的。so easy。


访问下面网址，这里已经给出了HelloWord这个例子的步骤。
http://dotnet.github.io/getting-started/



1.下载并安装.Net Core。


很简单，一路Next就行。
2.在命令行下打几个命令
]]></description><category></category></item><item><title><![CDATA[STS或eclipse安装SVN插件]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/51241814</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/51241814</guid><author>xsi640</author><pubDate>Mon, 25 Apr 2016 14:01:03 +0800</pubDate><description><![CDATA[安装sts--SVN插件 

简介：sts是与eclipse类似的Java IDE开发工具（不了解的百度）

1、sts菜单栏 help->install New Software 

依据大家的版本选择：http://subclipse.tigris.org/update

                  比如：http://subclipse.tigris.org/upda]]></description><category></category></item><item><title><![CDATA[Java中hash+salt的加密算法]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44962289</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44962289</guid><author>xsi640</author><pubDate>Thu, 09 Apr 2015 16:57:40 +0800</pubDate><description><![CDATA[一般我们存储密码的时候，使用hash算法进行存储，但是，这样做是不安全的，虽然不能反向生成密码，但是可以通过彩虹法和反向查表法高效的猜解出密码。
比较安全的做法就是使用hash+salt的加密算法。
这里使用了RFC2898标准。
看代码：
Rfc2898DeriveBytes.java

package com.poreader.common;

import java.io.Uns]]></description><category></category></item><item><title><![CDATA[java中类型转换那种性能最优]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44939793</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44939793</guid><author>xsi640</author><pubDate>Wed, 08 Apr 2015 13:55:33 +0800</pubDate><description><![CDATA[我们以String转换为Integer为例，测试一下。
需要注意的是Ints.tryParse()方法用的google guava类库；NumberUtils来自commons-lang类库。
测试代码：
public class Test {

	public static int limit = 1000000;
	public static String sint = "9999";
]]></description><category></category></item><item><title><![CDATA[关于uuid类型的转换]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44939645</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44939645</guid><author>xsi640</author><pubDate>Wed, 08 Apr 2015 13:36:11 +0800</pubDate><description><![CDATA[对于没有分隔符的uuid字符串转换方式如下：
	public static UUID fromStringWhitoutHyphens(String str) {
		if (str.length() != 32) {
			throw new IllegalArgumentException("Invalid UUID string: " + str);
		}
		String s1 = "]]></description><category></category></item><item><title><![CDATA[JAVA String.format 方法使用介绍]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44937771</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44937771</guid><author>xsi640</author><pubDate>Wed, 08 Apr 2015 10:48:13 +0800</pubDate><description><![CDATA[1.对整数进行格式化：%[index$][标识][最小宽度]转换方式
        我们可以看到，格式化字符串由4部分组成，其中%[index$]的含义我们上面已经讲过，[最小宽度]的含义也很好理解，就是最终该整数转化的字符串最少包含多少位数字。我们来看看剩下2个部分的含义吧：


标识： 
'-'    在最小宽度内左对齐，不可以与“用0填充”同时使用
'#'    只适用于8进制]]></description><category></category></item><item><title><![CDATA[druid连接池的使用。]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44857465</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44857465</guid><author>xsi640</author><pubDate>Fri, 03 Apr 2015 17:14:09 +0800</pubDate><description><![CDATA[pom.xml添加依赖
		
			com.alibaba
			druid
			1.0.13
		
dbconfig.properties，连接池配置信息

#我用的是mysql数据库
url=jdbc:mysql://127.0.0.1:3306/poreader
username=root
password=123123
filters=stat
#最大连接数量
maxActive]]></description><category></category></item><item><title><![CDATA[log4j.properties配置详解]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44857439</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44857439</guid><author>xsi640</author><pubDate>Fri, 03 Apr 2015 17:06:37 +0800</pubDate><description><![CDATA[stone 的 log4j配置详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的，它可接key=value格式的设置或xml格式的设置信息。通过配置，可以创建出Log4J的运行环境。

1. 配置文件
Log4J配置文件的基本格式如下：

#配置根Logger
log4j.rootLogger  =   [ level ] ]]></description><category></category></item><item><title><![CDATA[log4j设置]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44857385</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44857385</guid><author>xsi640</author><pubDate>Fri, 03 Apr 2015 17:05:29 +0800</pubDate><description><![CDATA[log4j.properties
### set log levels ###
log4j.rootLogger = debug ,  stdout ,  D ,  E

### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out]]></description><category></category></item><item><title><![CDATA[Spring rmi实现简单例子]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44856247</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44856247</guid><author>xsi640</author><pubDate>Fri, 03 Apr 2015 16:05:52 +0800</pubDate><description><![CDATA[不说废话了，直接上代码。
服务端：
pom.xml中加入spring依赖
		
			org.springframework
			spring-context
			4.1.6.RELEASE
		
远程方法声明接口，IHelloWorld.java
package com.poreader.rmi;

public interface IHelloWorld {
	public St]]></description><category></category></item><item><title><![CDATA[让maven访问nexus私服。]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44853155</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44853155</guid><author>xsi640</author><pubDate>Fri, 03 Apr 2015 11:27:15 +0800</pubDate><description><![CDATA[nexus
      *
      http://127.0.0.1:8081/nexus/content/groups/public/
    
	
		
			central
			central
			http://127.0.0.1:8081/nexus/content/groups/public/
			default
			
				true
			
			
				true
	]]></description><category></category></item><item><title><![CDATA[修改Maven本地仓库的存储位置]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/44851499</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/44851499</guid><author>xsi640</author><pubDate>Fri, 03 Apr 2015 09:56:20 +0800</pubDate><description><![CDATA[修改/conf/setting.xml]]></description><category></category></item><item><title><![CDATA[Linux 标准目录结构]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/30058477</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/30058477</guid><author>xsi640</author><pubDate>Wed, 11 Jun 2014 15:08:12 +0800</pubDate><description><![CDATA[初学Linux，首先需要弄清Linux 标准目录结构

/

root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件

ftp --- 用户所有服务httpdsambauser1user2
bin --- 系统启动时需要的执行文件（二进制）sbin --- 可执行程序的目录，但大多存放涉及系统管理的命令。只有]]></description><category></category></item><item><title><![CDATA[让maven自动下载源码和doc。]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/30038743</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/30038743</guid><author>xsi640</author><pubDate>Wed, 11 Jun 2014 11:10:34 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Lucene查看分词结果]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/30035659</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/30035659</guid><author>xsi640</author><pubDate>Wed, 11 Jun 2014 10:49:45 +0800</pubDate><description><![CDATA[/**
 * 获取分词结果
 * @param 输入的字符串
 * @param 分词器
 * @return 分词结果
 */
public static List getWords(String str,Analyzer analyzer){
	List result = new ArrayList();
	TokenStream stream = null;
	try {
		stream ]]></description><category></category></item><item><title><![CDATA[Tomcat编码问题]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/29921101</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/29921101</guid><author>xsi640</author><pubDate>Tue, 10 Jun 2014 22:32:22 +0800</pubDate><description><![CDATA[在TOMCAT中的server.xml中的
URIEncoding="UTF-8" //对URI使用utf-8编码处理
?
 useBodyEncodingForURI="true" URIEncoding="UTF-8"connectionTimeout="20000" maxThreads="150" port="8888" protocol="HTTP/1.1" redirectPor]]></description><category></category></item><item><title><![CDATA[在64位平台上的Lucene，应该使用MMapDirectory]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/29921081</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/29921081</guid><author>xsi640</author><pubDate>Tue, 10 Jun 2014 22:32:18 +0800</pubDate><description><![CDATA[http://blog.thetaphi.de/2012/07/use-lucenes-mmapdirectory-on-64bit.html

从3.1版本开始，Lucene和Solr开始在64位的Windows和Solaris系统中默认使用MMapDirectory，从3.3版本开始，64位的Linux系统也启用了这个配置。这个变化使一些Lucene和Solr的用户有些迷茫，因为突然之间他]]></description><category></category></item><item><title><![CDATA[Java properties文件用法]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/29921069</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/29921069</guid><author>xsi640</author><pubDate>Tue, 10 Jun 2014 22:32:14 +0800</pubDate><description><![CDATA[package com.suyang.properties;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
i]]></description><category></category></item><item><title><![CDATA[apache commons pool]]></title><link>https://blog.youkuaiyun.com/xsi640/article/details/29921049</link><guid>https://blog.youkuaiyun.com/xsi640/article/details/29921049</guid><author>xsi640</author><pubDate>Tue, 10 Jun 2014 22:32:10 +0800</pubDate><description><![CDATA[apache commons下的pool
其中的borrowObject函数源代码显示其产生可用对象的过程：
    如果stack中有空闲的对象，则pop对象，激活对象（activate函数），验证对象（validate函数）。最终将合格的对象返回给client。
                       若对象在这个流程中出错，则在从stack中取出一个，并执行相同的流程。如此循环，]]></description><category></category></item></channel></rss>