<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[REI的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ankle306</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ankle306]]></copyright><item><title><![CDATA[Spring boot 多线程 分页查询 合并结果]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/84555288</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/84555288</guid><author>ankle306</author><pubDate>Mon, 26 Nov 2018 20:25:17 +0800</pubDate><description><![CDATA[mysql 要使用 in 查询，in 的List比较大，多线程分解List查询


 public List&amp;lt;UserCountBiz&amp;gt; getAttendByPageList(List&amp;lt;Long&amp;gt; list, int pageSize) throws Exception {

        int totalCount = list.size();
        in...]]></description><category></category></item><item><title><![CDATA[try,catch,finally字节码分析]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/79239700</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/79239700</guid><author>ankle306</author><pubDate>Fri, 02 Feb 2018 16:06:36 +0800</pubDate><description><![CDATA[try,catch,finally在网上已经有很多人分析过了，我从字节码方面记录一下学习过程。
try{
...
return
}catch(Exception e){
...
return
}finally{
...
}
在执行try中return之前，会执行finally中的代码，之后执行try中return，如果finally中也有return，就会直接返回，不再执行try中的retur]]></description><category></category></item><item><title><![CDATA[程序在eclipse中可以运行，在脚本（命令行）中报错]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/78274594</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/78274594</guid><author>ankle306</author><pubDate>Wed, 18 Oct 2017 16:38:05 +0800</pubDate><description><![CDATA[今天遇到的一个问题，程序在eclipse中可以运行，在脚本（命令行）中报错，查找原因，classpath设置有误，jar包没有引用全。
在命令行中执行：
java -Djava.ext.dirs=..\lib  DownloadOrderDocumentUtils 2017-10-18
其中-Djava.ext.dirs=..\lib是指定扩展目录路径，也就是引用的jar包路径，但设置了这个]]></description><category></category></item><item><title><![CDATA[垃圾收集器]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/78037860</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/78037860</guid><author>ankle306</author><pubDate>Wed, 20 Sep 2017 10:28:49 +0800</pubDate><description><![CDATA[参考：周志明的《深入了解Java虚拟机》 
垃圾收集器就是内存回收算法的具体实现。 
垃圾收集器针对新生代和老年代分别采用不同算法实现，新生代主要采用“复制算法”，老年代主要采用“标记-清除”或“标记-整理”算法。主要术语：并发（Concurrent）和并行(Parallel)在垃圾收集器的上下文语境中解释如下：并行（parallel）：指多条垃圾收集线程并行工作，但此时用户线程仍然处于等待状态。也]]></description><category></category></item><item><title><![CDATA[JVM垃圾回收算法和内存分配策略]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/78037322</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/78037322</guid><author>ankle306</author><pubDate>Wed, 20 Sep 2017 09:53:42 +0800</pubDate><description><![CDATA[记录JVM学习过程，参考： 
周志明的《深入了解Java虚拟机》垃圾回收算法引用计数器算法(HotSpot中未使用)比较古老的回收算法。原理是此对象有一个引用，即增加一个计数，删除一个引用则减少一个计数。垃圾回收时，只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。1.  停止-复制（stop-and-copy）：适用于对象存活率低时用，新生代使用先暂停程序的运行（所以它不属于后台回收]]></description><category></category></item><item><title><![CDATA[JVM 垃圾对象的判定]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/78020636</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/78020636</guid><author>ankle306</author><pubDate>Mon, 18 Sep 2017 16:26:39 +0800</pubDate><description><![CDATA[引用RednaxelaFX的文章和Thinking
 in java 书P90页部分内容。
在判断垃圾对象的过程中，HotSpot采用的是根搜索算法（也叫可达性分析法）。对任何“活”的对象，一定能最终追溯到其存活在栈或者静态存储区之中的引用（GC
 Roots）。这个引用可能会穿过数个对象层次（即栈中有A的引用，A中有B的引用）。由此，如果从栈和静态存储区开始，便利所有的引用，就能找到所有“]]></description><category></category></item><item><title><![CDATA[web services客户端调用]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/75501756</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/75501756</guid><author>ankle306</author><pubDate>Thu, 20 Jul 2017 11:18:44 +0800</pubDate><description><![CDATA[平时只写服务端接口，今天草草看了一眼客户端的代码，先记录一下，之后再深入了解。
1.新建一个java project,导入Axis2的jar包。
2.File->new->other,新建Axis2 code generator,选择Generate java source code from a WSDL file,]]></description><category></category></item><item><title><![CDATA[log4j]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/75352113</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/75352113</guid><author>ankle306</author><pubDate>Wed, 19 Jul 2017 11:24:25 +0800</pubDate><description><![CDATA[按级别输出日志，输出到不同的地方，控制台，文件，email之类的。
在控制台输出可以代替system.out.println，分级别输出，测试时可以输出debug,上线时可以输出info级别，这时debug级别不会输出。
两篇讲解博客
http://bbs.youkuaiyun.com/topics/310041858

http://www.cnblogs.com/alipayhutu/archi]]></description><category></category></item><item><title><![CDATA[数据库事物]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/75305224</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/75305224</guid><author>ankle306</author><pubDate>Tue, 18 Jul 2017 15:08:48 +0800</pubDate><description><![CDATA[1.3 事物
事物就是一组原子性的SQL查询。事务内的语句，要么全部执行成功，要么全部执行失败。
从jane的支票账户转移200美元到她的储蓄账户，至少3个步骤：
1.检查支票账户的余额高于200美元
2.从支票账户余额减去200美元
3.在储蓄账户余额中增加200美元


ACID:
原子性（atomaticity）
一致性（consistency）:数据库总是从一个一致性状]]></description><category></category></item><item><title><![CDATA[tomcat 单独发布项目 和 eclipse启动tomcat的区别]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/72804262</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/72804262</guid><author>ankle306</author><pubDate>Mon, 29 May 2017 22:08:18 +0800</pubDate><description><![CDATA[tomcat单独发布项目有三种方式：
1.在tomcat/conf目录下，更改server.xml,添加
2.将web项目文件复制到tomcat/webapps目录下
3.在tomcat/conf/Catalina/localhost目录下创建一个xml,将上面的写道这个xml中。


在写代码时需要调试，这时上面这种发布web工程的方式就不合适了，在eclipse中启动调试比较方便，]]></description><category></category></item><item><title><![CDATA[ArrayList add()方法覆盖数据解决办法]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/72730737</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/72730737</guid><author>ankle306</author><pubDate>Thu, 25 May 2017 16:24:27 +0800</pubDate><description><![CDATA[在循环中使用list.add(vo)可能最后只有一个vo,之前的都被覆盖了，原因是vo的对象创建了在循环外面，只有一个对象，所以每次都会被覆盖
		List li = new ArrayList();
    		Retdata data=new Retdata();
    		
    		for (int i = 0; i < retList.size(); i++) {
    			
]]></description><category></category></item><item><title><![CDATA[HttpURLConnection 直接发送soap消息调用webservice]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/56005711</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/56005711</guid><author>ankle306</author><pubDate>Mon, 20 Feb 2017 09:38:02 +0800</pubDate><description><![CDATA[import Java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.NET.HttpURLConnection;
import java.Net.URL;
import java.text.DateFormat;
import java.tex]]></description><category></category></item><item><title><![CDATA[org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/56005704</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/56005704</guid><author>ankle306</author><pubDate>Mon, 20 Feb 2017 09:37:19 +0800</pubDate><description><![CDATA[org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8
错误，在使用url调用webServices接口时发生错误。
解决办法：提交url时使用getBytes("utf-8")。
httpConn.getOutputStream().write(xml.getBytes("utf-8"]]></description><category></category></item><item><title><![CDATA[双系统重装win7之后引导linux（无系统盘）]]></title><link>https://blog.youkuaiyun.com/ankle306/article/details/44831139</link><guid>https://blog.youkuaiyun.com/ankle306/article/details/44831139</guid><author>ankle306</author><pubDate>Thu, 02 Apr 2015 13:43:31 +0800</pubDate><description><![CDATA[开始装的是win7和centos 双系统，重装win7之后，重写了MBR，没有了grub
1.下载ext2explorer,将Linux中的grub.conf导出来，我的是在/boot/grub/grub.conf.
2.下载easyBCD，“添加新条目”—>"Neo Grub"，创建之后在配置中写grub.conf中的内容。我的是：
default 0
timeout 0

titl]]></description><category></category></item></channel></rss>