小编Ash*_*iya的帖子

在流上使用Collections.toMap()时,如何保持List的迭代顺序?

我创建一个MapList如下:

List<String> strings = Arrays.asList("a", "bb", "ccc");

Map<String, Integer> map = strings.stream()
    .collect(Collectors.toMap(Function.identity(), String::length));
Run Code Online (Sandbox Code Playgroud)

我希望保持与之相同的迭代顺序List.如何创建LinkedHashMap使用Collectors.toMap()方法?

java collections java-8 java-stream

70
推荐指数
2
解决办法
4万
查看次数

用JAVA_OPTS env变量运行java

在shell脚本中,我设置了JAVA_OPTS环境变量(以启用远程调试并增加内存),然后执行jar文件,如下所示:

export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
java -jar analyse.jar $*
Run Code Online (Sandbox Code Playgroud)

但似乎没有JAVA_OPTS env变量的影响,因为我无法连接到远程调试,我看到JVM的内存没有变化.

可能是什么问题呢?

PS:我无法在java -jar analyse.jar $*命令中使用这些设置,因为我在应用程序中处理命令行参数.

java shell remote-debugging jvm-arguments

49
推荐指数
2
解决办法
9万
查看次数

从QFile获取文件名?

例如:

QFile f("/home/umanga/Desktop/image.jpg");
Run Code Online (Sandbox Code Playgroud)

我怎么只得到文件名 - "image.jpg"?

qt qt4

47
推荐指数
3
解决办法
6万
查看次数

Java8 Stream:满足条件后收集元素

我的POJO如下

class EventUser {
  private id;
  private userId;
  private eventId;
}
Run Code Online (Sandbox Code Playgroud)

我按如下方式检索EventUser对象:

List<EventUser> eventUsers = eventUserRepository.findByUserId(userId);
Run Code Online (Sandbox Code Playgroud)

说'eventUsers'如下:

[
{"id":"id200","userId":"001","eventId":"1010"},
{"id":"id101","userId":"001","eventId":"4212"},
{"id":"id402","userId":"001","eventId":"1221"},
{"id":"id301","userId":"001","eventId":"2423"},
{"id":"id701","userId":"001","eventId":"5423"},
{"id":"id601","userId":"001","eventId":"7423"}
]
Run Code Online (Sandbox Code Playgroud)

使用流式传输,而不使用任何中间变量,如何在给定的EventUser.id之后过滤和收集事件:ex:

List<EventUser> filteredByOffSet = eventUsers.stream.SOMEFILTER_AND_COLLECT("id301");
Run Code Online (Sandbox Code Playgroud)

结果应该是:

[{"id":"id301","userId":"001","eventId":"2423"},
{"id":"id701","userId":"001","eventId":"5423"},
{"id":"id601","userId":"001","eventId":"7423"}]
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

28
推荐指数
3
解决办法
3598
查看次数

在"使用调试信息发布"模式下构建Qt?

有没有办法在"Release with Debug info"模式下构建Qt?我的应用程序仅在"发布"模式下崩溃(在调试模式下工作正常),似乎问题来自Qt(可能是Qt中的错误).所以我想看看Qt的调试信息.

Qt docs有"debug","release"但不是"release with debug"模式.

[Upate]

我的应用程序适用于Mingw 32位Release/Debug和VSC++ Compiler 64bit Debug.

仅在VSC++ 64Bit Release上崩溃

有小费吗 ?

c++ qt qmake qt4

24
推荐指数
4
解决办法
2万
查看次数

Kafka:使用通用消费者组访问多个主题

我们的集群运行 Kafka 0.11,并且对使用消费者组有严格的限制。我们不能使用任意的消费者组,因此管理员必须创建所需的消费者组。

我们运行 Kafka Connect HDFS Sinks 从主题读取数据并写入 HDFS。所有主题只有一个分区。

在 Kafka HDFS Sink 中使用消费者组时,我可以考虑以下两种模式。

如图所示:

案例一:每个topic都有自己的Consumer Group 在此处输入图片说明

案例 2:所有主题都有一个共同的消费者组 在此处输入图片说明

我知道当一个主题有多个分区时,如果一个消费者失败,同一消费者组中的另一个消费者将接管该分区。

我的问题 :

当多个主题共享同一个消费群体时,是否会发生同样的事情?即:如果消费者失败(HDFS 接收器),另一个消费者(HDFS 接收器连接器)是否会接管工作并读取该主题?

更新:每个 Kafka HDFS Sink Connector 只订阅一个主题。

apache-kafka apache-kafka-connect

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

Spring RedisTemplate:将多个Model类序列化为JSON.需要使用多个RedisTemplates吗?

我正在使用Spring Redis支持在Redis中保存我的对象.

我有几个处理不同Model类的DAO:

例如:'ShopperHistoryDao'将保存/检索'ShopperHistoryModel''ShopperItemHistoryDao'的对象,它将处理'ItemHistoryModel'的对象

我想使用'JacksonJsonRedisSerializer'将对象序列化/反序列化为json.

但是在JacksonJsonRedisSerializer的构造函数中,它需要一个特定的Model类.

