我有一个简单的Monte-Carlo Pi计算程序.我尝试在2个不同的盒子上运行它(相同的硬件,内核版本略有不同).我发现在一种情况下(两倍的时间)性能显着下降.没有线程,性能大致相同.对程序的分析执行表明,较慢的程序每个futex调用花费较少的时间.
Linux(3.10.0-123.20.1(Red Hat 4.4.7-16))Python 2.6.6
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
99.69 53.229549 5 10792796 5385605 futex
Profile Output
==============
256 function calls in 26.189 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
39 26.186 0.671 26.186 0.671 :0(acquire)
Run Code Online (Sandbox Code Playgroud)
Linux(3.10.0-514.26.2(Red Hat 4.8.5-11))Python 2.7.5
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
99.69 94.281979 8 11620358 5646413 futex
Profile Output …
Run Code Online (Sandbox Code Playgroud) 我想知道,在Kotlin中,是否有可能调用java方法的等价物:
assertEquals(double expected, double actual, double precision)
Run Code Online (Sandbox Code Playgroud)
因为每次我都会得到这种方法
assertEquals(expected: T, actual: T, message: String)
Run Code Online (Sandbox Code Playgroud)
我找不到具有精度参数的那个.我猜,调用Java也应该没问题.
我对方法的调用:
assertEquals(5000.00, calculateCouponAmount(basicFaceValue, basicInterestRate, amortizationBullet, couponNumber1), 0.01)
Run Code Online (Sandbox Code Playgroud)
我收到错误,因为0.01进入"消息"字段
我有一个 Python WebSocket 服务器。这可以在收到消息时返回响应。
import tornado.web
import tornado.websocket
import tornado.ioloop
class WebSocketHandler(tornado.websocket.WebSocketHandler):
def open(self):
print("New client connected")
self.write_message("You are connected")
def on_message(self, message):
self.write_message(u"You said: " + message)
def on_close(self):
print("Client disconnected")
def check_origin(self, origin):
return True
application = tornado.web.Application([
(r"/", WebSocketHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
但是,这不能在收到消息之前发送消息。如何主动发送消息?例如,它测量时间,如果 10 秒没有收到消息,它会发送“你在睡觉吗?”。
我想使用 WebSocket 制作聊天机器人。我使用 tornado 和 websocket 是因为我只知道这一点,如果您知道在这方面使用更好的方法,我会很感兴趣。
我正在评估某些IAM产品,并使用Keycloak的RealmResourceProvider遇到了CORS问题。目标是编写一个能够使用Keycloak的REST接口创建用户和管理组的angular4客户端。
服务器端:
我试图用RealmResourceProvider接口实现Rest接口,以便尽可能容易地访问Realm和User Data。我遵循了Beercloak示例(github.com/dteleguin/beercloak)并使其正常运行,但是没有自定义主题(仅REST资源)。我自己的应用程序打包为Jar。我设法通过REST Client调用了这个Facade,并且它起作用了(先调用localhost:8080 / auth / realms / master / protocol / openid-connect / token,然后将令牌填充到Authorization-Header中)。
keycloak-configuration 但是,如果我通过浏览器对其进行测试,则需要启用Cross-Origin-Ressource-Sharing。为此,我在服务器应用程序的“ keycloak.json”中添加了“ enable-cors”属性:
{
"realm": "master",
"auth-server-url": "http://localhost:8080/auth",
"ssl-required": "external",
"resource": "pharmacyRessource",
"public-client": true,
"enable-cors": true
}
Run Code Online (Sandbox Code Playgroud)
另外,我在Keycloak Admin中创建了一个客户端。 客户端配置
客户端和问题:
角度客户端使用github.com/mohuk/ng2-keycloak/blob/master/src/keycloak.service.ts中的Mohuks ng2-keycloak服务获取访问令牌。- 工作正常。但是如果我对我的资源进行GET请求,则预检失败是因为缺少Access-Control-Allow-Origin标头: 错误401 用于初始化javascript中的keycloak-client的keycloak.json如下所示:
{
"realm": "master",
"auth-server-url": "http://localhost:8080/auth",
"ssl-required": "external",
"resource": "pharmacyRessource",
"public-client": true
}
Run Code Online (Sandbox Code Playgroud)
我失败的解决方案:
我的测试环境是来自hub.docker.com/r/jboss/keycloak/的官方Docker容器
我最近开始使用Hyperledger Sawtooth进行播放,并且无法在java上提交事务,而python代码似乎没问题.
我已经在这里编写了基于api文档的python代码,然后尝试在java中编写一个.下面是java中的代码
import com.google.protobuf.ByteString;
import com.mashape.unirest.http.Unirest;
import sawtooth.sdk.processor.Utils;
import sawtooth.sdk.protobuf.*;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.Signature;
import java.security.spec.ECGenParameterSpec;
public class BatchSender {
public static void main(String[] args) throws Exception{
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");
ECGenParameterSpec parameterSpec = new ECGenParameterSpec("secp256k1");
keyPairGenerator.initialize(parameterSpec);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
Signature ecdsaSign = Signature.getInstance("SHA256withECDSA");
ecdsaSign.initSign(keyPair.getPrivate());
byte[] publicKeyBytes = keyPair.getPublic().getEncoded();
String publicKeyHex = Utils.hash512(publicKeyBytes);
ByteString publicKeyByteString = ByteString.copyFrom(new String(publicKeyBytes),"UTF-8");
String payload = "{'key':1, 'value':'value comes here'}";
String payloadBytes = Utils.hash512(payload.getBytes());
ByteString payloadByteString = …
Run Code Online (Sandbox Code Playgroud) java blockchain java-security hyperledger hyperledger-sawtooth
我目前正在尝试编写一个 Elasticsearch 插件(主要用于测试目的),并且我正在努力处理 简单说明的文档:
这些示例提供了入门所需的基本知识。有关如何编写插件的更多信息,我们建议您查看本文档中列出的插件以获取灵感。
所以基本上,在找到了一些教程(除了maven部分之外彼此不同意)后,请参阅http://david.pilato.fr/blog/2016/07/27/creating-a-plugin-for-elasticsearch -5-dot-0-using-maven/和http://jfarrell.github.io(它们不继承相同的类)。
我实际上被困在从哪里开始,核心 elasticsearch 依赖项中有哪些组件可用,以及我应该如何加载我的插件。(我知道我可以通过测试和复古工程来研究它,我只是想知道是否有人对这个主题有好的建议)。
现在我的代码看起来像:
public class MyPlugin extends Plugin implements NativeScriptFactory{
//overriden methods
}
Run Code Online (Sandbox Code Playgroud)
我应该从那里去哪里?
非常感谢!
我知道这不起作用,但它只是一个例子,所以我可以理解为什么它不起作用.
public class MyClass {
final static JButton b;
public void myMethod() {
b = new JButton("Hello!");
}
}
Run Code Online (Sandbox Code Playgroud)
1)为什么final static JButton b;
线路出错?当我删除static
关键字时,为什么这个错误会消失?
2)有或没有static
关键字,行有一个错误b = new JButton("Hello!");
我想知道为什么这是?我认为在方法中实例化最终变量是可以的.