<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[1ouis的专栏]]></title><description><![CDATA[Java is my BASE.]]></description><link>https://blog.youkuaiyun.com/xiaorang_java</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaorang_java]]></copyright><item><title><![CDATA[基础测试理论与实践-连载（一）：写的背景与动机]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/68962734</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/68962734</guid><author>xiaorang_java</author><pubDate>Mon, 03 Apr 2017 18:20:24 +0800</pubDate><description><![CDATA[注：本文是原创，转载麻烦务必注明出处。


我第一次接触测试的概念，是我大三的一次技术通识课上。
我的学校是一所国家级重点大学，在广东省更是办学的佼佼者。虽然我的专业，计算机科学与技术不是S学校的强项，但是我们班有很多同学在校期间就拿了ACM的世界金牌。在这种大牛大神的崇尚学习氛围下，测试作为一门与“项目管理”初感类似的课程，自然不会引起任何波澜。
幸运的是，毕业的时候，我进入了阿里公司]]></description><category></category></item><item><title><![CDATA[本地Spring容器关闭的时机]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/51065520</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/51065520</guid><author>xiaorang_java</author><pubDate>Tue, 05 Apr 2016 16:11:56 +0800</pubDate><description><![CDATA[一、背景引入
近期开发Spring应用的时候，基本的用户功能逻辑都通过SpringMVC框架铺垫好，通过暴露给前端的API进行功能的实现。但是在设计运营后台部分的时候，由于时间有限，采用了使用Shell脚本调用Java的方式，然后产生了一个让我头痛一阵子的问题：通过Shell调用Java功能，由于需要使用到mybatis操作数据库，mybatis与dao层强绑定，故被Shell脚本调用的Java]]></description><category></category></item><item><title><![CDATA[final关键字与Java编译器的小坑]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/51064626</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/51064626</guid><author>xiaorang_java</author><pubDate>Tue, 05 Apr 2016 14:59:56 +0800</pubDate><description><![CDATA[一、背景引入
近期在开发一个项目的后台时，使用到了邮件发送的服务。由于考虑变化的可能性不大，将邮箱地址和发信服务器使用final static修饰符定义在一个util类中，并在发信代码中调用（而没有做成配置文件，其实后来想想，还是需要做成配置文件会更稳妥些），后面升级到服务器时发现邮箱地址需要改动，于是修改了util类中的变量内容，并将编译之后的util类的class文件覆盖到线上，结果发信地址]]></description><category></category></item><item><title><![CDATA[LongCache机制与Long等值比较]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/51062966</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/51062966</guid><author>xiaorang_java</author><pubDate>Tue, 05 Apr 2016 11:16:39 +0800</pubDate><description><![CDATA[一、背景引入
近期在开发一个项目的后台时，当项目上线后出现了一个测试环境没有出现的问题：部分用户在提交信息时提示了该信息不属于当前用户。
经过对代码的review，发现了出错的代码的开发逻辑是，在用户提交信息之后，将信息更新入数据库之前，首先判断当前的信息是否属于当前的用户；通过信息.account_id == 用户.id进行了判断，两个id都是Long类型。直觉是使用==号出错的问题，于是将]]></description><category></category></item><item><title><![CDATA[#测试相关#Getting “junit.framework.AssertionFailedError: Forked Java VM exited abnormally” Exception]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/35987751</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/35987751</guid><author>xiaorang_java</author><pubDate>Mon, 30 Jun 2014 11:09:06 +0800</pubDate><description><![CDATA[编写Ant脚本进行持续测试的时候，出现了junit.framework.AssertionFailedError: Forked Java VM exited abnormally的报错，以此为关键字谷歌了很久，得到的答案几乎都是扩大内存之类，或者设置junit标签的fork为no的，试过了均是无效。其实这个提示是不够精准的…]]></description><category></category></item><item><title><![CDATA[【以前】作业思索：内部类以及double相加值]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/23434591</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/23434591</guid><author>xiaorang_java</author><pubDate>Fri, 11 Apr 2014 11:50:35 +0800</pubDate><description><![CDATA[import java.math.BigDecimal;


public class MatrixCal {
    //内部类
	static class Matrix{                                                                                           //第一处
		private double]]></description><category></category></item><item><title><![CDATA[Java虚拟机原理、内存分配和回收机制]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/23425281</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/23425281</guid><author>xiaorang_java</author><pubDate>Fri, 11 Apr 2014 10:01:01 +0800</pubDate><description><![CDATA[问题引入：Java类的construtor方法是没有返回值的，那为什么诸如
                 JavaClass jc = new JavaClass()会返回一个对象（或者说一个对象的引用）给等号左侧呢？
========================http://quding0308.iteye.com/blog/1260260======================]]></description><category></category></item><item><title><![CDATA[如何实现具有最大值、最小值和中间值的栈和队列]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/22966361</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/22966361</guid><author>xiaorang_java</author><pubDate>Sat, 05 Apr 2014 01:00:03 +0800</pubDate><description><![CDATA[转自：
在研究“如何实现具有最大值、最小值和中间值的栈和队列”前，我们先考虑以下问题，然后由此过度到题目问题。
1）如何用两个栈实现队列
2）如何用两个队列实现栈
3）如何实现包含获取最小值函数getMin()的栈
4）如何实现包含获取中间值函数getMedian()的栈
5）如何实现包含获取最小值函数getMin()的队列
1 如何用两个栈实现队列

在研究问题前，我们可以用2]]></description><category></category></item><item><title><![CDATA[Bloom Filter概念和原理]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/22966017</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/22966017</guid><author>xiaorang_java</author><pubDate>Sat, 05 Apr 2014 00:50:01 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/jiaomeng/article/details/1495500]]></description><category></category></item><item><title><![CDATA[十道海量大数据处理面试题]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/22964515</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/22964515</guid><author>xiaorang_java</author><pubDate>Sat, 05 Apr 2014 00:41:32 +0800</pubDate><description><![CDATA[转自： 


1、海量日志数据，提取出某日访问百度次数最多的那个IP。

　　首先是这一天，并且是访问百度的日志中的IP取出来，逐个写入到一个大文件中。注意到IP是32位的，最多有个2^32个IP。同样可以采用映射的方法，比如模1000，把整个大文件映射为1000个小文件，再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计，然后再找出频率最大的几个)及相应的频率。然]]></description><category></category></item><item><title><![CDATA[Java多线程-工具篇-BlockingQueue]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/22667793</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/22667793</guid><author>xiaorang_java</author><pubDate>Mon, 31 Mar 2014 14:47:19 +0800</pubDate><description><![CDATA[See the original page here:http://www.cnblogs.com/jackyuj/archive/2010/11/24/1886553.html前言：

     在新增的Concurrent包中，BlockingQueue很好的解决了多线程中，如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类，为我们快速搭建高质量的多线程程序带来极大的便利。本]]></description><category></category></item><item><title><![CDATA[java中List.subList方法使用注意]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/20448433</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/20448433</guid><author>xiaorang_java</author><pubDate>Tue, 04 Mar 2014 10:45:21 +0800</pubDate><description><![CDATA[本文转自：http://topic.youkuaiyun.com/u/20110830/13/7ea0e09c-7317-4215-96ab-fa672ea91ff8.html?91324






For example, ArrayList aList;

获取其子链表 List sub = aList.subList(begin, end);

sub可以继续转换成ArrayLi]]></description><category></category></item><item><title><![CDATA[EasyMock tutorial – Getting Started]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/20371705</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/20371705</guid><author>xiaorang_java</author><pubDate>Mon, 03 Mar 2014 14:13:24 +0800</pubDate><description><![CDATA[In this post, I'm going to show you what EasyMock is and how you can use it for testing your java application. For this purpose, I'm going to create aÂ simple PortfolioÂ application and test it usingÂ]]></description><category></category></item><item><title><![CDATA[小玩Spring3.X的SpEL表达式]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/19778731</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/19778731</guid><author>xiaorang_java</author><pubDate>Sun, 23 Feb 2014 23:43:58 +0800</pubDate><description><![CDATA[:-)]]></description><category></category></item><item><title><![CDATA[StringWriter/PrintWriter在Java输出异常信息中的作用]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/18700915</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/18700915</guid><author>xiaorang_java</author><pubDate>Thu, 23 Jan 2014 11:42:50 +0800</pubDate><description><![CDATA[闲来无事，看看JUnit的源代码。刚刚开始看就发现一段有趣的代码:
public String trace() {
        StringWriter stringWriter = new StringWriter();
        PrintWriter writer = new PrintWriter(stringWriter);
        thrownException()]]></description><category></category></item><item><title><![CDATA[Java自定义注解小结]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/18655389</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/18655389</guid><author>xiaorang_java</author><pubDate>Wed, 22 Jan 2014 10:17:34 +0800</pubDate><description><![CDATA[From:http://blog.sina.com.cn/s/blog_69a4df530100p8w3.html
Java自定义注解小结
作者：谢伟伦
学习java有两年之余了，在很久之前，已经有位系统分析师告诉我，学习java，看java编程思想就够了。其言下之意，就是说，任何一切java框架，都是浮云，只有精通核心java，才是王道！
现在回想起来，这句话真的十分正确，一年多的工作，]]></description><category></category></item><item><title><![CDATA[IBM技术论坛：使用 Cobertura 和反射机制提高单元测试中的代码覆盖率]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/18304305</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/18304305</guid><author>xiaorang_java</author><pubDate>Wed, 15 Jan 2014 10:43:07 +0800</pubDate><description><![CDATA[引言

单元测试是软件开发过程中重要的质量保证环节。单元测试可以减少代码中潜在的错误，使缺陷更早地被发现，从而降低了软件的维护成本。软件代码的质量由单元测试来保证，而单元测试自身的质量与效率问题也不容忽视。提高单元测试的质量与效率，不仅能够使软件代码更加有保证，而且能够节省开发人员编写或者修改单元测试代码的时间。衡量单元测试质量与效率的指标多种多样，代码覆盖率是其中一个极为重要的指标。一般而言]]></description><category></category></item><item><title><![CDATA[IBM技术论坛：单元测试利器 JUnit 4]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/18304107</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/18304107</guid><author>xiaorang_java</author><pubDate>Wed, 15 Jan 2014 10:36:10 +0800</pubDate><description><![CDATA[引言

毋庸置疑，程序员要对自己编写的代码负责，您不仅要保证它能通过编译，正常地运行，而且要满足需求和设计预期的效果。单元测试正是验证代码行为是否满足预期的有效手段之一。但不可否认，做测试是件很枯燥无趣的事情，而一遍又一遍的测试则更是让人生畏的工作。幸运的是，单元测试工具 JUnit 使这一切变得简单艺术起来。

JUnit 是 Java 社区中知名度最高的单元测试工具。它诞生于 1997]]></description><category></category></item><item><title><![CDATA[小谈Java的初始化问题]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/18265037</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/18265037</guid><author>xiaorang_java</author><pubDate>Tue, 14 Jan 2014 16:21:39 +0800</pubDate><description><![CDATA[同学发给我一个代码如下：
package hello;
public class hello {
	public static void main(String[] args) {
		int i, j;
		int sum;
		for (i = 1; i <= 1000; i++) {
			for (j = 1, sum = 0; j <= i / 2; j++) {
				if (i]]></description><category></category></item><item><title><![CDATA[有用的知识技能书签]]></title><link>https://blog.youkuaiyun.com/xiaorang_java/article/details/18036951</link><guid>https://blog.youkuaiyun.com/xiaorang_java/article/details/18036951</guid><author>xiaorang_java</author><pubDate>Thu, 09 Jan 2014 11:39:04 +0800</pubDate><description><![CDATA[JUnit 4 入门教程：http://www.ibm.com/developerworks/cn/java/j-lo-junit4/]]></description><category></category></item></channel></rss>