相关疑难解决方法(0)

Scala中的哪些功能/特性仅作为底层平台的特许权存在,如果针对其他内容应该删除?

前段时间我读到了关于Scala for LLVM的问题,我一直想知道Scala语言/规范/库中的哪些内容只是为了让JVM满意或改进与Java的互操作.

考虑到在LLVM上运行Scala提供了更多的自由,并且计划是移植语言(而不是围绕它的整个Java生态系统)哪些功能在那里没有意义?

指导:我想知道的事情,如Object#finalize监视器的东西(notify,wait),cloneCloneable,没有64位数组索引,集合大小限制为32位java.lang.String,Java反射,...

port compatibility scala llvm

25
推荐指数
3
解决办法
587
查看次数

如何在Scala中使用Serializable/Cloneable/...的惯用设计?

我想知道,如果Scala不(必须)遵循Java java.io.Serializable/ java.lang.Cloneable(主要是为了与Java及其周围的工具/生态系统保持兼容),这些功能会有多么不同(以及实现有多么不同).

由于Scala在语言设计方面更简单,但实现了更强大的实现和抽象可能性,因此可以想象Scala可能采用与Java不同的路径,如果它不必承担Java兼容性负担.

我可以想象一个惯用的实现会使用类型类或特性与(可能)私有字段/方法(在Java接口中不可能吗?),可能带有一些标准实现?

或者标记接口仍然是Scala的正确选择?

java serialization scala language-design

11
推荐指数
1
解决办法
638
查看次数