我正在寻找java.util.Queue的实现或Google集合中表现得像Queue的东西,但也要确保队列中的每个元素都是唯一的.(所有进一步插入都没有效果)
这是可能的,还是我必须手工完成?
现在我正在使用一个带有LinkedList实现的Queue,并在插入之前检查唯一性.(我使用侧面Map来执行此操作,在队列之前/之后添加/删除侧面图中的元素).我不太喜欢它.
欢迎任何输入.如果它不在java.util包中,那么也许这是一个坏主意?
我有一堆实现通用接口的类:Command.
这一堆课程转到了Map.
为了使Map正常工作,我需要每个实现Command的类来覆盖该Object.equals(Object other)方法.
没关系.
但我想强迫平等的压倒一切.=>当实现命令的东西不重写等于时出现编译错误.
这可能吗?
编辑:BTW,我还需要强制重写哈希码...
在几个Eclipse项目中,我们有一些Ant脚本来构建我们使用的不同jar.有一些相互依赖
在构建结束时,我们必须刷新一些Eclipse项目,以使构建路径有效.如果没有这个,它就不会看到一个刚构建的jar,Eclipse会抛出构建路径错误.
有一种方法可以避免手动刷新步骤吗?
我只是对领域特定语言感到好奇.我在文章中已经多次看到它们,似乎它们可以在保证或银行数据定义问题之外使用.
所以我来到SO有一些具体的输入.
你有没有使用过DSL?写一个.如果是的话,感觉如何?
你认为你的一个项目可以用DSL更好(更高效,更易维护......)吗?
编辑:我很抱歉把它放在后面,但我的意思是你自己编写的特定DSL.它排除了Tex,HTML,Make,SQL.事实上,问题更多:"编写DSL"
我使用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领域提高我的知识,或者我注定要生成"看起来相同但不完全"的代码.
我已经有了基地......但我正在寻找仅针对此的训练/ tuturial.
谢谢
我们的代码库中有几个空的抽象类.我觉得很难看.但除了这个非常愚蠢的理由(丑陋)之外,我应该重构它(例如空的界面)吗?
否则,代码是健壮的并经过充分测试.因此,如果它只是出于"审美"的原因,我将通过并让空的抽象类保持不变.
你怎么看?
编辑:
1)通过"空抽象类",我的意思是:
public abstract class EmptyAbstractClass {}
Run Code Online (Sandbox Code Playgroud)
2)"空虚"的原因:Hibernate.我根本没有掌握这个持久性框架.我只是理解一个接口不能映射到一个表,并且由于这个技术原因,一个类比接口更受欢迎.
我不明白为什么在迭代这个时我得到一个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) 我们刚刚完成了我们的应用程序.(她开始变慢).问题似乎是"在休眠状态".
这是一个遗留映射.谁工作,做它的工作.关系背后的关系也是好的.
但是有些要求很慢.
因此,我们将不胜感激任何关于hibernate常见和常见错误的输入,这些错误最终会导致响应缓慢.
例如:渴望代替懒惰可以大大改变响应时间....
编辑:像往常一样,阅读手册通常是个好主意.整章涵盖了这个主题:
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html
我正在寻找一个功能或软件,他将允许我轻松地分析我的方法执行时间,并选择通过包过滤器分析的内容.
我知道,它是分析器101.我使用TPTP分析器.但我对它并不满意.坦率地说,我只是不明白它是如何工作的,当我描述我的应用程序(在分析模式下启动服务器)时,它将永远无所事事.(好吧,不是我的期望:简单的执行时间输出)
所以我用系统时间自己进行分析(在方法的开头和结尾添加一行).也不是那么坏.
我的问题是:我想在使用Spring AOP调用方法之前和之后测量系统时间,你能给我指点吗?这是一个好/坏的主意?代码库非常大,我们没有很多单元测试,难道不是"危险"吗?
我不是要求代码,我想我可以用这种链接自己做:http: //static.springsource.org/spring/docs/2.5.x/reference/aop.html
但如果你有一个很好的教程(以前从未做过AOP,只知道这个概念),我就接受了.
java ×8
guava ×2
ant ×1
collections ×1
concurrency ×1
cryptography ×1
dsl ×1
eclipse ×1
encryption ×1
equals ×1
generics ×1
hibernate ×1
interface ×1
jar ×1
multimap ×1
orm ×1
overriding ×1
performance ×1
profiling ×1
queue ×1
refactoring ×1
requirements ×1
spring-aop ×1