小编nik*_*kel的帖子

XML DTD中的PCDATA与CDATA

在XML DTD中 - 在定义元素时,我们使用#PCDATA来表示该元素可以包含任何可解析的文本.在定义属性时,我们使用CDATA来表示其值可以是任何字符数据.

XML中使用的CDATA是XML解析器未解析的(多字符转义序列).一致地,当我们使用CDATA定义属性时; 解析器不应该解析它.但是,确实如此!

那么,为什么不能使用PCDATA代替CDATA来定义属性?

更新 - 这一直保持与SGML向后兼容.SGML中这种命名背后的原因是什么?

xml sgml dtd cdata pcdata

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

isInstance&instanceof - 为什么没有通用方法?

我理解这两者的用法和动机 - isInstance是instanceOf.But的Runtime Equivalent,为什么我们有两种方法呢?为什么我们不能有一个适用于这两种情况的instanceof关键字的通用实现?

例如,这是目前使用的方式:

1)的instanceof

public Collection<String> extract(Collection<?> coll) {
    Collection<String> result = new ArrayList<String>();
    for (Object obj : coll) {
      if (obj instanceof String) {
        result.add((String) obj);
      }
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

2)isInstance

public <T> Collection<T> extract(Collection<?> coll, Class<T> type) {
    Collection<T> result = new ArrayList<T>();
    for (Object obj : coll) {
      if (type.isInstance(obj)) {
        result.add((T) obj);
      }
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是为什么我们不能有一个适用于上面第二个例子的instanceof运算符的通用实现如下?(即为什么它不能在运行时解析类型?)

public <T> Collection<T> extract(Collection<?> coll, Class<T> type) {
    Collection<T> result = new ArrayList<T>();
    for (Object …
Run Code Online (Sandbox Code Playgroud)

java class object rtti

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

Maven 工件:x(从 y 管理)

在此处输入图片说明

我实际上希望通过项目中的传递依赖项获得 powermock 1.5.6 版,但我只得到 1.4.11。这是什么意思?

dependencies maven-3

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

如何处理Kafka Cluster的失败

我们将实施Kafka Publish订阅系统.

现在,在最糟糕的情况下 - 如果给定主题的所有kafka经纪人都失败了 - 会发生什么?

我尝试了这个...发布者在元数据提取的默认超时后检测到它,如果不成功则抛出异常.

在这种情况下,我们可以监视异常并在修复Kafka后重新启动Publisher.

但是,消费者呢 - 一旦卡夫卡垮台,他们似乎没有任何例外.我们根本不能要求"所有"消费者重新启动他们的系统.有没有更好的方法来解决这个问题?

apache-kafka kafka-consumer-api

5
推荐指数
0
解决办法
2087
查看次数

Zookeeper会话持续到期...没有心跳吗?

我们正在使用Kafka高级消费者,并且能够成功使用消息,但是Zookeeper连接仍在过期并重新建立。

我想知道为什么没有心跳使连接保持活动:

Kafka Consumer Logs
====================
 [localhost-startStop-1-SendThread(10.41.105.23:2181)] [ClientCnxn$SendThread] [line : 1096 ]  -  Client session timed out, have not heard from server in 2666ms for sessionid 0x153175bd3860159, closing socket connection and attempting reconnect
2016-03-08 18:00:06,750 INFO  [localhost-startStop-1-SendThread(10.41.105.23:2181)] [ClientCnxn$SendThread] [line : 975 ]  -  Opening socket connection to server 10.41.105.23/10.41.105.23:2181. Will not attempt to authenticate using SASL (unknown error)
2016-03-08 18:00:06,823 INFO  [localhost-startStop-1-SendThread(10.41.105.23:2181)] [ClientCnxn$SendThread] [line : 852 ]  -  Socket connection established to 10.41.105.23/10.41.105.23:2181, initiating session
2016-03-08 18:00:06,892 INFO  [localhost-startStop-1-SendThread(10.41.105.23:2181)] [ClientCnxn$SendThread] …
Run Code Online (Sandbox Code Playgroud)

session-timeout apache-kafka kafka-consumer-api apache-zookeeper

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

在Kafka中强制使用唯一的使用者组ID

我们正在制作一个Kafka Queue,从源系统发布消息.现在,多个使用者可以连接到此队列以读取消息.

在执行此操作时,消费者必须指定基于其分发消息的groupId,如果两个应用具有相同的groupId,则它们都不会获得消息.

有没有办法可以强制执行每个应用程序.拥有一个独特的消费者群体ID?

consumer apache-kafka kafka-consumer-api

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

了解签名扩展

int main()
{
  unsigned int b;
  signed int a;
  char z=-1;
  b=z;
  a=z;
  printf("%d %d",a,b);
}
Run Code Online (Sandbox Code Playgroud)

给-1 -1.为什么没有符号扩展,也就是它何时发生?

c

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

具有Long Int的%d

以下代码是否正确?据我所知,它应该无法正常工作,但是在Dev-C ++编译器上,它可以。请有人详细解释吗?

#include<limits.h>

int main()
{
long int num_case=LONG_MAX;

scanf("%d",&num_case);

printf("%ld",num_case);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c printf scanf long-integer

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

为什么Kafka Producer无法连接到Zookeeper来获取代理元数据而不是连接到代理

卡夫卡生产者需要一个卡夫卡经纪人的引导清单才能工作。根据此说明,它需要能够连接到其中一个代理,然后获取有关集群中所有活动代理的元数据。

现在,所有代理都已经在Zookeeper中注册,并且Kafka使用者连接到ZK,该ZK处理从哪个Broker哪个分区读取数据。ZK已经掌握了所有信息后,为什么生产者也不能连接到ZK?

我看到有一些SO问题,但它们似乎可以解释为什么消费者需要ZK,而不是为什么Producer需要经纪人引导列表而不是ZK?

apache-kafka kafka-producer-api apache-zookeeper

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

不存在类型变量 U 的实例,因此 void 符合 U

我试图避免isPresent检查下面的代码,但编译器会发出错误消息

“不存在类型变量的实例,U因此void符合U

致电printAndThrowException. 这是我的代码:

values.stream()
    .filter(value -> getDetails(value).getName.equals("TestVal"))
    .findFirst()
    .map(value -> printAndThrowException(value))
    .orElseThrow(new Exception2("xyz"));
Run Code Online (Sandbox Code Playgroud)

所讨论的 printAndThrowException 方法具有以下签名:

void printAndThrowException(Pojo value)
Run Code Online (Sandbox Code Playgroud)

上面的方法总是抛出类型为 的异常RuntimeException。上述代码不是确切的代码,只是对我的代码进行了转换以代表情况。

这里有什么问题以及如何避免isPresent在调用时使用printAndThrowException

java functional-programming java-stream option-type

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