当我尝试在win10中通过netbeans8.2调试openjdk9时,我收到以下错误:
"\"D:/jdk9/jdk9/build/windows-x86_64-normal-server-fastdebug/jdk/bin/java.exe\":
not in executable format: File format not recognized"
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我按命令构建源代码"./configure -with-freetype=/cygdrive/c/freetype -enable-debug -with-target-bits=64",然后运行make all,但我也试过slowdebug,但也失败了.
如果我"运行"项目而不是"debug",它会像下面那样成功运行,因此文件没有问题windows-x86_64-normal-server-fastdebug/jdk/bin/java.exe,似乎gdb无法识别java.exe文件.

我也打开了openjdk源代码的位置D:/jdk9/jdk/common/nb_native的netbeans,见下图:

netbeans然而,尝试构建它,它会产生以下错误:
cd 'D:\jdk9\jdk\common'
sh ../configure --with-freetype=/cygdrive/c/freetype --with-debug-level=slowdebug --with-target-bits=64
/cygdrive/d/jdk9/jdk/configure: /cygdrive/d/jdk9/jdk/common/autoconf/configure: No such file or directory
PRE-BUILD FAILED (exit value 1, total time: 743ms)
Run Code Online (Sandbox Code Playgroud)
我知道这两个路径/cygdrive/d/jdk9/jdk/configure和/cygdrive/d/jdk9/jdk/common/autoconf/configure存在.
我让会话 B 等待会话 A 持有行锁,但是我看到等待的是“wait/io/table/sql/handler”,而不是我预期的行锁,例如“wait/lock .....”,以下是复制该问题的步骤。
MySQL版本是“5.7.18-debug”;
步骤1)、启用性能模式
UPDATE performance_schema.setup_instruments
SET ENABLED = 'YES', TIMED = 'YES'
UPDATE performance_schema.setup_consumers
SET ENABLED = 'YES'
Run Code Online (Sandbox Code Playgroud)
步骤2,创建表并插入一行。
CREATE TABLE t (i INT) ENGINE = InnoDB;
INSERT INTO t (i) VALUES(1);
Run Code Online (Sandbox Code Playgroud)
步骤3,启动一个新会话A持有行锁,并且不释放它。
SELECT connection_id() ;
START TRANSACTION;
DELETE FROM t WHERE i = 1;
Run Code Online (Sandbox Code Playgroud)
步骤4,启动一个新的会话B并尝试获取行锁,但是被会话A阻止
SELECT connection_id() ;
START TRANSACTION;
SELECT * FROM t WHERE i = 1 LOCK IN SHARE MODE;
Run Code Online (Sandbox Code Playgroud)
第5步,然后查询下面的性能模式,但是从PS表中我看到表events_waits_current中会话B的“wait/io/table/sql/handler”,这意味着等待IO操作,不是吗?等待行锁?
SELECT * FROM performance_schema.events_waits_current;
SELECT * FROM performance_schema.events_stages_current;
SELECT * FROM …Run Code Online (Sandbox Code Playgroud) 我只是得到下面关于并行性的示例,并且有一些相关的问题:
setParallelism(5)将Parallelism 5设置为求和或flatMap和求和?
是否可以分别为flatMap和sum等不同的运算符设置不同的Parallelism?例如将Parallelism 5设置为sum和10设置为flatMap。
根据我的理解,keyBy正在根据不同的密钥将DataStream划分为逻辑Stream \分区,并假设有10,000个不同的键值,因此有10,000个不同的分区,那么有多少个线程可以处理10,000个分区?只有5个线程?如果不设置setParallelism(5)怎么办?
https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/parallel.html
final StreamExecutionEnvironment env =
StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<String> text = [...]
DataStream<Tuple2<String, Integer>> wordCounts = text
.flatMap(new LineSplitter())
.keyBy(0)
.timeWindow(Time.seconds(5))
.sum(1).setParallelism(5);
wordCounts.print();
env.execute("Word Count Example");
Run Code Online (Sandbox Code Playgroud) http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_method
基于上面的一篇文章,如果我们选择O_DIRECT选项,它会描述
O_DIRECT:InnoDB使用O_DIRECT(或Solaris上的directio())打开数据文件,并使用fsync()刷新数据和日志文件.
由于O_DIRECT意味着没有\最小化数据将被缓存在内核页面缓存中,但是fsync()用于将数据从页面缓存刷新到设备,所以我的问题是为什么MYSQL仍然使用fsync()来刷新数据时选项是O_DIRECT?
我想调试热点源代码,例如在本机代码中设置一些断点,以便学习它.所以我成功地用Eclipse构建了openjdk 9源代码,下面是构建设置和构建的输出.
然后我尝试配置"调试配置",但是我不知道如何设置c/c ++应用程序,有人建议将它用于JDK 7的"openjdk/hotspot/build/Linux/linux_amd64_compiler2/jvmg",但我不能在jdk 9的内置输出文件夹中找到它,我尝试将其设置为"〜/ jdk9/build/linux-x86_64-normal-server-fastdebug/jdk/java"然后单击"debug"按钮进行调试,不过它信息失败"没有可用于主要的源代码".所以我的问题是1,)如何设置让我成功调试jdk源代码?2,)如果还有其他地方我需要设置?

在我们的环境中我们使用多线程通过hbase Java Client调用hbase,并且在每个线程中我们在完成操作后调用Connection.close(),但是我们发现Connection.close()花费了大约10毫秒,所以可能我知道是否可以在不关闭连接的情况下重用线程之间的连接?
我们知道调用约定"前六个整数或指针参数在寄存器RDI,RSI,RDX,RCX(Linux内核接口中的R10:124),R8和R9"中传递给c/c ++代码Linux平台基于以下文章. https://en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions
然而,Linux平台中Java代码的调用约定是什么(假设JVM是热点)?以下是示例,什么寄存器存储这四个参数?
protected void caller( ) {
callee(1,"123", 123,1)
}
protected void callee(int a,String b, Integer c,Object d) {
}
Run Code Online (Sandbox Code Playgroud) Flink 官方文档提供了Standalone 和 Yarn Flink 集群的jobmanager 高可用解决方案。但是使用 Kubernetes Flink 集群应该怎么做才能实现高可用性呢?
从文档的Kubernetes 设置部分来看,我们似乎在部署到 Kubernetes 集群时只部署了一个 Jobmanager。那么Kubernetes Flink集群如何实现HA呢?
有没有好的方法可以像 List 的 api LPOP 一样支持 Redis 排序集中的 pop 成员?
我发现从 Redis 排序集中弹出消息是使用 ZRANGE +ZREM ,但是它不是线程安全性,并且当多个线程从不同主机同时访问它们时需要分布式锁。
请建议是否有更好的方法从排序集中弹出成员?
我想让 Windows 在滚动处理时间达到 100 或每 5 秒后完成?也就是说当元素达到100时,触发Windows计算,但如果元素没有达到100,但时间过去了5秒,也会触发Windows计算,就像下面两个触发器的组合:
.countWindow(100)
.window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
apache-flink ×3
java ×3
jvm ×3
mysql ×2
gdb ×1
hbase ×1
jvm-hotspot ×1
kubernetes ×1
openjdk ×1
redis ×1