Tag: scala

在任何派生类的构造函数之后运行方法

假设我有一个Java类 abstract class Base { abstract void init(); … } 我知道每个派生类在构造之后都必须调用init() 。 当然,我可以简单地在派生类的构造函数中调用它: class Derived1 extends Base { Derived1() { … init(); } } class Derived2 extends Base { Derived2() { … init(); } } 但是这打破了“不要重复自己”的原则而且非常糟糕(并且会有很多Base子类)。 当然, init()调用不能进入Base()构造函数,因为它会执行得太早。 任何想法如何绕过这个问题? 我也很高兴看到Scala解决方案。 更新:这是工厂方法方法的通用版本: interface Maker { T make(); } class Base { … static T makeAndInit(Maker maker) […]

Akka:如何查找集群中的当前节点?

从Akka演员那里,你怎么能找到集群的节点? 也就是说,本地节点认为当前可访问的节点。 谢谢, – 丹尼尔

哪个是更好的框架Java / GWT或Scala / Lift?

我想开始一个新的Web应用程序项目,我感到困惑的是两个框架,即GWT(Java)或Lift(Scala)。 所以我想要你的意见我选择哪一个? 根据我的项目要求,两者都很好。 那么在框架比较的基础上请告诉我哪个好?

如何在两个JVM实例之间共享内存?

我在JVM(Scala)中构建了一个巨大的图形,我想重复使用它,调整算法。 我不想每次都从磁盘重装它。 有没有办法让它在一个JVM中连接而从另一个JVM连接,算法正在开发中?

Scala替换Arrays.binarySearch?

Scala中是否有替换Java的int Arrays.binarySearch(Object[] array, object) ? 问题是Scala的数组不是协变的,所以我必须先将我的stringArray: Array[String] : stringArray.asInstanceOf[Array[Object]] 有更好的解决方案吗?

Scala IDE – 播放2个Eclipse插件,不突出显示Scala HTML模板的语法

我安装了Scala IDE – Play 2插件(来自http://download.scala-ide.org/play2/nightly_3.0-M_juno_2.10-M/site/ ),而路径编辑器显示正确的语法高亮显示, Scala的模板没有。 此外,它还不允许我在Eclipse的首选项 – >播放 – >模板 – 语法着色中“启用”语法突出显示选项。 因此,在main.scala.html和index.scala.html中没有突出显示Scala语法 我还使用http://download.scala-ide.org/nightly-scala-ide-juno-210x进行Eclipse Juno。 -詹姆士 用鼠标右键单击上面的图像,在新的浏览器选项卡中打开,以全分辨率查看图像。

如何使用maven jvmArg解决“超出GC开销限制”?

运行类时,我有以下exception: 线程“main”中的exceptionjava.lang.OutOfMemoryError:超出了GC开销限制 我试图从类包的maven pom.xml中增加jvmArg堆大小: http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0 (…) (…) (…) 4g ${project.basedir}/.. net.alchim31.maven scala-maven-plugin MyClassName (…) -Xmx${javaOpts.Xmx} (…) 我尝试了最后引用的行,其中包含许多值: -Xmx512m{javaOpts.Xmx} -Xmx4096M{javaOpts.Xmx} … -Xmx10000000000M{javaOpts.Xmx} 但对于他们所有人我都有同样的错误。 有人可以帮帮我吗? 观察:我是从IntelliJ IDEA运行的。

Kafka – 使用高级消费者实现延迟队列

想要使用高级消费者api实现延迟消费者 大意: 按密钥生成消息(每个消息包含创建时间戳)这可确保每个分区按生产时间排序消息。 auto.commit.enable = false(将在每个消息进程后显式提交) 消费一条消息 检查消息时间戳并检查是否已经过了足够的时间 进程消息(此操作永远不会失败) 提交1个偏移量 while (it.hasNext()) { val msg = it.next().message() //checks timestamp in msg to see delay period exceeded while (!delayedPeriodPassed(msg)) { waitSomeTime() //Thread.sleep or something…. } //certain that the msg was delayed and can now be handled Try { process(msg) } //the msg process will never fail […]

如何在Scala编译器重写原始Scala代码的代码中看到

在Scala邮件列表之后,不同的人经常说:“编译器将此[scala]代码重写为此[java / scala ??]代码”。 例如,如果Scala看到,可以从最新的一个主题中找到 class C(i: Int = 4) { … } 然后编译器将其重写为(有效): class C(i: Int) { … } object C { def init$default$1: Int = 4 } 我怎样才能知道代码的编译器输出是什么? 我应该反编译生成的字节码吗?

如何将Play框架模型转换为XML和JSON?

Play Framework是否具有将Play模型转换为XML / JSON的原生或推荐方式? 类似于JAXB或Jackson的东西。 有些人推荐使用模板方法,但这非常冗长,并不能保证格式良好的XML / JSON。 XML上的Play文档只显示使用String连接构建的XML响应,如下所示: return ok(“Hello ” + name + “”); 同样,JSON上的Play文档显示一次一行构建一个JSON对象。 ObjectNode result = Json.newObject(); result.put(“status”, “OK”); result.put(“message”, “Hello ” + name); 是否有使用Play将模型序列化为XML / JSON的标准方法? 是否有关于此主题的官方游戏文档 ?