如何在java中随机播放2d数组

我想要做的是改变2D数组的价值。 我有这个2D数组: 2.0|0.0|0.0|1.0|1.0|0.0|0.0|0.0|0.0|1.0|2.0|0.0|1.0|1.0|0.0| 0.0|0.0|0.0|0.0|0.0|0.0|0.0|0.0|1.0|0.0|1.0|1.0|0.0|0.0|0.0| 1.0|1.0|1.0|0.0|0.0|1.0|0.0|1.0|0.0|0.0|1.0|0.0|0.0|0.0|0.0| 我希望它随机播放(eaxmple): 0.0|0.0|0.0|0.0|0.0|0.0|0.0|0.0|1.0|0.0|1.0|1.0|0.0|0.0|0.0| 1.0|1.0|1.0|0.0|0.0|1.0|0.0|1.0|0.0|0.0|1.0|0.0|0.0|0.0|0.0| 2.0|0.0|0.0|1.0|1.0|0.0|0.0|0.0|0.0|1.0|2.0|0.0|1.0|1.0|0.0| 我怎样才能做到这一点?

Wildfly JMS:当消息存在时,MDB bean空闲

我在Wildfly 8.1(HornetQ)上使用捆绑的JMS实现来OCR大量文档。 我希望有一个3个MDB池,消耗队列的消息和要被OCR的文件。 每个MDB都使用Apache commons-exec启动一个进程并阻塞,直到该进程退出。 在我的测试中,我有50条JMS消息(每条消息代表一个要被OCR的文档),它们在测试开始时加载到队列中。 处理开始时,在任何给定时间我都可以看到有3个CPU密集型OCR进程,一个由每个MDB启动和阻止。 在某些时候,在20分钟左右之后,其中一个OCR过程消失,并且在任何给定时间只有2个保持活着。 当剩余10条JMS消息时,另一个OCR进程停止,并且在任何给定时间只有1个。 最后,所有50个文档都已被OCR,并且任何OCR进程或我的应用程序都不会抛出任何exception。 我发现这种行为很奇怪,因为我希望在任何时间消耗JMS消息时都会有3个OCR进程处于活动状态(当然除外)。 如果在队列中输入时将JMS消息“分配”到MDB实例,而不是实时,则可以解释此行为。 例如,如果为每个MDB分配了大约17条消息。 根据文档大小,当其他MDB实例仍然可以使用消息时,某些MDB实例可以更早地完成并保持空闲而不消耗任何其他消息。 这是发生了什么? 如果是,是否有办法更改此设置,以便每当MDB实例完成处理消息时,都会向MDB实例分配消息? @MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = “destinationLookup”, propertyValue = “queue/csrOcrQueue”), @ActivationConfigProperty(propertyName = “minSession”, propertyValue = “3”), @ActivationConfigProperty(propertyName = “maxSession”, propertyValue = “3”) }) @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public class OcrMessageListener implements MessageListener {

Pipeling hadoop map减少了工作量

我有五个map reduce我分别运行每个。 我想把它们一起管道。 因此,一份工作的输出转到下一份工作。 目前,我编写了shell脚本来执行它们。 有没有办法在java中写这个? 请举个例子。 谢谢

适当使用断言

能帮助我更好地理解,“断言”与“抛出exception”的适当用法是什么? 每个场景何时适用? 情景1 码 public Context(Algorythm algo) { if (algo == null) { throw new IllegalArgumentException(“Failed to initialize Context”); } this.algo = algo; } 测试 public void testContext_null() { try { context = new Context(null); fail(); } catch (IllegalArgumentException e) { assertNotNull(e); } } 场景2 码 public Context(Algorythm algo) { assert (algo != null); this.algo […]

Play Framework 2.2.1 – 将非播放Java项目添加为子项目

我正在尝试将非播放Java项目添加为子项目。 主项目是Play Java Application,子项目与main-project位于同一目录中。 我按照这里给出的指示。 我的build.sbt看起来像 import play.Project._ name := “main-project” version := “1.0” libraryDependencies ++= Seq(javaJdbc, javaEbean) playJavaSettings lazy val mainProject = project.in(file(“.”)) .aggregate(subProject) .depends(subProject) lazy val subProject = project.in(file(“../sub-projects/sub-project-1”)) 这是我的目录结构 D: |– projects | |– main-project | |– sub-projects | | | |– sub-project-1 | | | |– sub-project-2 当我尝试编译主项目时,我收到以下错误。 [info] Loading project […]

公开@Asynchronous函数的当前进度以在View中使用

在我的JEE6-App(在Glassfish 3.0.1上运行)中,我有一个EmailEJB,它必须发送大量邮件。 邮件是异步发送的,所以它用新的EJB3.1 @Asynchronous注释,让它在一个单独的Thread中运行。 现在我想让用户了解该方法的当前状态:已发送了多少封邮件? 异步发送邮件工作正常,但我无法弄清楚如何从外部访问进度。 似乎我的做法是非常错误的,但不知何故它必须是可能的(也许是另一种方法)。 这就是我的EmailEJB目前的样子(它的伪代码,但解释了我想要的): @Stateful public class EmailEJB { @Asynchronous public Future sendMails() { for (int i=0; i<mails.size; i++) { sendMail(mails[i]) // i want to return the progress without returning 😉 return new AsyncResult(i) } } } //Just for the completeness… from outside, i’m accessing the progress like this: Future progress […]

超时会抛出什么exception?

HTMLUnit中连接超时引发了什么exception?

如何在Servlet-Applet场景中进行Unittests

我应该如何为Java / Tomcat Servlet-Applet应用程序创建和运行unit testing?

Java – 从SFTP直接下载到内存而无需写入文件

我在过去几天一直在研究这个问题,但似乎无法找到从SFTP服务器读取内容并将内容写入内存而不是文件的任何示例或文档。 它让我想到这是否可能。 我希望将从SFTP流下载的文件写入内存中的字节数组,然后在字节数组在内存中时使用它。 这可能吗?

应用程序包Mac OS X Leopard

我在Mac OS X Tiger上有一个有效的应用程序包。 我很容易只能替换jar文件,一切都有效,因为我做了更改。 我现在接受那个应用程序包,当它在Leopard上时,我得到的错误信息是“无法打开此应用程序,因为此架构不支持”。 我认为这是因为Tiger是32位而Leopard是64位。 有没有办法让这个相同的应用程序包在Leopard上运行? 或者我必须制作一个全新的? 我不是Mac人,所以我在这里做的事情有限。