小编Han*_*örr的帖子

仅在子项目中引入敏捷实践?

想象一下,您在涉及多个系统的大型项目中担任承包商,并且您正在创建其中一个系统.整个项目使用传统的流程​​,但有些气味告诉你敏捷流程会好得多.

现在的问题.仅在您自己的组中引入敏捷软件开发过程是否有意义?没有机会改变整个项目,但您可能可能会更改自己组中的过程.

这种局部流程变化的主要好处和缺陷是什么?是否有特定的敏捷过程在这种情况下可以正常工作?

agile project-management

4
推荐指数
1
解决办法
200
查看次数

如何让Java为我的类型安全地图文字推断出正确的通用地图类型?

我试图在java中编写一个类型安全的地图文字辅助类,它可以生成任何类型的地图,并让编译器检查所​​有给定的键和值是否符合地图的类型.对于具有两个值的地图,将有一个具有以下签名的函数:

public static <KEY, VALUE> Map<KEY, VALUE> make(final KEY key1,
        final VALUE value1,
        final KEY key2,
        final VALUE value2)
Run Code Online (Sandbox Code Playgroud)

现在我希望这样的事情是可能的:

    Map<Integer, Object> map = make(1, "bla", 3, 17);
Run Code Online (Sandbox Code Playgroud)

但是我收到编译器错误:

Type mismatch: cannot convert from Map<Integer,Object&Serializable&Comparable<?>> to 
 Map<Integer,Object>
Run Code Online (Sandbox Code Playgroud)

有没有办法来解决这个问题?当然,使用签名定义函数make(Object... keysAndValues)会起作用,但是我会放弃编译时类型安全.:-(

java generics map literals

4
推荐指数
1
解决办法
1352
查看次数

在参数中传递'='到Windows批处理文件

将以=符号结尾的参数传递给批处理文件时遇到了麻烦.考虑一下(>是Windows XP提示符):

> type c.bat
echo %1

> c.bat bla=
bla

> c.bat "bla="
"bla="
Run Code Online (Sandbox Code Playgroud)

为什么=bla=吞噬?我怎么能在一个参数中传递一个=符号?

windows batch-file

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

Mockito-ing 总是抛出异常,除了特定方法

如何使用 Mockito 创建一个模拟,该模拟在除某些存根调用之外的每个方法调用上都会引发异常?直觉上,我通过提供如下默认答案进行了尝试:

Iterator themock = mock(Iterator.class, 
    new ThrowsExceptionClass(UnsupportedOperationException.class));
when(themock.hasNext()).thenReturn(false);
assertFalse(themock.hasNext());
Run Code Online (Sandbox Code Playgroud)

themock.hasNext()但第二行中的调用已经抛出了一个UnsupportedOperationException.

java unit-testing mockito

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

为什么java.lang.ThreadLocal是Thread上的一个映射而不是ThreadLocal?

天真地,我期望ThreadLocal是某种类型的Thread的WeakHashMap.当我得知ThreadLocal的值实际上保存在Thread中的一个映射中时,我有点困惑.为什么这样做?我希望如果值保存在ThreadLocal本身中,那么与ThreadLocal相关的资源泄漏就不会存在.

澄清:我在考虑类似的事情

public class AlternativeThreadLocal<T> { 
    private final Map<Thread, T> values = 
        Collections.synchronizedMap(new WeakHashMap<Thread, T>());
    public void set(T value) { values.put(Thread.currentThread(), value); }
    public T get() { return values.get(Thread.currentThread());}    
}
Run Code Online (Sandbox Code Playgroud)

据我所知,这可以防止一个奇怪的问题,即如果值以某种方式强烈引用ThreadLocal本身,那么ThreadLocal和它遗留的值都不会被垃圾收集,直到Thread死掉.(当ThreadLocal是值引用的类上的静态变量时,可能会出现最狡猾的形式.现在,在应用程序服务器的重新部署中存在大量资源泄漏,因为无法收集对象及其类.)

java thread-local resource-leak

1
推荐指数
1
解决办法
3125
查看次数

Scala中隐含的碰撞

以下Scala代码正常工作:

val str1 = "hallo"
val str2 = "huhu"
val zipped: IndexedSeq[(Char, Char)] = str1.zip(str2)
Run Code Online (Sandbox Code Playgroud)

但是,如果我导入隐式方法

implicit def stringToNode(str: String): xml.Node = new xml.Text(str)
Run Code Online (Sandbox Code Playgroud)

然后Scala(2.10)编译器显示错误: value zip is not a member of String

似乎存在stringToNode某种方式块的隐式转换str1str2WrappedString.为什么?有没有一种方法来修改stringToNode这样的zip工作,但是stringToNode当我调用一个需要带Node参数的函数时仍然使用String

scala implicit implicit-conversion

1
推荐指数
1
解决办法
345
查看次数

具有许多报告的Maven多模块项目:查找示例

是否有一个开源项目可以作为有关如何使用Maven网站插件生成报告的很好的例子?我宁愿

  • 由许多模块组成,可能是分层结构
  • 使用尽可能多的插件(surefire,jxr,pmd,findbugs,javadoc,checkstyle,请为其命名)
  • 报告应该汇总:如果某些测试失败,则您希望有一个页面显示所有测试失败的模块,而不仅仅是要检查的数不胜数的单个页面
  • 包括企业级的东西(WAR,EAR等),但这不是那么重要。

想法是拥有一些东西,您可以在其中收集有关如何完成和可能实现的想法。

build-automation maven-2

0
推荐指数
1
解决办法
2698
查看次数