似乎当我实例化12个Swing Worker线程时,前六个开始完成它的任务,它完成AND然后最后六个开始并完成.我正在寻找的行为是所有12个线程同时开始工作并同时完成.
我有以下内容:
for (int i = 0; i < 12; i++ )
{
myTask m = new Mytask(i, START);
m.execute();
}
Run Code Online (Sandbox Code Playgroud)
myTask m将以0到100递增一个进度条,增量为25.我发现前六个线程开始递增的异常行为,它们以100结束,然后最后六个线程从0开始递增,然后结束.
是否存在可能具有的Swing Worker线程数量的限制因素?
试图在应用程序中拒绝推送通知时解决几个极端情况,我有两个问题:
1)有没有办法重置用户是否看到弹出通知请求?
2)有没有办法确定用户是否对通知请求说"不"?
很难相信,但在我看来,常见的Makefile成语"> $ @"是错误的.特别是,其规则具有失败但使用此重定向的命令的目标将在第一次失败但不是后续失败.这是因为即使命令失败,重定向也会在创建最新(尽管是零长度)目标的意义上"成功".
在我看来,正确的做法是重定向到临时并成功将此临时重命名为目标.
这是和Makefile的例子:
bad-target:
command-that-will-fail > $@
good-target:
command-that-will-fail > $@.tmp || ( rm $@.tmp; false )
mv $@.tmp $@
clean:
rm -f bad-target good-target
Run Code Online (Sandbox Code Playgroud)
这是一系列命令,说明问题及其解决方案:
$ make clean
rm -f bad-target good-target
$ make bad-target
command-that-will-fail > bad-target
/bin/sh: command-that-will-fail: not found
make: *** [bad-target] Error 127
$ make bad-target
make: `bad-target' is up to date.
$ make good-target
command-that-will-fail > good-target.tmp || ( rm good-target.tmp; false )
/bin/sh: command-that-will-fail: not found
make: *** [good-target] Error 1 …
Run Code Online (Sandbox Code Playgroud) 我有几个文本文件(A.txt
和B.txt
)看起来像这样(每个可能有~10000行)
processa,id1=123,id2=5321
processa,id1=432,id2=3721
processa,id1=3,id2=521
processb,id1=9822,id2=521
processa,id1=213,id2=1
processc,id1=822,id2=521
Run Code Online (Sandbox Code Playgroud)
我需要检查文件中的每一行A.txt
是否也存在B.txt
(B.txt
可能还有更多,这没关系).
问题是行可以在两个文件中以任何顺序排列,所以我想我会在两个文件中以某种特定顺序对它们进行排序O(nlogn)
,然后将每一行匹配A.txt
到下一行B.txt
中O(n)
.我可以实现一个哈希,但文件很大,这种比较只发生一次,之后这些文件被重新生成,所以我认为这不是一个好主意.
在Perl中对文件进行排序的最佳方法是什么?任何订购都可以,它只需要一些订购.
例如,在字典排序中,这将是
processa,id1=123,id2=5321
processa,id1=213,id2=1
processa,id1=3,id2=521
processa,id1=432,id2=3721
processb,id1=9822,id2=521
processc,id1=822,id2=521
Run Code Online (Sandbox Code Playgroud)
正如我之前提到的,只要Perl做得很快,任何排序都会一样好.
我想在打开文件之后从Perl代码中执行此操作
open (FH, "<A.txt");
Run Code Online (Sandbox Code Playgroud)
任何评论,想法等都会有所帮助.
我有一个类从第三方源解组xml(我无法控制内容).这是解组的片段:
JAXBContext jContext = JAXBContext.newInstance("com.optimumlightpath.it.aspenoss.xsd");
Unmarshaller unmarshaller = jContext.createUnmarshaller() ;
StringReader xmlStr = new StringReader(str.value);
Connections conns = (Connections) unmarshaller.unmarshal(xmlStr);
Run Code Online (Sandbox Code Playgroud)
Connections
是使用xjc生成的dtd-> xsd->类的类.该包com.optimumlightpath.it.aspenoss.xsd
包含所有这些类.
我收到的xml包含DOCTYPE中的相对路径.基本上str.value
上面包含:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE Connections SYSTEM "./dtd/Connections.dtd">
<Connections>
...
</Connections>
Run Code Online (Sandbox Code Playgroud)
这作为java 1.5应用程序成功运行.为了避免上面的错误,我不得不在项目根目录下创建一个./dtd目录并包含所有dtd文件(不知道为什么我必须这样做但我们会这样做).
我已经在Tomcat5.5上创建了一个使用上述类的Web服务.我正在进入[org.xml.sax.SAXParseException: Relative URI "./dtd/Connections.dtd"; can not be resolved without a document URI.]
unmarshal线.我尝试在每个relavant文件夹(项目根目录,WebContent,WEB-INF,tomcat工作目录等)中创建./dtd无济于事.
问题1:我在哪里可以找到./dtd,以便在作为tomcat webservice运行时,类可以找到它?我需要做什么tomcat或服务配置才能识别目录?
问题2:为什么该类甚至首先需要dtd文件?它是否具有在dtd-> xsd->类的注释中解组所需的所有信息?我已经阅读了很多关于禁用验证,设置EntityResource和其他解决方案的帖子,但是这个类并不总是作为Web服务部署,我不想有两个代码序列.
我正在编写一个基于servlet的应用程序,我需要在其中提供消息传递系统.我匆忙,所以我选择CKEditor来提供编辑功能,我目前直接在显示所有消息的网页中插入生成的html(消息存储在MySQL数据库中,fyi).CKEditor已经基于白名单过滤HTML,但是用户仍然可以使用POST请求注入恶意代码,因此这还不够.
一个好的库已经存在,可以通过过滤HTML标签来防止XSS攻击,但它是用PHP编写的:HTML Purifier
那么,是否有类似的成熟库可以在Java中使用?基于白名单的简单字符串替换似乎不够,因为我也想过滤格式错误的标签(这可能会改变显示消息的页面的设计).
如果没有,那我该怎么办?XML解析器似乎有点过分.
注意:在SO上有很多关于此的问题,但所有答案都涉及过滤所有HTML标记:我想保留有效的格式化标记.
我最近进入了一些博客,说Linq to Sql已经死了.几天前我和一些人讨论过,Silverlight可能会占用ASP.net的位置!......
我不想问他们是不是真的,但是当你醒来并在棺材里找到你的语言和信息时它真烦人!(我认为微软的语言占据了这个词的很大一部分).
那么在这种情况下我该怎么办?放下所有东西,然后重新开始使用新技术或继续使用旧的东西或什么?
所以我试图根据宽度和高度在Python中生成嵌套列表.这是我到目前为止:
width = 4
height = 5
row = [None]*width
map = [row]*height
Run Code Online (Sandbox Code Playgroud)
现在,这显然不太正确.打印时看起来很好:
[[None, None, None, None],
[None, None, None, None],
[None, None, None, None],
[None, None, None, None],
[None, None, None, None]]
Run Code Online (Sandbox Code Playgroud)
但是尝试将值分配给这样的位置:
map[2][3] = 'foo'
Run Code Online (Sandbox Code Playgroud)
我明白了:
[[None, None, None, 'foo'],
[None, None, None, 'foo'],
[None, None, None, 'foo'],
[None, None, None, 'foo'],
[None, None, None, 'foo']]
Run Code Online (Sandbox Code Playgroud)
很明显,这是因为每个子列表实际上只是引用相同的对象,行,所以更改一个,更改它们.所以这是我最接近的!
如何动态生成嵌套列表?谢谢!
我有一个ASP.Net MVC应用程序.我想创建一个列出简单集合内容的视图,并在新的浏览器窗口中显示它.
有没有办法使用简单的链接在新的浏览器窗口中显示视图?
我已经用Html.ActionLink打败了.下面的Url.Action确实会导致调用Controller操作,但不会在新的浏览器窗口中打开.
在新浏览器中打开MVC视图.
在MVC中可以在新的浏览器窗口中打开视图吗?
如果是这样,有谁知道怎么样?
如果我想在Ruby中交错一组数组,并且每个数组的长度相同,我们可以这样做:
a.zip(b).zip(c).flatten
Run Code Online (Sandbox Code Playgroud)
但是,如果阵列的大小不同,我们如何解决这个问题呢?
我们可以这样做:
def interleave(*args)
raise 'No arrays to interleave' if args.empty?
max_length = args.inject(0) { |length, elem| length = [length, elem.length].max }
output = Array.new
for i in 0...max_length
args.each { |elem|
output << elem[i] if i < elem.length
}
end
return output
end
Run Code Online (Sandbox Code Playgroud)
但有没有更好的'Ruby'方式,也许使用zip或转置或其他一些?