小编Bob*_*r02的帖子

JVM字节码验证程序的职责

有人可以列出字节码验证器必须执行的主要任务,以保证程序的正确性吗?JVM规范中是否定义了一组标准的最小职责?我还想知道验证是否跨越其他阶段,如加载和初始化.

java jvm

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

持久性与不可变数据结构

持久性和不可变数据结构有什么区别吗?维基百科在讨论持久性时指的是不可变数据结构,但我觉得两者之间可能存在细微差别.

immutability object-persistence data-structures

18
推荐指数
2
解决办法
9104
查看次数

Java - 基类和子类中的equals方法

我有一个简单的基类,后来由许多单独的类扩展,这可能会引入新的字段,但不一定.我在基类中定义了一个equals方法,但是也为一些子类重写了它.可以在基础/子类中混合定义吗?在我的例子中,它是为了避免代码重复检查相同的字段.

java equals

18
推荐指数
2
解决办法
3万
查看次数

Bloom过滤器用法

我正在努力理解布隆过滤器的用处.我得到了它的基础逻辑,空间压缩,快速查找,误报等.我只是不能将这个概念置于现实生活中,因为它是有益的.一个常见的应用是在Web缓存中使用bloom过滤器.我们使用bloom过滤器来确定给定的URL是否在缓存中.为什么我们不直接访问缓存来确定?如果我们得到肯定的话,我们仍然需要去缓存来检索网页(可能不存在),但是如果没有,我们可以使用缓存得到相同的答案(这可能是为了快速查找而优化的)无论如何?).

algorithm bloom-filter data-structures

17
推荐指数
2
解决办法
7019
查看次数

Java - 可用的垃圾收集算法

有没有人知道一个适当的资源来阅读Java中可用的垃圾收集机制?到目前为止,我发现了几个网站,但它们没有包含关于何时使用哪个以及实现方式的全面描述.(我指的是Oracle的jdk)

java garbage-collection

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

Java的定量金融/数学库

我目前正致力于一个依赖于几个数学/统计/金融工具的项目,我希望将其包含在一个(可能是几个)库中.我想拥有的是:

  1. 统计测量 - 模式,方差等.
  2. 概率分布+可用的抽样
  3. 例如期权定价的金融模型

有没有人知道哪些库可能有用?

java math statistics

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

Java 8 - 流意识形态

我最近开始玩Java 8,之前已经在Haskell/Scala中做过点点滴滴.我正在尝试使用Java中的高阶函数,例如map或者forEach,我正在努力理解将一切都推向Stream意识形态的动机是什么.我理解它提供了很好的通用抽象,它应该是懒惰的,但让我们考虑一个非常简单的常见例子:

list.map(x -> do_sth(x));
Run Code Online (Sandbox Code Playgroud)

很常见的习语,期待这个回归List<T>.现在,在Java 8中,我需要做这样的事情:

list.stream().map(x -> doSth(x)).collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)

现在,到目前为止,我看到这个,在调用collect之前,流将不会应用地图,因此将会有一个通过集合下的集合.我也看不出是为什么地图,列表如常见的使用情况map.toList(),list.groupBy()将不会被添加到相应的接口?我在这里缺少一个潜在的设计决策吗?

java collections lambda java-8

14
推荐指数
1
解决办法
1230
查看次数

Java内存模型 - volatile和x86

我试图理解java volatile的内在函数及其语义,以及它对底层架构及其指令的转换.如果我们考虑以下博客和资源

为volatile生成的fences,在fence上读取/写入volatileStack overflow问题时会生成什么

这是我收集的内容:

  • volatile read在它之后插入loadStore/LoadLoad障碍(x86上的LFENCE指令)
  • 它可以防止随后的写入/加载重新排序负载
  • 它应该保证加载由其他线程修改的全局状态,即在LFENCE之后,由其他线程完成的状态修改对其CPU上的当前线程是可见的.

我正在努力理解的是:Java不会在x86上发出LFENCE,即读取volatile不会导致LFENCE ....我知道x86的内存排序会阻止lods/stored的负载重写,所以第二个要点是照顾.但是,我假设为了使该状态可以被该线程看到,应该发出LFENCE指令以保证在执行栅栏后的下一条指令之前所有LOAD缓冲区都被耗尽(根据英特尔手册).我知道x86上有cahce coherence协议,但是volatile读取仍然会消耗缓冲区中的任何LOAD,不是吗?

java cpu multithreading volatile java-memory-model

14
推荐指数
1
解决办法
317
查看次数

Scala:伴侣对象的目的

可能重复:
在Scala中拥有伴随对象的理由是什么?

感谢您对我之前帖子的所有回复(Scala:伴侣对象和"new"关键字).我想问一下Scala中伴随对象的一般用途是什么?首先,我们是否可以在类本身的构造函数/方法定义的形式中包含所有方法,例如apply?此外,伴随布尔对象有什么意义,因为它甚至没有定义apply方法?

再次感谢您的所有回复.

scala class object

13
推荐指数
1
解决办法
6029
查看次数

Scala - 期货和并发

我试图了解来自Java背景的Scala期货:我知道你可以写:

val f = Future {   ...    }
Run Code Online (Sandbox Code Playgroud)

那我有两个问题:

  1. 这个未来如何安排?自动?
  2. 它会使用什么样的调度程序?在Java中,您将使用可能是线程池等的执行程序.

此外,如何实现a scheduledFuture,在特定时间延迟后执行的?谢谢

concurrency scala scheduling future promise

13
推荐指数
1
解决办法
1807
查看次数