小编Rob*_*een的帖子

尝试运行Java jar文件时出现"ClassFormatError:不兼容的魔术值"

我键入"java -jar ShowTime.jar",并收到此错误消息:

Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value 1347093252 in class file ShowTime
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Run Code Online (Sandbox Code Playgroud)

我该怎么解决这个问题?PS我有一个mac.

java

5
推荐指数
2
解决办法
1万
查看次数

如何通过Ocaml中包含的尾调用获得堆栈跟踪?

ocamldebug中的调用堆栈是真正的调用堆栈,因此进行尾调用的函数不会显示在其中.这令人困惑.如何获得包含尾调用的回溯?

ocaml functional-programming stack-trace tail-call-optimization

5
推荐指数
1
解决办法
627
查看次数

使用Enumerator编写函数

是否可以使用Enumerator或EnumeratorM组成任意函数,以便通过应用函数首先对推送到iteratee中的每个单独的数据项进行预处理?

scala scalaz iterate

5
推荐指数
1
解决办法
225
查看次数

撤消快速合并

我合并失败,直到将其推送到GitHub之前,我才知道这是合并失败,现在我不知道如何撤消/还原它。

故事是这样的:

我打开了两个不同的分支,并对这些分支进行了一些更改。过了一会儿,我决定将那些分支合并回master分支,并$ git merge branch_name用于此目的。我合并了第一个分支,然后检查了master分支的日志:该分支上的所有提交都在master上。然后,我用同一命令进行第二个分支的合并。然后,我再次检查了master的日志,在这里我看到了合并分支上的提交,包括带有以下注释的提交:“合并分支branch_name”。当我合并另一个分支时,不包括这样的注释。

长话短说,问题在于git将第一个分支的提交合并到master了,就像它们已经是master的提交一样。当您检查来自“ GitHub”的网络图或来自“ gitg”的图时,没有留下第一个分支的痕迹,但是其提交显示为master分支的提交。第二个分支没有问题:单独显示该分支,并按预期进行合并。还要注意,在运行merge命令之后$ git branch -d branch_name,不幸的是,我继续通过删除分支,就像这是最紧迫的事情。

现在,我想回到两次连续合并之前的位置。任何帮助表示赞赏。如果您评论发生这种情况的原因,那也将是令人愉快的。

git github git-merge

5
推荐指数
1
解决办法
2146
查看次数

有没有办法证明程序没有错误?

我在想我们可以证明一个程序有错误.我们可以对其进行测试,以评估它是否或多或少具有抗虫性.

但有没有办法(甚至在理论上)证明程序没有错误?

对于简单的程序,例如"Hello World",我想我们应该能够做到.但是大型项目呢?

formal-verification proof proof-of-correctness

5
推荐指数
1
解决办法
1443
查看次数

记录Play 2中的所有请求

如何以与Apache日志(即包括URL和客户端IP)的方式类似的方式记录进入Play 2应用程序的所有请求?

scala playframework-2.0

5
推荐指数
2
解决办法
8072
查看次数

创建一个通用的Json序列化函数

是否可以使用Play Framework 2.2在Scala中创建一个通用函数,它将任意对象序列化为JSON,而不必提供编写器或格式化程序?

例如,这个非通用代码将为Customer创建一个JSON响应:

import play.api.libs.json._
import play.api.libs.functional.syntax._

case class Customer(id: Int, name: String)

object scratch {
  val p = Customer(1, "n")                        
  //> p  : Customer = Customer(1,n)

  def createJsonResponseCustomer(data: Customer) = {
    implicit val formatter = Json.format[Customer]
    Json.obj("success" -> true, "data" -> Json.toJson[Customer](data))
  }

  createJsonResponseCustomer(p)                   
  //> res0: play.api.libs.json.JsObject = {"success":true,"data":{"id":1,"name":"n"}}
}
Run Code Online (Sandbox Code Playgroud)

为了避免为每个不同的对象定义格式化程序,我想创建一个这样的通用函数:

def createJsonResponse[T](data: T) = {
  implicit val formatter = Json.format[T]
  Json.obj("success" -> true, "data" -> Json.toJson[T](data))
}
Run Code Online (Sandbox Code Playgroud)

但是,这种尝试产生错误No unapply function foundJson.format[T].

换句话说,这有效:

def …
Run Code Online (Sandbox Code Playgroud)

generics json scala playframework playframework-2.2

5
推荐指数
1
解决办法
4240
查看次数

Java:通过2D float(float [] [])数组减少内存消耗

我有Java应用程序,它集中使用2D浮点数组(float [] []数组),实际上在黑色背景上保存图像.两个维度都是等于(正方形)并且是2的幂(大多数是256,512,1024),因此在大多数情况下,靠近边界的区域具有零.

大小等于2的功率以提高性能(存在一些FFT)并且降低了那些阵列上的操作的复杂性,例如旋转等.最近我在6Gb的机器上面临这个应用程序的堆缺乏.通过我的计算 - 这个应用程序的内存消耗应该高达2-3Gb,而它达到4-5Gb(在Windows任务管理器中查看).我使用了"YourKit"分析器,它显示那些浮点数阵列确实占用了大部分内存,但是,这些浮点数组的总粗略大小应该是1.3Gb(嗯,我知道由JVM决定如何存储数据,但是我没想到内存消耗会有2-3倍的差异.

我试图使用Snappy压缩器动态压缩/解压缩数据(并且内存消耗降至3.5Gb),但性能下降了几次,这是不可接受的.此外,我在BufferedImage替换那些浮动[] []时测试性能,但性能非常差.

因此,还有两种方法可以减少内存消耗:1)为float [] []数组写包装器以保存"零"元素(有很多"空"行和列)2 )远离"2的力量"

这两种方式都需要相当多的编码/重构,所以当我想"成为或不成为"时 - 你可能对这个问题有更好的线索,伙计们?

谢谢!

java arrays fft out-of-memory memory-optimization

5
推荐指数
1
解决办法
336
查看次数

Caeasar Cipher与java的acm

下面的代码以Caesar的方式加密单词或句子.你把移位值和程序取出单词/句子的每个字母,并根据移位(键)值在字母表中"移动".但这不是问题.我在互联网上找到了代码,我无法解释其中的一些内容.我知道它是如何工作的,但我需要一些关于它的一些特定答案.这是代码:

import acm.program.*;

public class CaesarCipher extends ConsoleProgram {

public void run() {
    println("This program implements a Caesar cipher.");
    int key = readInt("Character positions to shift: ");
    String plaintext = readLine("Enter a message: ");
    String ciphertext = encodeCaesarCipher(plaintext, key);
    println("Encoded message: " + ciphertext);
}


private String encodeCaesarCipher(String str, int key) {
    if (key < 0) key = 26 - (-key % 26);
    String result = "";
    for (int i = 0; i < str.length(); i++) {
        char ch = …
Run Code Online (Sandbox Code Playgroud)

java acm-java-libraries

5
推荐指数
1
解决办法
945
查看次数

Haskell IORef数组用法

我正在开发一个程序,它使用大量IORef的数据类型列表.哪种内存/处理器效率更高的方法:

[IORef Foo]
Run Code Online (Sandbox Code Playgroud)

要么

IORef [Foo]
Run Code Online (Sandbox Code Playgroud)

忽略我使用列表而不是向量或数组的事实.

monads haskell functional-programming data-structures ioref

5
推荐指数
1
解决办法
364
查看次数