小编卢声远*_* Lu的帖子

如何在JUnit4中按特定顺序运行测试方法?

我想执行按@Test特定顺序注释的测试方法.

例如:

public class MyTest {
    @Test public void test1(){}
    @Test public void test2(){}
}
Run Code Online (Sandbox Code Playgroud)

我希望确保test1()test2()每次运行之前运行MyTest,但我找不到像这样的注释@Test(order=xx).

我认为这对JUnit来说非常重要,如果JUnit的作者不想要订单功能,为什么?

java junit unit-testing junit4

398
推荐指数
11
解决办法
36万
查看次数

ScheduledExecutorService异常处理

我使用ScheduledExecutorService定期执行方法.

p代码:

ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
ScheduledFuture<?> handle =
        scheduler.scheduleWithFixedDelay(new Runnable() {
             public void run() { 
                 //Do business logic, may Exception occurs
             }
        }, 1, 10, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)

我的问题:

如果run()抛出异常,如何继续调度程序?我应该尝试捕获方法中的所有异常run()吗?或者任何内置的回调方法来处理异常?谢谢!

java multithreading scheduling

53
推荐指数
6
解决办法
3万
查看次数

为什么Java Collection Framework不包含树和图

我熟悉Java Collection Framework,它包含基本的接口:CollectionMap.我想知道为什么框架不包含作为基本集合的树和图形的结构.两者都可以视为子类型Collection.

顺便说一句,我知道TreeSet是由Red-Black Tree底层实现的.但是,TreeSet它不是树而是a Set,因此框架中没有真正的树.

java collections tree graph

45
推荐指数
3
解决办法
3万
查看次数

演员模式 - 它究竟构成了什么

我正在做一些客观的C/iOS开发,并听过几个对Actor模式的引用.在Big Nerd Ranch的书中,它说:

当您有一个长时间运行的任务和一些需要在完成后执行的代码时,将使用一个actor对象.这种对象被赋予执行任务所需的信息以及在该任务完成时执行的回调.actor在没有任何进一步输入的情况下在自己的线程上运行,并在完成时被销毁.

这里的演员与网络电话一起使用.这是演员主要使用的方式吗?是否与代表团相互排斥或互补?Actor的定义似乎非常广泛,我试图更好地处理它的含义.此外,是否可以在非OO环境中拥有Actor?

design-patterns actor

44
推荐指数
1
解决办法
2万
查看次数

Collections.unmodifiableSet()和Guava的ImmutableSet有什么区别?

JavaDoc ImmutableSet说:

Collections.unmodifiableSet可以更改的单独集合的视图不同,此类的实例包含其自己的私有数据,并且永远不会更改.这个类对于公共静态最终集("常量集")很方便,也可以让你轻松地为调用者提供给你的类的集合制作一个"防御性副本".

ImmutableSet仍然存储元素的参考,我无法弄清楚差异Collections.unmodifiableSet().样品:

StringBuffer s=new StringBuffer("a");
ImmutableSet<StringBuffer> set= ImmutableSet.of(s);
s.append("b");//s is "ab", s is still changed here!
Run Code Online (Sandbox Code Playgroud)

谁能解释一下呢?

java immutability guava

42
推荐指数
3
解决办法
3万
查看次数

@Qualifier和@Resource之间的区别

我认为两种方式之间没有任何区别,@ Qualifier总是与@Autowired一起使用.

@Autowired
@Qualifier("alpha")
Run Code Online (Sandbox Code Playgroud)

VS

@Resource(name="alpha")
Run Code Online (Sandbox Code Playgroud)

有谁能让我知道区别?谢谢!

java spring

40
推荐指数
2
解决办法
3万
查看次数

为什么java.util.Arrays.sort(Object [])使用2种排序算法?

我发现java.util.Arrays.sort(Object[])使用2种排序算法(在JDK 1.6中).

伪代码:

if(array.length<7)
   insertionSort(array);
else
   mergeSort(array);
Run Code Online (Sandbox Code Playgroud)

为什么这里需要2种排序?为了效率?

java sorting algorithm collections

30
推荐指数
2
解决办法
8996
查看次数

为什么缓存使用最近使用(MRU)算法作为逐出策略?

我知道MRU的算法及其反向最近最少使用(LRU).

我认为LRU是合理的,因为LRU元素意味着它将来至少可以使用.但是,MRU元素意味着将来很有可能使用该元素,为什么要逐出它?什么是合理的情况?

java algorithm caching

23
推荐指数
3
解决办法
1万
查看次数

不寻常的通用语法:数组.<String> asList(...)

我找到了一个'不寻常'的通用语法,例如:

Arrays.<String>asList(...);
Collections.<String>emptyList();
Run Code Online (Sandbox Code Playgroud)

显然,这些方法的结果是通用的.这种语法是否用于类型检查?一个Object阵列不能为一个参数Arrays.<String>asList(...).

java generics

22
推荐指数
2
解决办法
2万
查看次数

为什么我们需要MongoDB复制中的"仲裁者"?

假设我们在没有仲裁的情况下设置MongoDB复制,如果主服务器不可用,则副本集将选择辅助服务器作为主服务器.所以我认为它是一种隐式仲裁器,因为副本将自动选择一个主节点.

所以我想知道为什么我们需要一个专用的仲裁节点?谢谢!

replication mongodb

22
推荐指数
3
解决办法
2万
查看次数