小编Tur*_*lov的帖子

使用OpenJDK的原因是什么?

我莫名其妙地理解之间的差异Oracle JDKOpen JDK.
但我找不到使用的理由Open JDK.
因为Oracle JDK已经拥有了所需的一切,有时甚至更快Open JDK.

有人在哪些情况下使用Open JDK
它只是针对合法性问题吗?
如果是,那么问题是什么?
那是因为我一直在使用我开发的所有项目Oracle JDK

java licensing

11
推荐指数
2
解决办法
9326
查看次数

touchDragged如何在libgdx中工作?

我目前正在学习libgdx游戏编程,现在我已经学会了如何使用touchDown但是我不知道如何使用touchDragged.计算机如何知道手指被拖动的方向(用户是向左还是向右拖动)

android game-development libgdx

6
推荐指数
1
解决办法
5978
查看次数

是否可以通过使用 JNI 来避免 jvm 安全?

我一直在思考 jvm 安全的工作方式。其原理是 jvm 始终信任并运行任何本机代码。因此,从概念上讲,如果您的代码不checkpermission(permission)显式或隐式调用,则意味着它永远不会失败任何安全验证。当然,所有这些验证调用通常都是在 Java API 类中完成的,因此我们不需要自己调用它们来获取内置权限。

现在,只要您使用诸如 之类的内置类FileOutputStream,您的代码就始终需要接受权限检查。但是想了想之后,我想知道是否可以通过使用Java Native Interface来运行c++代码来避免安全检查。

想象一下,您导入了一些 jar,而不是FileOutputStream用来写入文件,而是使用一些手工制作的 JNI,这些 JNI 绑定到文件编写 C++ 程序(显然它不调用任何checkpermission())。基于问题“如何在 JAR 中捆绑本机库和 JNI 库? ”,我了解到可以将所有内容捆绑在一个漂亮的恶意 jar 中。因此,使用此 jar 的任何代码都不再安全,因为从 jar 执行代码时不会进行安全验证。这意味着这个 c++ 程序可以有效地覆盖运行 jvm 的进程对其具有写权限的所有文件。

这是正确的思维方式,它是有意为之还是我错过了什么?

java java-native-interface jvm jar java-security

4
推荐指数
1
解决办法
296
查看次数

我在哪里可以了解 MySQL 查询的时间复杂度(Big-O 表示法)?

例如,我对 MySQL 查询的复杂性(大 O 表示法)感兴趣,例如“SELECT something WHERE id=1”。我说的不仅是一个例子,而且是一些文档,我可以在其中阅读 MySQL 如何实现这些查询的所有内容。有吗?如果你分享这个,我将不胜感激。

mysql sql complexity-theory big-o time-complexity

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

在从中创建表达式树时是否需要将中缀表示法转换为后缀?

我想创建一个以中缀形式给出表达式的表达式树。是否需要先将表达式转换为后缀,然后再创建树?我知道这在某种程度上取决于问题本身。但假设它是带有未知数和运算符的数学函数的简单表达式,例如:/ * ^ + -。

infix-notation expression-trees postfix-notation data-structures

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

承诺链是否保证只有在前一个承诺完成后才会调用下一个承诺的回调?

在js中遇到过一篇关于promises文章,作者展示了一段代码:

// I want to remove() all docs
db.allDocs({include_docs: true}).then(function (result) {
  result.rows.forEach(function (row) {
    db.remove(row.doc);  
  });
}).then(function () {
  // I naively believe all docs have been removed() now!
});
Run Code Online (Sandbox Code Playgroud)

并说

这段代码有什么问题?问题是第一个函数实际上返回的是 undefined,这意味着第二个函数不会等待 db.remove() 在所有文档上被调用。事实上,它不等待任何东西,并且可以在删除任意数量的文档时执行!

所以,据我所知,如果第二个回调不function() {}接受任何参数,它实际上不会等待回调结束function(result)。我推断正确吗?因为当我运行以下代码时,它给了我相反的结果:

var array = [];
for ( let i = 0; i < 1000; i++ )
    array.push(i);

var promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve(), 1000);
});

promise
.then(() => array.forEach(item …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous promise

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