我想知道java 1.5中比较两个数据结构的最快方法是什么.
我的数据结构代表了一棵非常大的树.我可以遍历整个数据结构并逐个节点地比较(我想这会很慢).或者我可以计算数据结构的哈希来更快地完成它,对吧?
计算此哈希的最佳(有效且不太长)方法是什么?
我不想花太多时间来计算哈希...
希望我很清楚..: - )...
我正在尝试使用graphviz绘制C头文件之间的依赖关系图.
基本上,我正在做的是记录所有出现的#include和条件(我的意思是#if条件).如果一个文件包含另一个文件,它将成为图中的父亲,潜在条件是边缘标签.
我获得了一个非常大的图表.问题源于边缘标签总是水平的(你不能改变它)并且似乎总是左对齐(我已经尝试过labelloc和labeljust但它没有改变任何东西."中心"的正确方法是什么一条边的标签.
为了避免这个问题,我尝试将条件渲染为节点.如果Ah在ANSI条件下包含Bh,则存在从Ah到ANSI然后从ANSI到Bh的链接.看起来没问题,但问题是如果Ch在相同条件下包含Dh,我会看到从Ah到ANSI的链接,一个从Ch到ANSI; 一个从ANSI到Bh,一个从ANSI到Dh.问题是我不知道是否包含Bh的Ah或Ch.有没有办法指定像通过节点的东西(从Ah到Bh的链接,在ANSI下可能利用透明度.)
这与这个问题有点关系.
我正在使用make来提取有关某些C程序的一些信息.我正在使用运行我的java程序然后gcc的bash脚本包装编译.基本上,我在做:
make CC=~/my_script.sh
Run Code Online (Sandbox Code Playgroud)
我想使用几个作业(-j选项与make).它根据依赖规则运行多个进程.
如果我理解得很好,我会将jvm的实例作为工作,对吗?
问题是我正在使用sqlite-jdb来收集一些信息.那么问题是如何避免几个进程同时尝试修改db?似乎sqlite锁是jvm依赖的(我的意思是一个锁只能在锁定jvm中"看到"),并且这对于RandomAccessFile.lock()来说是相同的.
你知道怎么做吗?(创建一个tmp文件,然后查看它是否存在似乎是一种可能性,但可能很昂贵.一个锁定表在dB?)
谢谢
潜在的愚蠢:假设我有一个包含运算符的字符串,应用此运算符的最佳方法是什么?
我倾向于做的是:
if(n.getString(1).equals("<<")) {
result = tmp1 << tmp2;
}
Run Code Online (Sandbox Code Playgroud)
对于我所拥有的每种运营商.有没有更好的办法 ?
这可能真的很愚蠢.我不太了解T-SQL中的NVarChar比较..如果我尝试这样的话:
DECLARE @A NVARCHAR = 'A';
DECLARE @AB NVARCHAR = 'AB';
if @A = @AB
BEGIN
PRINT N'A EQUALS AB';
END
Run Code Online (Sandbox Code Playgroud)
打印出"EQUALS AB"......你能告诉我为什么吗?
阅读本页并没有真正帮助......
谢谢.
这是我要解析的 XML 的摘录:
<node version="1.0.7" errorCode="0" message="">
Run Code Online (Sandbox Code Playgroud)
errorCode 实际上是一组固定的常量,所以我认为将它表示为 enum 是个好主意:
public enum ErrorCode {
OK (0,"ok"),
ERR (1,"Error"),
BIGERR (2,"Big Error");
private int code;
private String name;
ErrorCode(int code, String name) {...}
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用枚举中定义的各种常量映射 xml 文件中的“0”......我不断收到没有枚举常量的转换异常:
com.thoughtworks.xstream.converters.ConversionException: No enum constant my.package.ErrorCode.0
Run Code Online (Sandbox Code Playgroud)
我不知道如何为这些值指定别名......(或者如果我必须实现我自己的转换器。)。
谢谢..
我想多线程一个应用程序,但是我正在使用的一个库不是多线程的(我不知道什么是正确的单词?同步?).
我有什么选择?
据我所知,java中的线程和进程(Runtime.exec)之间没有任何东西(在jvm中没有抽象,有类似孤立的"java进程").
你会怎么处理?
编辑
感谢所有答案,再一次,一个间接层就可以解决问题.
我有一个关于OnKeyDown事件的问题.OnKeyDown事件提供了一个KeyCode,但我不确切知道给出了什么样的代码.基本上,我使用String.FromCharCode方法从我认为的ASCII代码中获取真实字符.它工作正常,直到我尝试使用来自小键盘的数字.如果我使用'w'上方的键输入'2'即可,但是使用来自小键盘的'2',KeyCode给出的是98(这是'b'Ascii代码).
我正在看这个页面并且存在同样的问题.该示例应该阻止用户键入数字.它与第一个字符顶部的数字完美匹配(缺少更好的名称),但您可以使用数字键盘键入数字.
你知道问题是什么吗?(这真的是ascii代码吗?我使用了错误的事件吗?)...
谢谢...
我正在尝试分析一些trx文件(webTestResults)来输出合成的excel文件.
首先,我使用trx xsd模式(visual studio目录中的vstst.xsd)生成一堆C#类.
然后,我尝试基于TestRunType的类型(从模式生成)实例化XmlSerializer.
XmlSerializer xmlSer = new XmlSerializer(typeof(TestRunType));
Run Code Online (Sandbox Code Playgroud)
XMLSerializer实例化引发了一个异常:
System.InvalidOperationException: There was an error reflecting type 'TestRunType'. ---> System.InvalidOperationException: There was an error reflecting property 'Items'. ---> System.InvalidOperationException: There was an error reflecting type 'TestRunTypeTestDefinitions'. ---> System.InvalidOperationException: There was an error reflecting property 'Items'. ---> System.InvalidOperationException: There was an error reflecting type 'OrderedTestType'. ---> System.InvalidOperationException: There was an error reflecting type 'CodedWebTestElementType'. ---> System.InvalidOperationException: There was an error reflecting property 'Items'. ---> System.InvalidOperationException: Member 'CodedWebTestElementType.Items' hides inherited member …Run Code Online (Sandbox Code Playgroud)