草庐IT

java - 你能对混淆代码进行单元测试吗?

我希望在我们现有的Ant构建脚本中混淆我们的Java网络应用程序代码,但在单元测试方面遇到了问题。我在编译代码之后,在它被jar-ed之前和运行单元测试之前混淆代码。但是,如果我混淆我的生产代码而不是我的测试代码,我的所有测试都会失败,因为它们试图调用不再存在的方法,因为它们已被混淆器重命名。我可以将某些方法标记为不混淆,以便它们可以被外部系统(例如我们的测试套件)使用,但是由于我们正在争取高单元测试覆盖率,因此我们需要将我们的方法标记为所有-可混淆。如果我也混淆测试类,我会遇到两个问题:1:生产类和测试类合并到同一个输出目录中,我无法从生产.jar文件中排除测试类2:我无法运行正常的

java - 对 String[] 数组的数组列表进行排序

我正在读取一个类似于excel电子表格的.csv文件。有一定数量的列,由文件确定,我使用.split(",")方法将每一行读入字符串数组。然后我将其放入一个数组列表中,这样它就可以容纳所有字符串数组,而无需为其指定特定大小。但是,当我使用Collections.sort()对数组列表进行排序时,程序中断了。可能是什么问题?这是我要排序的代码:Collections.sort(stringList,newComparator(){publicintcompare(String[]strings,String[]otherStrings){return-1*(strings[sortNum

java - 使用 Jena 获取对类的 OWL 限制

使用pizzaontology,我希望能够查找American的所有配料比萨。如果我在Protégé中打开本体,我可以看到American披萨有以下限制:hasToppingsomeMozerellaToppinghasToppingsomeTomatoTopping如何通过Jena以编程方式获取相同的信息? 最佳答案 这是我的解决方案。我刚刚打印了您要的字符串,但希望您能从中了解如何使用JenaOntAPI遍历本体图并挑选出您感兴趣的内容。packageexamples;importjava.util.Iterator;impor

java - 无法对可扩展方法进行多线程处理

更新:为了帮助阐明我要问的内容,我发布了一些java代码来理解这个想法。前一段时间我问了一个question关于如何让算法分解一组数字,我的想法是给它一个数字列表(1,2,3,4,5)和一个总数(10),它会计算出每个数字的所有倍数加起来等于总数('1*10'or'1*1,1*2,1*3,1*4'或'2*5'等)。这是我做过的第一个编程练习,所以我花了一段时间才开始工作,但现在我想看看我是否可以扩展它。最初问题中的人说它是可扩展的,但我对如何去做有点困惑。递归部分是我坚持缩放结合所有结果的部分的区域(它所指的表不可缩放但应用缓存我能够使其快速)我有以下算法(伪代码)://generat

java - JPanel 对 KeyBindings 没有反应

我正在开发一个需要JPanel对按下的转义键使用react的应用程序。我很确定我使用了正确的方法将键绑定(bind)注册到组件,但显然我仍然做错了。这是负责注册结束响应所述键绑定(bind)的代码:privatevoidinitializeKeyBindings(){Actiona=newAbstractAction(){privatestaticfinallongserialVersionUID=1L;@OverridepublicvoidactionPerformed(ActionEvente){menu.setVisible(true);System.out.println("H

java - 在 Java 中对对象使用运算符

假设我们有一个类如下:publicclassTime{inthour;intmin;Time(inthour,intm){hour=h;min=m;}publicStringtoString(){returnhour+":"+min;}}我想在main中写一些这样的代码,结果如注释中所示:Timet1=newTime(13,45);Timet2=newTime(12,05);System.out.println(t1>=t2);//trueSystem.out.println(t1我可以通过接口(interface)等来做到这一点吗?还是我唯一能做的就是编写方法而不是使用运算符?提前致

java - java.sql.Connection.close() 对 java.sql.Statement 对象等的影响

关闭java.sql.Connection是否也会关闭从该连接获得的所有语句、准备语句等?或者,如果我关闭连接但未关闭语句等,是否会发生内存泄漏? 最佳答案 Doesclosingajava.sql.Connectionalsocloseallthestatements,preparedstatements,etc.obtainedfromthatconnection?OristheregoingtobememoryleakifIclosetheconnectionbutleavethestatements,etc.unclosed

java - 为什么 MessageDigest 对同一个字符串返回不同的答案?

我正在尝试使用Java中的MessageDigest获取字符串的哈希值,但每次的值都不同。当我运行该程序两次时,它会再次得到完全不同的答案。MessageDigestmd=null;try{md=MessageDigest.getInstance("SHA-1");}catch(NoSuchAlgorithmExceptionnsae){}md.update("string".getBytes());byte[]digest=md.digest();System.out.println(digest);md.reset();md.update("string".getBytes());

java - 如何对安全密码执行验证。 char[] 上的正则表达式?

这个问题是这里问题的后续问题:Whyischar[]preferredoverStringforpasswords?这个问题对于理解为什么使用char[]而不是String很好;但是,它没有解释如何以安全的方式对char[]执行密码验证。这就是我想知道的。简单来说,我需要检查密码是否满足以下要求:至少包含一个大写字母至少包含一个小写字母至少包含一个数字至少包含一个符号至少是n个字符,但不超过m现在我明白了如何使用正则表达式来执行验证......这些答案展示了如何做到这一点:RegexpJavaforpasswordvalidationPasswordmustbe8charactersi

java - 对 Java + OpenPGP 的建议?

我想开发一个小型的OpenPGP客户端,我正在寻找OpenPGP的Java库。是否有针对此方法的任何(开源)建议?Cryptix.org好像没有生命了…… 最佳答案 我找到了BouncyCastle库,用于Java和C#。我没有任何经验。我会尝试并在此处报告。它提供:适用于Java和C#的轻量级加密API。Java密码术扩展和Java密码术架构的提供者。JCE1.2.1的洁净室实现。用于读取和写入编码的ASN.1对象的库。轻量级客户端TLSAPI。第1版和第3版X.509证书、第2版CRL和PKCS12文件的生成器。版本2X.509