随笔分类 -  Java积累

一点一滴,由积累到蜕变,相信滴水穿石。
摘要:当初在大学没时间完成作业时,总是喜欢网上搜一个或者拷贝同学的一个工程过来,导入到Eclipse中却全是红叉,连基本类型都不识别。当时就纳闷了,难道是天要亡我之心不死?后来慢慢了解了,其实是导入的工程找不到JRE了,解决方法就是给工程指定JRE。工程名上右键→【Preperties】→左侧选择【Java Build Path】→右侧选择【Libraries】选项卡→点击【Add Library...】→对话框中选择【JRE System Library】→点击【Next】→根据你的需要选择JRE的版本→【Finish】→【OK】,搞定啦~ 阅读全文
posted @ 2013-08-19 17:17 FlameRen 阅读(1573) 评论(0) 推荐(0) 编辑
摘要:首先来复习一下几个重要知识点,然后接着进行一些介绍。在上一篇文章中,我曾经贴过下面这张图片:在Which method stubs would you like to create?这里,现在结合4个标注的含义来说明一下:@BeforeClass 标注的方法会在类加载的时候执行一次,且仅此一次,该方法必须是public和static的@AfterClass 标注的方法会在类销毁的时候执行一次,且仅此一次,该方法必须是public和static的@Before 标注的方法会在每个测试方法执行前先执行一次@After 标注的方法会在每个测试方法执行结束后执行一次以上四个标注,对应了那个勾选列表中. 阅读全文
posted @ 2013-04-28 09:58 FlameRen 阅读(1208) 评论(1) 推荐(1) 编辑
摘要:说起单元测试,刚毕业或者没毕业的人可能大多停留在课本讲述的定义阶段,至于具体是怎么定义的,估计也不会有太多人记得。我们的教育总是这样让人“欣慰”。那么什么是单元测试呢?具体科学的定义咱就不去关心了,其实每个写代码的人都在时刻进行着单元测试,除非你从来不验证自己写的代码能否达到预期目的,而是直接写完就完事儿了,连run一下都不进行。 单元测试说的直白一点,就是验证写得一段代码是否正确,可能是一个类,可能是一个函数,甚至可能是一个循环。为了测试的方便,我们一般直接就在写好的可运行代码中直接进行测试,看到控制台输出了预想的结果或者抛出了异常。但是进入了公司,这样的测试方法极不专业也不不容易复现... 阅读全文
posted @ 2013-04-25 13:19 FlameRen 阅读(1671) 评论(2) 推荐(5) 编辑
摘要:步入职场,才首次对“日志”这个东西有了一个比较全面的认识。不像学生时代,随处的print语句,学校总是教不了什么有用的东西。最近从事的工作,恰好是将工程中原有的log4j日志组件转换为logback。至于为什么要转换,本来是因为logback的性能要优于log4j,然而最新版本的log4j的降临,似乎又把这段差距弥补了。总之分配的任务就要用心做,并且还能从中学好很多有用的东西。下面,我就介绍一下log4j转换logback的方法,可能遇到的问题及解决方案。其中涉及到的jar包会在最后给出下载链接。log4j切换到logback的步骤:1.将logback-classic和logback-cor 阅读全文
posted @ 2013-04-15 11:42 FlameRen 阅读(5460) 评论(4) 推荐(1) 编辑
摘要:在大学垒代码时,遇到程序错误,输出不是预计的情况时,你是怎么解决的呢?我的解决办法就是到处System.out.pringln();,打出当时的变量值,一点一点找哪里出错了。结果有的时候就忘了到底在哪里添加了用于找错的输出语句,然后就去不掉多余的输出了,然后就各种抓狂了。以及等等很多情况吧,不知道你们遇到过吗?步入职场后,逐渐接触到了日志这个概念,虽然之前也听说过,但却不了解其真正用途。又一次在心里痛骂了大学的教育之后,我开始自学目前公司在用的日志工具——logback。日志记录了程序的运行状态,输出了你指定需要输出的内容,能够方便快捷的定位出错的位置和原因。那么怎么使用logback呢,下面 阅读全文
posted @ 2013-04-02 15:29 FlameRen 阅读(3380) 评论(1) 推荐(0) 编辑
摘要:整体思路:Sax解析是将xml文档按Stream读入,一点一点的解析,不像Dom解析那样把文档全部加载到内存中,因此更适合实际情况的使用。Sax解析需要继承DefaultHandler,重写其4个方法(startDocument、startElement、endElement、characters),分别用于处理xml的ElementNode(<>或</>)和TextNode(字符)。下面看一个例子:此程序将原本的xml文件中各个元素标签解析成对应的TagBean实例,每对标签会被解析成一个实例,并且按树状存储标签之间的关系。因为我的目的是要解析Spring IoC的配 阅读全文
posted @ 2013-03-15 14:47 FlameRen 阅读(1684) 评论(0) 推荐(1) 编辑
摘要:最近一直在研究properties配置文件,突然碰到了一个java的类,名为Properties。该类继承自HashTable,提供的方法很像Map的实现类HashMap。一时间激发了我对此类的关注和研究,通过找资料和自行调试,发现该类能够在程序运行初期给我们提供帮助。通过解析前置文件(含程序需要的某些参数),获得程序运行所需的配置信息,存入Properties类中,供程序调用。Properties类的作用就像其名字所体现的一样,主要是解决属性问题的,说白了就是此类和配置文件的关系十分暧昧。现将Properties类的常见使用场景概括如下:1.从properties配置文件中读取数据,解析ke 阅读全文
posted @ 2013-03-14 16:28 FlameRen 阅读(1866) 评论(3) 推荐(3) 编辑
摘要:很多时候的实际需求都不允许我们只是把结果输出到console就可以了,那么怎么把程序运行结果输出到指定文件,以及怎么能同时让其输出到指定文件和console呢?通过网上搜索过来人的文章,找到了如下解决方法,感谢前人的分享~1.首先我们需要自己编写一个类,并且继承OutputStream类,重写其write(int b)方法。这个类主要实现创建两条输出流。 1 import java.io.IOException; 2 import java.io.OutputStream; 3 4 public class MultiOutputStream extends OutputStream{ 5 . 阅读全文
posted @ 2013-03-07 16:39 FlameRen 阅读(3737) 评论(0) 推荐(0) 编辑
摘要:由于最近的任务是关于IoC配置文件格式的转换,所以需要从Spring的IoC容器开始学起,今天根据网上的介绍搭建了Spring环境,并对其IoC容器进行了初体验。文章中涉及到的软件以及推荐的一本关于Spring IoC容器的电子书,在结尾处会附上我的百度网盘下载地址,以防官网维护或其他浮云情况。下附说明~1.打开http://www.springsource.org/spring-community-download,如下图所示,点击take me to the download page。2.然后进入了下载页面,选择最新版本的下载3.下载完成后解压缩到任意文件夹,里面的目录结构一目了然。4. 阅读全文
posted @ 2013-03-04 17:59 FlameRen 阅读(671) 评论(0) 推荐(1) 编辑
摘要:看如下程序: 1 class A { 2 static{ 3 System.out.println("A static"); 4 } 5 6 { 7 System.out.println("A not static"); 8 } 9 10 public A(){11 System.out.println("A new");12 }13 }14 15 class B extends A{16 static{17 System.out.println("B static");18 } ... 阅读全文
posted @ 2013-01-31 11:25 FlameRen 阅读(1178) 评论(8) 推荐(0) 编辑
摘要:看如下程序 1 public static void main(String[] args) { 2 String a = new String("abc"); 3 String b = new String("abc"); 4 System.out.println(a == b); 5 6 String c = "abc"; 7 String d = "abc"; 8 System.out.println(c == d); 9 10 String e = "a";11 String ... 阅读全文
posted @ 2013-01-31 11:11 FlameRen 阅读(529) 评论(1) 推荐(0) 编辑
摘要:1.格式Java中的按照如下规则声明参数个数可变的函数:methodName([argumentList],dataType... argumentName)说明:argumentList:普通参数列表,可选;dataType:数据类型或者类,调用该函数时,参数自动转换成dataType类型的数组;...:Java的操作符,表示可以接收0到多个参数,注意必须是3个点;argumentName:参数名。注意,可变参数必须在最后。2.注意事项 可变参数只能作为函数的最后一个参数,但其前面可以有也可以没有任何其他参数。 由于可变参数必须是最后一个参数,所以一个函数最多只能有一个可变参数。如果有两个, 阅读全文
posted @ 2013-01-31 10:16 FlameRen 阅读(1217) 评论(0) 推荐(0) 编辑