小编Shi*_*ari的帖子

在Java中保存大量数据的最佳实践

我正在用Java编写一个小系统,我从文本文件中提取n-gram特征,然后需要执行特征选择过程以选择最多的鉴别器特征.

单个文件的特征提取过程返回一个映射,该映射包含每个唯一特征,它在文件中的出现.我将所有文件的地图(地图)合并到一个地图中,其中包含从所有文件中提取的所有独特功能的文档频率(DF).统一地图可包含10,000,000个以上的条目.

目前,特征提取过程运行良好,我想执行特征选择,其中我需要实现信息增益或增益比.我将首先对Map进行排序,执行计算并保存结果,以便最终得到一个列表(对于每个特征,其特征选择分数)

我的问题是:保存大量数据(~10M)并执行计算的最佳实践和最佳数据结构是什么?

java computation feature-extraction feature-selection data-structures

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

使用Maven运行常规测试

我有一个文件夹结构如下

ProjectName 
  - src
       - test 
             - groovy
             - java      
Run Code Online (Sandbox Code Playgroud)

当我运行命令mvn clean install。它仅运行Java单元测试(位于* src \ test \ java *目录下),而没有调用Groovy测试用例。似乎Groovy不再找到Groovy测试。

请帮助我启用常规测试案例在Maven的帮助下执行吗?

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ApacheActiveMQSpike</groupId>
  <artifactId>ApacheActiveMQSpike</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>ApacheActiveMQSpike</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>

  <dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-all</artifactId>
    <version>5.8.0</version>
  </dependency>

  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.34</version>
</dependency>

<dependency>
  <groupId>org.codehaus.groovy</groupId>
  <artifactId>groovy-all</artifactId>
  <version>1.6-beta-2</version>
  <scope>test</scope>
</dependency>
</dependencies>

</project>
Run Code Online (Sandbox Code Playgroud)

java groovy maven

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

在SQLServer中重命名表名

我在SQLServer 2008中有一个数据库说测试,里面有几乎超过100个表.我要求我必须为这些表添加前缀.

例如,表employee应该重命名为companyName_employee.companyName_是我想要应用的前缀.department应该将表重命名为companyName_department

目前我可以通过运行以下查询逐个重命名表:

sp_rename employee, companyName_employee
Run Code Online (Sandbox Code Playgroud)

sp_rename 一次只能重命名一个表.

我是SQLServer的新手,所以请建议是否有办法在一个查询中重命名多个表

sql database sql-server-2008-r2

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

将数字字符串转换为整数列表

我正在对 java 8 流功能进行一些练习,因此想到将知识应用于将数字字符串转换为整数列表的问题

一个典型的测试看起来像

 @Test
    public void testGetListofIntegersFromString(){
        List<Integer> result = getIntegers("123456780");
        assertEquals(Arrays.asList(1,2,3,4,5,6,7,8,0),result);
    }
Run Code Online (Sandbox Code Playgroud)

我写了下面的方法

List<Integer> getIntegers(String value) {
       return IntStream.rangeClosed(0, value.length() - 1).map(i -> Integer.valueOf(value.substring(i,i+1))).collect(?????);
    }
Run Code Online (Sandbox Code Playgroud)

我被困在使用哪个函数来获取我尝试过的整数列表collect(Collectors.toList())它给出了编译错误。

请建议我们是否可以按照不同的方法来解决这个问题。

java java-8 java-stream

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