我生成UUID,并在我的代码中对正则表达式进行有效; 我刚遇到困扰我的问题
以下是生成UUID的代码(在mongodb上下文中)
import java.util.UUID;
... ...
Document setOnInsert = new Document(Params.sender, UUID.randomUUID())
.append(Params.userDevice, userDevice)
.append(Params.hostId,"");
Run Code Online (Sandbox Code Playgroud)
这是验证UUID的代码; 我从这篇文章中复制了正则表达式
static final Pattern UUID = Pattern.compile("([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})");
public static boolean isUUID(String uuid){
if(uuid == null){
return false;
}else{
return UUID.matcher(uuid).matches();
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我遇到问题的2个UUID
aa4aaa2c-c6ca-d5f5-b8b2-0b5c78ee2cb7
b24dd64c-de6b-5bf6-6283-aa2167cc93a7
Run Code Online (Sandbox Code Playgroud)
这两个UUID是由上述代码生成的; 验证方法(isUUID())在我的最新调试中判断它们无效; 但我将这些UUID发布到在线验证器上,它说好了
这是我的系统信息
wjz@bj:~$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
wjz@bj:~$
wjz@bj:~$ lsb_release -a
No LSB modules are available. …Run Code Online (Sandbox Code Playgroud) 我正在开发基于 Ionic + Angular + Cordova + Node js 的移动应用程序。
应用程序通过 window.XMLHttpRequest 访问 https 服务器:
module.exports = function request (method, url, body, headers) {
return new Promise(function (resolve, reject) {
var xhr = new window.XMLHttpRequest()
xhr.open(method, url)
xhr.onload = function () {
return resolve({
status: xhr.status,
body: xhr.responseText
})
}
xhr.onerror = xhr.onabort = function () {
return reject(new Error(xhr.statusText || 'XHR aborted: ' + url))
}
Object.keys(headers).forEach(function (header) {
xhr.setRequestHeader(header, headers[header])
})
xhr.send(body)
})
}
Run Code Online (Sandbox Code Playgroud)
要执行此功能,需要将适当的根 CA 插入到节点环境中。因为我不控制发出 https …
我在一些文章(Tomas Mikolov...)中了解到,形成句子向量的更好方法是连接词向量。
但由于我的数学笨拙,我仍然不确定细节。
例如,
假设词向量的维数为m;并且一个句子有 n 个单词。
连接操作的正确结果是什么?
它是 1 xm*n 的行向量吗?或 mxn 矩阵?
请指教
谢谢
我需要通过Internet发送和接收大字节数组(http restful service).
我能想到的最简单的方法是将字节数组转换为字符串.
我搜索了一下,发现这个帖子Java Byte Array to String to Byte Array
我有以下代码来验证转换的准确性.
System.out.println("message");
System.out.println (message);
String message = "Die Strahlengriffelgewächse stammen...";
byte[] pack = Fbs.packExce(message);
System.out.println ("pack");
System.out.println (pack);
System.out.println ("packlenght:" + pack.length);
String toString = new String(pack);
System.out.println ("toString");
System.out.println (toString);
byte[] toBytes = toString.getBytes();
System.out.println ("toBytes");
System.out.println (toBytes);
System.out.println ("toByteslength:" +toBytes.length);
Run Code Online (Sandbox Code Playgroud)
"Fbs.packExce()"是一种获取大块字符串并生成大字节数组的方法.
我改变了消息的长度,检查并打印出字节数组的长度,然后转换为字符串并转换回来.
我得到了以下结果:
...
pack
[B@5680a178
packlenght:748
...
toBytes
[B@5fdef03a
toByteslength:750
----------------------
...
pack
[B@5680a178
packlenght:1016
...
toBytes
[B@5fdef03a
toByteslength:1018
Run Code Online (Sandbox Code Playgroud)
我省略了"消息",因为它太长了.
10次中的8次,我可以看到派生的字节数组(新的,称"toBytes")比原始字节数组("pack")长2个字节
我说过10个中的8个,因为在派生和原始之间的长度相同的情况下也会出现,见下文 …
我正在开发和测试基于Spring Boot的Java应用程序。
我在“ config”文件夹中存储了外部配置文件“ application.yml”,该文件夹与部署服务器中相应的jar文件(“ nlp-0.0.1-SNAPSHOT.jar”)并排放置(按照“ 24.3应用程序属性文件 “)
这是我的“ application.yml”文件
---
params:
trustStorePath: config/client-truststore.jks
trustStorePassword: wso2carbon
keyStorePath: config/wso2carbon.jks
keyStorePassword: wso2carbon
defaultType: JKS
---
server:
port: 9763
---
Run Code Online (Sandbox Code Playgroud)
只要我手动启动该应用程序,它就可以完美运行:
java -jar nlp-0.0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过systemd命令启动应用程序时:
sudo systemctl start nlp.service
Run Code Online (Sandbox Code Playgroud)
应用程序启动,但是未加载位于“ config”文件夹中的配置文件“ application.yml”
这是我的“ nlp.service”文件
[Unit]
Description=NLP Service
[Service]
User=wjz
ExecStart=/usr/bin/java -jar /home/wjz/nlp-0.0.1-SNAPSHOT.jar
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
那么,有什么问题呢?我错过了什么吗?