小编Dee*_*Two的帖子

为什么CountDownLatch.getCount()返回一个long而不是一个int?

我查看了代码,一切都是int - 传递给CountDownLatch构造函数的参数是int,Sync中的变量是int,Sync.getCount()的返回类型是int.但CountDownLatch.getCount()返回一个长?想知道为什么.

java countdownlatch java.util.concurrent

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

为什么访问volatile变量比成员慢约100?

在这里,我写了一个关于local,member,volatile成员的访问速度的测试:

public class VolatileTest {

public int member = -100;

public volatile int volatileMember = -100;

public static void main(String[] args) {
    int testloop = 10;
    for (int i = 1; i <= testloop; i++) {
        System.out.println("Round:" + i);
        VolatileTest vt = new VolatileTest();
        vt.runTest();
        System.out.println();
    }
}

public void runTest() {
    int local = -100;

    int loop = 1;
    int loop2 = Integer.MAX_VALUE;
    long startTime;

    startTime = System.currentTimeMillis();
    for (int i = 0; i < loop; i++) {
        for …
Run Code Online (Sandbox Code Playgroud)

java performance volatile

7
推荐指数
2
解决办法
806
查看次数

Spark Structure Streaming失败,无法找到检查点文件

我正在测试环境中运行Spark结构化流。有时会由于找不到某个检查点文件而导致作业失败。

原因之一可能是kafka主题的保留时间很短。但是我已经添加.option("failOnDataLoss", "false")到SparkSession中。

我对火花检查点有一些基本的了解。我想如果删除检查点目录,应该将其恢复。但是正如我测试的那样,一旦发生此错误,删除目录就无济于事。我需要使用其他检查点目录进行修复。

删除检查点目录的任何原因都不起作用?还是有一种方法/选项可以帮助避免此错误?

     diagnostics: User class threw exception: org.apache.spark.sql.streaming.StreamingQueryException: Job aborted due to stage failure: Task 4 in stage 1.0 failed 4 times, most recent failure: Lost task 4.3 in stage 1.0 (TID 14, master-testspark.runspark.com, executor 2): java.lang.IllegalStateException: Error reading delta file consumer-cp3/state/0/4/1.delta of HDFSStateStoreProvider[id = (op=0, part=4), dir = consumer-cp3/state/0/4]: consumer-cp3/state/0/4/1.delta does not exist
    at org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider.org$apache$spark$sql$execution$streaming$state$HDFSBackedStateStoreProvider$$updateFromDeltaFile(HDFSBackedStateStoreProvider.scala:410)
    at org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider$$anonfun$org$apache$spark$sql$execution$streaming$state$HDFSBackedStateStoreProvider$$loadMap$1$$anonfun$6.apply(HDFSBackedStateStoreProvider.scala:362)
    at org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider$$anonfun$org$apache$spark$sql$execution$streaming$state$HDFSBackedStateStoreProvider$$loadMap$1$$anonfun$6.apply(HDFSBackedStateStoreProvider.scala:359)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider$$anonfun$org$apache$spark$sql$execution$streaming$state$HDFSBackedStateStoreProvider$$loadMap$1.apply(HDFSBackedStateStoreProvider.scala:359)
    at org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider$$anonfun$org$apache$spark$sql$execution$streaming$state$HDFSBackedStateStoreProvider$$loadMap$1.apply(HDFSBackedStateStoreProvider.scala:358)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider.org$apache$spark$sql$execution$streaming$state$HDFSBackedStateStoreProvider$$loadMap(HDFSBackedStateStoreProvider.scala:358)
    at org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider.getStore(HDFSBackedStateStoreProvider.scala:265)
    at org.apache.spark.sql.execution.streaming.state.StateStore$.get(StateStore.scala:200)
    at …
Run Code Online (Sandbox Code Playgroud)

apache-spark spark-structured-streaming spark-checkpoint

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

Intellj编辑器使用\ r \n作为换行符.如何使用\n设置它?

我找不到这个设置.源代码很好.但对于某些shell,\ r \n将无效.

intellij-idea

6
推荐指数
2
解决办法
4506
查看次数

如果在SAX中设置setNamespaceAware(true),如何获取"xmlns:XXX"属性?

这是我的代码:

path = wsdlPath;
SAXParserFactory saxfac = SAXParserFactory.newInstance();
saxfac.setNamespaceAware(true);
saxfac.setXIncludeAware(true);
saxfac.setValidating(false);
SAXParser saxParser = saxfac.newSAXParser();
saxParser.parse(wsdlPath, this);
Run Code Online (Sandbox Code Playgroud)

设置后setNamespaceAware=true,我无法获取方法xmlns:XXX参数attributes中的属性public void startElement(String uri, String localName, String qName, Attributes attributes).

对于以下节点:

<definitions name="Service1"
    targetNamespace="http://www.test.com/service"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
    xmlns:tns="http://www.test.com/">
Run Code Online (Sandbox Code Playgroud)

我得到nametargetNamespace归因于.xmlns,xmlns:wsdl,xmlns:mime,xmlns:http并且xmlns:tns是在attributes参数.但他们无法访问.

有没有办法使用setNamespaceAware=true并获取节点的所有属性?

java xml namespaces saxparser

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

如何在Java NIO中刷新SocketChannel?

在Java IO中,OutputStream可以使用flush()方法确保一次发送数据.

Java NIO中是否有相应的功能SocketChannel?据我所知,有一种刷新数据的force()方法FileChannel.

可能是一个非常天真的问题......

java nio

5
推荐指数
2
解决办法
8031
查看次数

是否可以在运行时使用Java代码修改JVM args?

可能重复:
从JVM内部修改JVM args

我在JVM中发现了一个关于这个修改JVM args的旧问题.它在3.5年前被问到.想知道现在是否可能?

java jvm-arguments

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

在Java Heap之外分配的巨大内存

我有一个作为服务器运行的java程序.Java版本是Java6u35.操作系统是CentOS 6.

堆配置是-Xmx3g -Xms3g.经过几天的运行,它分配了超过8G的内存并实际使用了超过6G的内存.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                        
26955 deploy    15   0 8347m 6.0g  10m S 30.9 25.5   3730:12 java 
Run Code Online (Sandbox Code Playgroud)

额外的内存肯定是堆内存.使用pmap,我得到了以下内容.单位是k.整个输出超出了stackoverflow问题体限制的限制,所以我删除了一些小的.从大小1016k开始.(有超过300行有类似的内容address 1,016 rwx-- [anon]):

addres             size(kB) 
0000000063ba3000    1,016   rwx--   [anon]   (over 300 similar lines omitted)
00002aaaaaac3000    1,020   -----   /usr/java/jdk1.6.0_35/jre/lib/amd64/libverify.so
00002aaaaabee000    1,020   -----   /usr/java/jdk1.6.0_35/jre/lib/amd64/libjava.so
00002aaaaad2c000    1,020   -----   /usr/java/jdk1.6.0_35/jre/lib/amd64/libjdwp.so
00002aaaaae38000    1,020   -----   /usr/java/jdk1.6.0_35/jre/lib/amd64/libnpt.so
00002aaab76b1000    1,020   -----   /usr/java/jdk1.6.0_35/jre/lib/amd64/libdt_socket.so
00002aaab77b8000    1,020   -----   /usr/java/jdk1.6.0_35/jre/lib/amd64/libmanagement.so
00002aaab842b000    1,020   -----   /usr/java/jdk1.6.0_35/jre/lib/amd64/libnio.so
00002aaab8748000    1,020   ----- …
Run Code Online (Sandbox Code Playgroud)

java heap memory-leaks memory-management heap-memory

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

在Eclipse Plug-in中,如何使用系统broswer启动Web URL?

我正在开发一个eclipse插件开发.它需要启动系统broswer并打开一个链接.在Swing/SWT中,我可以这样做:

java.net.URI uri = new java.net.URI("http://www.google.com");
java.awt.Desktop.getDesktop().browse(uri);
Run Code Online (Sandbox Code Playgroud)

实际上,此代码也适用于Eclipse插件.但我想知道eclipse是否有自己的方法来做到这一点?在eclipse中使用AWT似乎有些奇怪......

java browser eclipse

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

如何使用git命令检测分支是否存在?

如何使用git命令检测分支是否存在?

在某些 shell 脚本中需要这个

git branch

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

Aerospike有类似于HBase的协处理器吗?

HBase的协处理器是"移动计算而非数据"的一个很好的例子.不确定Aerospike是否支持类似的东西?

aerospike

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

为什么 ps aux 显示的 cpu 使用率与 top 有很大不同

Linux服务器是这样的: Linux hostname 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

并且ps aux显示的 CPU 使用率不正确,并且该值不合理。该值不会像 那样频繁更新top

例如,对于同一进程,ps 显示 cpu 使用率为 210.0,而 keep 显示多次执行中的该值。但在另一个终端中,顶部显示杯子使用量在 1xx 到 2xx 之间不断变化。顶部的价值是合理的。知道为什么 ps aux 效果不好吗?

linux cpu-usage ps

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