Tag: scala

我应该使用Java中的哪个ThreadPool?

有大量的任务。 每个任务都属于一个组。 要求是每组任务应该像在单个线程中执行一样串行执行,并且吞吐量应该在多核(或多CPU)环境中最大化。 注意:还有大量的组与任务数量成比例。 天真的解决方案是使用ThreadPoolExecutor并同步(或锁定)。 但是,线程会相互阻塞,吞吐量不会最大化。 有什么好主意吗? 或者是否存在满足要求的第三方库?

添加默认包导入

在Java,Scala或通常任何JVM语言中,默认情况下会导入一组包。 例如,Java会自动导入java.lang ,您无需在Java代码文件中执行此操作。 现在我不知道哪个组件准确地处理了这个问题(编译器?JVM?),但有没有办法让其他软件包甚至是默认导入的类? 假设你有一个包定义了你在整个项目中使用的一组实用函数(一个例子可能是Scala中的scala.math ),如果你能够在每个数学相关的类中跳过它的导入,那将会很棒。

Java中最近的FFTW包装器

我正在为最新版本的FFTW寻找一个最小的Java包装器。 FFTW网站上列出的包装器要么过时( jfftw-1.2.zip ),要么包含太多额外的东西( Shared Scientific Toolbox )。 谷歌搜索建议JFFTW3看起来很有前景,但下载链接已经破了(有人有镜子吗?) 对于那些想要纯Java FFT库的人来说, JTransforms看起来非常好。 我更喜欢使用FFTW,因为它大约快两倍,它处理任意尺寸d> 3。

用完堆空间

我有堆空间问题。 我的程序很简单。 有两个actor(发送和接收)“发送”actor每秒传递10000个对象来“接收”,并接收发布这些对象。 接收器接收的对象被保存在容器中,但容器每秒都被清空。 因此容器没有空间耗尽。 现在在420000个对象后,我的eclipse鞋出现了一个错误,说“ ioconsole updater遇到了问题” 。 当我转到细节时,我看到错误内部错误:: Java堆空间 我试过增加堆大小。 我的堆大小是8096米,maxpermsize是4096 我正在使用visualVm监视我的代码,我注意到它没有超过堆大小。 如何解决问题完全空白。 有人可以让我知道其他可能的情况会导致这样的错误。

在scala注释中使用常量的最佳实践

我使用tapestry 5作为我选择的Web框架。 Tapestry允许我在configure类中定义符号并将符号注入其他组件。 例如, 公共接口SymbolConstants { static String DEFAULT_TIMEOUT_KEY =“default.timeout”; } 公共类AppModule { void contributionApplicationDefault(Configuration conf){ conf.add(SymbolConstants.DEFAULT_TIMEOUT_KEY,“10”); } } 公共类MyComponent { @Symbol(SymbolConstants.DEFAULT_VALUE_KEY) 私人长时间超时; } 定义静态常量并将其用作注释值的能力为我提供了编译时检查。 我想知道如何定义常量并将它们用作scala注释的值。 如果不是,那么定义/限制我们可以为scala中的注释分配的值的最佳做法是什么。

如何获取有关“function”标志警告的更多信息?

使用Play2编译应用程序时,有时这些消息会出现在我的终端上: [info]将1个Scala源编译为〜/ target / scala-2.10 / classes … [警告]有1个function警告; 重新运行-feature以获取详细信息 [警告]发现一个警告 [成功]编译成1s 如何获得有关这些警告的更多信息? 它必须是sbt的一个选项,但我不知道在哪里搜索…

Java互操作性与Scalagenerics和装箱相关

假设我有这个Scala特征: trait UnitThingy { def x(): Unit } 提供Java实现很容易: import scala.runtime.BoxedUnit; public class JUnitThingy implements UnitThingy { public void x() { return; } } 现在让我们从一般特征开始: trait Foo[A] { def x(): A } trait Bar extends Foo[Unit] 上面的方法不起作用,因为单位x返回现在已装箱,但解决方法很简单: import scala.runtime.BoxedUnit; public class JBar implements Bar { public BoxedUnit x() { return BoxedUnit.UNIT; } } 现在假设我在Scala端有一个x定义的实现: trait […]

Scala与Java 9不兼容 – java.lang.NoClassDefFoundError

在我的电脑上安装Java 9后运行一个示例Scala SBT项目,我就接受了这个例外。 我已经尝试了一些我发现的解决方案,但没有。 Java 9和Scala之间是否存在任何不兼容性? Scala版本:2.12.3 Java版本:java版本“9” IDE:IntelliJ 提前致谢。 info] Compiling 7 Scala sources and 1 Java source to /Users/ermis/Projects/begining-scala/target/scala-2.12/classes… [info] pahEnabledFilters – Enabled Filters (see ): play.filters.csrf.CSRFFilter play.filters.headers.SecurityHeadersFilter play.filters.hosts.AllowedHostsFilter [info] play.api.Play – Application started (Dev) Uncaught error from thread [play-dev-mode-akka.actor.default- dispatcher-2]: javax/xml/bind/DatatypeConverter, shutting down JVM since ‘akka.jvm-exit-on-fatal-error’ is enabled for for ActorSystem[play-dev-mode] java.lang.NoClassDefFoundError: […]

Golang中的AES加密和Java中的解密

我有以下用Golang编写的AES加密函数。 func encrypt(key []byte, text string) string { plaintext := []byte(text) block, err := aes.NewCipher(key) if err != nil { panic(err) } ciphertext := make([]byte, aes.BlockSize+len(plaintext)) iv := ciphertext[:aes.BlockSize] if _, err := io.ReadFull(rand.Reader, iv); err != nil { panic(err) } stream := cipher.NewCFBEncrypter(block, iv) stream.XORKeyStream(ciphertext[aes.BlockSize:], plaintext) return base64.URLEncoding.EncodeToString(ciphertext) } 我正在努力理解使用Java解密生成的文本的流程。 任何帮助将非常感谢! 这是Scala代码,不确定它的问题是什么。 def decode(input:String) […]

什么是Scala相当于Java的静态块?

什么是Scala相当于Java的静态块?