是否有任何测试多线程代码的指导原则(除了在问题上抛出一堆线程并交叉手指).
我基本上正在寻找测试数据损坏,死锁和其他并发问题的好方法.基本上我希望能够通过测试证明代码是线程安全的.
Java中是否有任何框架可以让您轻松编写多线程场景的测试?
我昨天发布了一个问题,关于我对XOR运算符的反向传播神经网络所遇到的问题.我做了一些工作,并意识到这可能与没有偏见神经元有关.
我的问题是,偏置神经元的作用一般是什么,它在识别XOR算子的反向传播神经网络中的作用是什么?是否可以创建一个没有偏置神经元?
artificial-intelligence xor backpropagation neural-network bias-neuron
我正在使用server.listen(...)PhantomJS.我意识到它主要是实验性的,不应该用于生产.我将它用于一个简单的屏幕截图服务器,它接受生成URL的屏幕截图; 这是我用来玩PhantomJS的玩具项目.我注意到特别是长时间运行的请求存在问题,其中response对象不可用.以下是我的代码中的相关代码段:
var service = server.listen(8080, function (request, response) {
response.statusCode = 200;
if (loglevel === level.VERBOSE) {
log(request);
} else {
console.log("Incoming request with querystring:", request.url);
}
var params = parseQueryString(request.url);
if (params[screenshotOptions.ACTION] === action.SCREENSHOT) {
getScreenshot(params, function (screenshot) {
response.headers["success"] = screenshot.success; //<-- here is where I get the error that response.headers is unavailable. Execution pretty much stops at that point for that particular request.
response.headers["message"] = screenshot.message;
if (screenshot.success) {
response.write(screenshot.base64);
} else …Run Code Online (Sandbox Code Playgroud) List<String> list = new ArrayList<String>();
list.add("a");
...
list.add("z");
synchronized(list) {
Iterator<String> i = list.iterator();
while(i.hasNext()) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
和
List<String> list = new ArrayList<String>();
list.add("a");
...
list.add("z");
List<String> synchronizedList = Collections.synchronizedList(list);
synchronized(synchronizedList) {
Iterator<String> i = synchronizedList.iterator();
while(i.hasNext()) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
具体来说,我不清楚synchronized当同步列表提供对列表的线程安全访问时,为什么在第二个实例中需要.
如果input表单中的元素与表单的本机属性具有相同的名称,则该元素将隐藏本机属性.
例如,请考虑以下形式:
<form id = "test">
<input name="tagName" type="text" />
<input name="nodeName" type="text" />
</form>
Run Code Online (Sandbox Code Playgroud)
该form元素的tagName和nodeName都正常返回FORM.但在这种情况下,以下代码:
var f = document.getElementById("test");
console.log(f.tagName);
console.log(f.nodeName);
console.log(f["tagName"]);
console.log(f["nodeName"]);
Run Code Online (Sandbox Code Playgroud)
显示:
<input name=?"tagName" type=?"text">?
<input name=?"nodeName" type=?"text">?
<input name=?"tagName" type=?"text">?
<input name=?"nodeName" type=?"text">?
Run Code Online (Sandbox Code Playgroud)
是否有解决方法(除了重命名字段)?getAttribute适用于像name,action或者method,但不适用于像nodeName或等属性tagName.
更有趣的是:在这个小提琴中,我只是简单地记录表单本身.通常会显示HTML,但现在Chrome只会记录TypeError.
我有一个自定义Nashorn运行时,我设置了一些全局函数和对象 - 其中一些是无状态的,其中一些是有状态的.针对此运行时,我正在运行一些自定义脚本.
对于每次执行,我计划创建一个由全局上下文支持的新上下文:
myContext.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE);
engine.eval(myScript, myContext);
Run Code Online (Sandbox Code Playgroud)
根据我读到的内容,对全局范围的任何修改(从脚本的角度来看)将仅限于我创建的新上下文.
这些脚本在评估时会公开一些对象(具有明确定义的名称和方法名称).我可以通过强制转换engine来调用对象上的方法Invocable.但是,我如何知道函数运行的上下文?这甚至是一个问题,还是该功能的执行上下文是根据评估它的上下文设置的?
在多线程情况下,我可以期待什么行为,其中所有线程共享相同的脚本引擎实例,并且它们都尝试运行相同的脚本(公开全局对象).当我然后在对象上调用方法时,函数会在哪个上下文中运行?它将如何知道要使用的对象实例?
我期待看到一个invoke方法,我可以指定上下文,但似乎并非如此.有没有办法做到这一点,还是我完全错了?
我知道解决这个问题的一个简单方法是每次执行创建一个新的脚本引擎实例,但据我所知,我会失去优化(特别是在共享代码上).话虽如此,这里会预先编译帮助吗?
这是参考Google Tile Map或Bing Maps.是否有可能获得Tile Count,Tile X,Tile Y细节而无需使用任何类型的内部计算指定缩放级别(或LevelOfDetails)?
客户只会给出坐标P1和P2,并要求提供平铺地图和绑定框等.
希尔帕
在工作中,一些开发人员正在将.tag文件更改为用Java编写的标记.原因是表现.他们表示,在比较.tag文件和用Java编写的文件时,性能提高了十倍.证据是经验性的.
我试图找到一些事实数据来支持这一点,但在网上找不到任何性能比较.我确实找到了谈论标签池以及如何提高性能的文档,但我找不到比较这两者的东西.
我想知道是否可以以编程方式(通过 Java、C# 或其他语言)创建 Microsoft Word 文档。是否还可以执行添加文本或更改字体等操作?
我知道我们可以从命令提示符启动其他程序,但我想做的是以编程方式创建文档,而不使用 Microsoft Word 的 UI。
这可以做到吗?
我正在讨论一些图形算法(这不是功课;我只是在研究算法和数据结构)并且我有一个问题.假设我有以下无向图:
var graph = {
9: [19, 26],
13: [19, 5],
17: [],
26: [11, 18],
18: [9],
19: [],
23: [24],
24: [],
11: [],
18: []
};
Run Code Online (Sandbox Code Playgroud)
该图基本上如下所示:

此图表中有多少个连接组件?从图中看,它看起来有3个组件.但是如果我实际上实现了算法(迭代每个顶点,并且如果该顶点未被发现则使用该顶点作为起始点来执行bfs .此外,bfs将标记它遇到的任何顶点,如发现的那样).
如果我开始9,我最终发现以下节点:[19, 26, 11, 18].但是,13由于它不在19邻接列表中,因此未被发现.但是,19在13邻接列表中.这就是我最终得到一个额外组件的原因.
它是否正确?实际上是否有4个单独的组件,如果是这样,我对连接组件的理解是错误的吗?
java ×5
concurrency ×3
javascript ×3
algorithm ×1
bias-neuron ×1
bing-maps ×1
c# ×1
forms ×1
google-maps ×1
graph ×1
html ×1
jsp ×1
jsp-tags ×1
nashorn ×1
phantomjs ×1
scope ×1
synchronized ×1
taglib ×1
testing ×1
unit-testing ×1
xor ×1