- 浏览: 919646 次
- 性别:
- 来自: 北京
最新评论
-
一键注册:
request.getRequestURL()和request.getRequestURI() -
SuperCustomer:
...
SED的暂存空间和模式空间 -
juyo_ch:
讲得挺好理解的,学习了
java 死锁及解决 -
chinaalex:
最后一题答案正确,但是分析有误.按照如下过程,上一行为瓶,下一 ...
zz智力题 -
liaowuxukong:
多谢博主啦,弱弱的了解了一点。
C++/Java 实现多态的方法(C++)
文章列表
JDK1.5之中的Map相关的类
- 博客分类:
- Java SE
java5的java.util包提供了大量集合类。其中最常用的集合类有List、Set、Map等。这篇文章主要介绍其中的Map。
首先,来看下java.util包中Map相关的集合类的类图。
接口Map是整个类图的跟,Map往下又提供了两个接口:ConcurrentMap和SortedMap。ConcurrentMap是java5中新增的线程安全的Map接口;而SortedMap则是支持排序的Map接口。在下面这些具体的实现类中,常用的就属Hashtable、HashMap和TreeMap了。另外,java5新增了HashMap的并发版本ConcurrentHashMap。下 ...
面试是一场智力的较量。在这场较量中,只有真正具有实力而又深黯面试策略的人才能获胜。面试没有一个固定的模式,也没有完美的标准答案,但却有一个检验答案的共同标准——你是否进行了理智的谈话。面试是你成功就 ...
【原】JUNIT 源码分析之TestSuite
- 博客分类:
- Test
Junit是如何使用适配器模式的呢?概念上可以理解,但是实际上看了代码之后才更有意思。
TestCase有一个参数叫fname。TestSuit使用组合模式将多个TestCase包括进来,包括的方法有三:
创建空的TestSuite,将需要的TestCase的实例通过addTest方法加入,这些TestCase需要指明testXXX的方法名。
要么直接传这个TestCase的class类型。
最后是传一个class类型的数组进来。
不管哪种方法,最后其实都走的是第一种方法,后面的两种方法只是类似重载构造方法罢了。在Tes ...
面向对象的三个基本特征
- 博客分类:
- Others
面向对象的三个基本特征是:封装、继承、多态。
封装
封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承
面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”。
Maven vs Ant
- 博客分类:
- Others
Ant 将提供了很多可以重用的task,例如 copy, move, delete 以及junit 单元测试Maven 则提供了很多可以重用的过程。 我们可以把 Maven 看成是一个 "build container"这个容器可以让我们重用从一系列的项目中抽像出来的build过程。使用过Ant的朋友都会有这样的体会吧。 Ant提供的task级别描述,我们可以通过想写shell一样一个Java项目的build过程来进行描述。我们可以写好一个build.xml 文件,来解决我们在Java程序运行编译过程中需要解决的classpath,以及相关参数的配置问题,只有是项目中的主要结 ...
一、Configure1. 安装testNG插件到eclipse.-) 选择菜单 Help /Software updates / Find and Install.-) 点击add button然后在location中输入http://beust.com/eclipse/-) 确定后会自动安装testNG插件。2. 在使用ant时候先将jdk的tools.jar引入进来。(不引入会报错Unable to find a javac;Perhaps JAVA_HOME does not point to the JDK)二、Create a example to illustrate.1. Cre ...
设计模式应用场景总结
- 博客分类:
- Java SE
在J2EE的开发和测试中,其实不知不觉已经使用了许多设计模式。但是,每每回忆总会忘了在哪里用过。现在先记录一下,有待细节化。
另外,Spring和Tomcat的设计思想和设计模式,有几篇好文章附上。
Spring 核心设计思想:
http://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/
Spring 设计模式:
http://www.goldendoc.org/2010/12/spring_design_pattern/
Tomcat工作原理:
http://www.ibm.com ...
[YUAN] JUNIT 源码分析总结
- 博客分类:
- Test
今天看了下Junit3的源码,记录下一些心得。
Junit的设计使用了许多设计模式。相关的文章网上也有很多。在TestResult中使用了Collecting Parameters 模式。这个模式的意义在于,该类的有几个成员变量集合,是负责记录测试的Failures和Erros,当然还有总共的Test的数目。
TestResult的run TestCase方法会调用具体的TestCase的run方法,如果失败(Failure 或 Error),将通过TestCase生成具体的是败类(TestFailure 或 TestError),最后在TestResult中,集合成员变量把 ...
[zz] MySQL SQL语句练习
- 博客分类:
- Database
MySQL SQL语句练习:1.建库建表--create database companycreate database company;use company;--create tables--部门表create table dept(deptno int(3) primary key,dname varchar(14),loc varchar(13));--雇员表create table emp(empno int(4) not null primary key,ename varchar(10),job varchar(10),mgr int(4),hiredate datetime,s ...
在软件开发过程中,我们通常需要对各个功能模块以至类的方法进行详细的测试。这种对最小的软件单元进行验证的工作也叫做单元测试,单元测试通常在编码过程中进行,在以测试驱动开发的项目中,单元测试是一项非常重要 ...
关键字驱动测试的原理和概念
- 博客分类:
- Test
原理及特点
1. 关键字驱动测试是数据驱动测试的一种改进类型
2. 主要关键字包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可将其表现为 Item.Operation(Value)
3. ...
我相信有不少人还不明白有状态和无状态(Stateful and Stateless)的概念,那么我们今天就来谈谈有状态和无状态,一方面不断总结提高自我,另一方面兼扫盲。这是Immutable不变模式的姐妹篇,大家可以参照着读。 Immutable不变模式的分析blog: http://www.iteye.com/topic/959751 基本概念: 有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的。在不同方法调用间不保留任何状态。 无状态就是一次操作,不能保存数据。无状态对象(Stateless Bean),就是没有实例变量的 ...
“ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本
对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份变量,让不同的线程排队访问,而后者为每一个线程都提供了一份变量,因此可以同时访问而互不影响”
本示例如果不使用ThreadLocal,static的变量会被三个线程一同操作最后三个线程操作后,最后的值为9.
使用ThreadLocal后,每个线程有一个自己的static变量,打印出来是三个线程的stati ...
今天看了些Exchanger的资料,有个喝水的例子不错。我这里细化了以下,并得到实现。
思路:
有一个Drinker和一个Waiter,有两个杯子,一个空杯子,一个杯子有3升水,Drinker一次喝1升水,要耗时1秒,Waiter一次可以倒1升水,一次耗时1秒。开始时,他们各持一个杯子,Drinker持有3升水的杯子,Waiter持有空杯子。然后开始喝水,当有一个杯子里没水了,整个程序结束。
方法:
Exchanger主要用于交换两个线程的同类型的共享数据,喝水这个例子很好的表现了Exchanger的作用。
【注:】程序中的数据可以自己 ...
JDK5的多线程并发库简介
- 博客分类:
- Java SE
JDK5中增加了Doug Lea的并发库,这一引进给java线程的管理和使用提供了强大的便利性。 java.util.current包中提供了对线程优化、管理的各项操作,使得线程的使用变得的心应手。该包提供了线程的运行,线程池的创建,线程生命周期 ...