JacksonJsonRedisSerializer(Class<T> type)
Run Code Online (Sandbox Code Playgroud)

这是否意味着,我必须为每个不同的Model类配置单独的RedisTemplate并在适当的DAO实现中使用它们?

就像是 :

<bean id="redisTemplateForShopperHistoryModel" class="org.springframework.data.redis.core.RedisTemplate">
    <property name="connectionFactory" ref="jedisConnectionFactory" />
    <property name="valueSerializer">
        <bean id="redisJsonSerializer" 
                        class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer">
            <constructor-arg type="java.lang.Class" value="ShopperHistoryModel.class"/>
        </bean>   
    </property>
</bean>


<bean id="redisTemplateForItemHistoryModel" class="org.springframework.data.redis.core.RedisTemplate">
    <property name="connectionFactory" ref="jedisConnectionFactory" />
    <property name="valueSerializer">
        <bean id="redisJsonSerializer" 
                        class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer">
            <constructor-arg type="java.lang.Class" value="ItemHistoryModel.class"/>
        </bean>   
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

java serialization spring json redis

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

Spring + Hibernate:具有相同标识符值的不同对象已与会话关联

在我的应用程序中,它使用Spring和Hibernate,我解析一个CSV文件,并在handleRow()每次从CSV文件中读取记录时通过调用填充数据库.

我的域名模型:

'家庭'有很多'SubFamily'

'SubFamily'有很多'Locus'

'Locus'属于'Species'

Family <-> SubFamily <-> Locus 都是双向映射.

码:

public void handleRow(Family dummyFamily, SubFamily dummySubFamily, Locus dummyLocus) {
  //Service method which access DAO layers
  CommonService serv = ctx.getCommonService();

  boolean newFamily=false;
  Family family=serv.getFamilyByFamilyId(dummyFamily.getFamilyId());
  if(family==null){
    newFamily=true;
    family=new Family();
    family.setFamilyId(dummyFamily.getFamilyId());
    family.setFamilyIPRId(dummyFamily.getFamilyIPRId());
    family.setFamilyName(dummyFamily.getFamilyName());
    family.setFamilyPattern(dummyFamily.getFamilyPattern());
    family.setRifID(dummyFamily.getRifID());
  }

  SubFamily subFamily = family.getSubFamilyBySubFamilyId( dummySubFamily.getSubFamilyId() );
  if(subFamily==null){   
    subFamily=new SubFamily();
    subFamily.setRifID(dummySubFamily.getRifID());   
    subFamily.setSubFamilyId(dummySubFamily.getSubFamilyId());
    subFamily.setSubFamilyIPRId(dummySubFamily.getSubFamilyIPRId());
    subFamily.setSubFamilyName(dummySubFamily.getSubFamilyName());
    subFamily.setSubFamilyPattern(dummySubFamily.getSubFamilyPattern());

    family.addSubFamily(subFamily);
  }

  //use the save reference, to update from GFF handler
  Locus locus = dummyLocus;

  subFamily.addLocus(locus);

  assignSpecies(serv,locus);
  //Persist object …
Run Code Online (Sandbox Code Playgroud)

java spring dao hibernate

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

如何将QT国际化与CMake整合?

问候所有,

我正在尝试使用CMake进行QT国际化.我已经配置了我的cmake文件,如下所示:

#Internalization - this should generate core_jp.ts ?
SET(rinzo_core_TRANSLATIONS
   i18n/core_jp.ts
   )

#these are my source files in the project
SET(FILES_TO_TRANSLATE
   ${rinzo_core_srcs} 
   ${rinzo_core_moh_srcs}
 )

QT4_CREATE_TRANSLATION(QM_FILES ${FILES_TO_TRANSLATE} ${rinzo_core_TRANSLATIONS})
QT4_ADD_TRANSLATION(QM ${rinzo_core_TRANSLATIONS})
Run Code Online (Sandbox Code Playgroud)

但它不会生成任何TS或QM文件.

我的问题 -

1.Cmake(通过使用QT工具)生成TS文件自动从源中提取"tr()"方法吗?(这意味着我不必创建任何TS文件,上面的i18n/core_jp.ts将自动生成)

2. QM文件有什么特别之处?

提前致谢

c++ qt qt4 cmake internationalization

19
推荐指数
2
解决办法
5510
查看次数

使用Solr和Mahout的推荐系统

我一直在阅读有关使用Solr和Mahout开发推荐系统的信息.

据我了解,他们处理两个不同的问题.

  1. 由于Solr是一个搜索引擎+分类系统,它主要用于Drupal中的"更像这样"的建议 - http://jamidwyer.com/d7/node/21.

(或StackOverflow中的"相关"功能)

  1. 在Mahout的情况下,它实现了协作过滤等机器学习算法.它可以用于根据用户以前的操作实现亚马逊中的建议等功能.(喜欢,买的物品)

我的问题,

他们习惯于解决两个不同的问题吗?

它们可以整合吗?

我读过Mahout做离线处理和可扩展.这是否意味着Solr无法扩展?

java architecture solr mahout

15
推荐指数
2
解决办法
4571
查看次数