小编Ant*_*val的帖子

一个确保元素唯一性的队列?

我正在寻找java.util.Queue的实现或Google集合中表现得像Queue的东西,但也要确保队列中的每个元素都是唯一的.(所有进一步插入都没有效果)

这是可能的,还是我必须手工完成?

现在我正在使用一个带有LinkedList实现的Queue,并在插入之前检查唯一性.(我使用侧面Map来执行此操作,在队列之前/之后添加/删除侧面图中的元素).我不太喜欢它.

欢迎任何输入.如果它不在java.util包中,那么也许这是一个坏主意?

java queue collections unique-constraint guava

61
推荐指数
4
解决办法
4万
查看次数

强制类覆盖.equals方法

我有一堆实现通用接口的类:Command.

这一堆课程转到了Map.

为了使Map正常工作,我需要每个实现Command的类来覆盖该Object.equals(Object other)方法.

没关系.

但我想强迫平等的压倒一切.=>当实现命令的东西不重写等于时出现编译错误.

这可能吗?

编辑:BTW,我还需要强制重写哈希码...

java overriding requirements interface equals

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

使用Ant刷新Eclipse项目

在几个Eclipse项目中,我们有一些Ant脚本来构建我们使用的不同jar.有一些相互依赖

在构建结束时,我们必须刷新一些Eclipse项目,以使构建路径有效.如果没有这个,它就不会看到一个刚构建的jar,Eclipse会抛出构建路径错误.

有一种方法可以避免手动刷新步骤吗?

eclipse ant jar

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

你写了什么样的问题?

我只是对领域特定语言感到好奇.我在文章中已经多次看到它们,似乎它们可以在保证或银行数据定义问题之外使用.

所以我来到SO有一些具体的输入.

你有没有使用过DSL?写一个.如果是的话,感觉如何?

你认为你的一个项目可以用DSL更好(更高效,更易维护......)吗?

编辑:我很抱歉把它放在后面,但我的意思是你自己编写的特定DSL.它排除了Tex,HTML,Make,SQL.事实上,问题更多:"编写DSL"

language-agnostic dsl

18
推荐指数
5
解决办法
1447
查看次数

在doFinal的一些调用上badPaddingException.不是全部.相同的输入

我使用javax.crypto.cipher来加密和解密一些数据.它运作良好.但有时候,解密会出现badPaddingException.如果我比较有failling呼叫succefull呼叫,给密码输入相同,并且密码被初始化以同样的方式.

我如何实现我的密码

dcipher = Cipher.getInstance("PBEWithMD5AndDES");
KeySpec keySpec = new PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount);
SecretKey key = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec);
dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
Run Code Online (Sandbox Code Playgroud)

我怎么用它

dec = Base64.decode(str) ;
byte[] utf8 = dcipher.doFinal(dec);
Run Code Online (Sandbox Code Playgroud)

在doFinal上引发了异常.

任何的想法 ?

谢谢 !

哦,顺便说一下,我使用bouncyCastle作为提供者,并将其添加到列表顶部

Security.insertProviderAt(new org.bouncycastle.jce.provider.BouncyCastleProvider(), 1);
Run Code Online (Sandbox Code Playgroud)

为了完整性,并且因为问题仍然不时出现.这是完整的课程.

public class EncryptDecryptUtil {
    /** Encryption Cipher */
    private static Cipher ecipher;
    /** Decription Cipher */
    private static Cipher dcipher;

    private static Logger logger = Logger.getLogger(EncryptDecryptUtil.class);

    /**
     * Constructor used to create this object. Responsible for setting and initializing this object's encrypter …
Run Code Online (Sandbox Code Playgroud)

java encryption cryptography

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

学习Java泛型的资源?

我显然需要在这个Java领域提高我的知识,或者我注定要生成"看起来相同但不完全"的代码.
我已经有了基地......但我正在寻找仅针对此的训练/ tuturial.

谢谢

java generics

14
推荐指数
2
解决办法
6983
查看次数

空抽象类是不好的做法,为什么?

我们的代码库中有几个空的抽象类.我觉得很难看.但除了这个非常愚蠢的理由(丑陋)之外,我应该重构它(例如空的界面)吗?

否则,代码是健壮的并经过充分测试.因此,如果它只是出于"审美"的原因,我将通过并让空的抽象类保持不变.

你怎么看?

编辑:

1)通过"空抽象类",我的意思是:

public abstract class EmptyAbstractClass {}
Run Code Online (Sandbox Code Playgroud)

2)"空虚"的原因:Hibernate.我根本没有掌握这个持久性框架.我只是理解一个接口不能映射到一个表,并且由于这个技术原因,一个类比接口更受欢迎.

java refactoring abstract-class

10
推荐指数
5
解决办法
1万
查看次数

Guava MultiMap和ConcurrentModificationException

我不明白为什么在迭代这个时我得到一个ConcurrentModificationException multimap.我读了以下条目,但我不确定我是否理解了整个事情.我试图添加一个synchronized块.但我怀疑的是与什么同步,何时.

multimap是一个字段,创建如下:

private Multimap<GenericEvent, Command> eventMultiMap =   
   Multimaps.synchronizedMultimap(HashMultimap.<GenericEvent, Command> create());
Run Code Online (Sandbox Code Playgroud)

并像这样使用:

eventMultiMap.put(event, command);
Run Code Online (Sandbox Code Playgroud)

并且像这样(我试图在地图上同步这部分,但没有成功)

for (Entry<GenericEvent, Command> entry : eventMultiMap.entries()) {
    if (entry.getValue().equals(command)) {
        eventMultiMap.remove(entry.getKey(), entry.getValue());
        nbRemoved++;
    }
}
Run Code Online (Sandbox Code Playgroud)

java concurrency multimap guava concurrentmodification

9
推荐指数
3
解决办法
6766
查看次数

通常的休眠性能陷阱

我们刚刚完成了我们的应用程序.(她开始变慢).问题似乎是"在休眠状态".

这是一个遗留映射.谁工作,做它的工作.关系背后的关系也是好的.

但是有些要求很慢.

因此,我们将不胜感激任何关于hibernate常见和常见错误的输入,这些错误最终会导致响应缓慢.

例如:渴望代替懒惰可以大大改变响应时间....


编辑:像往常一样,阅读手册通常是个好主意.整章涵盖了这个主题:

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html

java performance orm hibernate

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

使用Spring AOP进行方法分析(基本执行时间)

我正在寻找一个功能或软件,他将允许我轻松地分析我的方法执行时间,并选择通过包过滤器分析的内容.

我知道,它是分析器101.我使用TPTP分析器.但我对它并不满意.坦率地说,我只是不明白它是如何工作的,当我描述我的应用程序(在分析模式下启动服务器)时,它将永远无所事事.(好吧,不是我的期望:简单的执行时间输出)

所以我用系统时间自己进行分析(在方法的开头和结尾添加一行).也不是那么坏.

我的问题是:我想在使用Spring AOP调用方法之前和之后测量系统时间,你能给我指点吗?这是一个好/坏的主意?代码库非常大,我们没有很多单元测试,难道不是"危险"吗?

我不是要求代码,我想我可以用这种链接自己做:http: //static.springsource.org/spring/docs/2.5.x/reference/aop.html

但如果你有一个很好的教程(以前从未做过AOP,只知道这个概念),我就接受了.

java profiling spring-aop

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