小编war*_*pww的帖子

Android Studio 2.1.3 - DefaultSourceDirectorySet问题

今天早上从2.1.2 - > 2.1.3更新了Android Studio并收到以下gradle同步错误:

错误:无法找到方法'org.gradle.api.internal.file.DefaultSourceDirectorySet.(Ljava/lang/String; Ljava/lang/String; Lorg/gradle/api/internal/file/FileResolver;)V'.

我很确定它与以下库项目有关:

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.7.0'
    }
}

apply plugin: 'com.android.library'
apply plugin: 'com.google.protobuf'

android {
    compileSdkVersion 23
    buildToolsVersion "22.0.1"
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        debug {
            minifyEnabled false
        }
    }
    sourceSets {
        main {
            proto {
                srcDir 'src/main/protos'
            }
            java {
                srcDir 'src/main/java'
            }
            manifest {
                srcFile 'src/main/AndroidManifest.xml'
            }
        }
    }
}


repositories {
    mavenCentral() …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio

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

为什么我的Google API无法正确安装到Android Studio AVD?红色图标

AVD不会在虚拟设备上运行许多API级别.但我在SDK Manager中安装了API.它们也显示为已安装但在Extras-Folder中,它们有这个红色图标,您可以在屏幕截图中看到它

在屏幕截图中

我错过了什么?

google-api android-virtual-device android-studio

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

Zookeeper不断收到警告:“流结束异常捕获”

我现在使用的CDH-5.3.1集群中的三个Zookeeper实例位于三个ip中:

133.0.127.40 n1
133.0.127.42 n2
133.0.127.44 n3
Run Code Online (Sandbox Code Playgroud)

启动时一切正常,但是这些天我注意到节点n2不断收到警告:

caught end of stream exception

EndOfStreamException: Unable to read additional data from client sessionid **0x0**, likely client has closed socket
    at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:220)
    at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
    at java.lang.Thread.run(Thread.java:722)
Run Code Online (Sandbox Code Playgroud)

它每秒发生一次,并且仅在n2上发生,而n1和n3可以。我仍然可以使用HBase Shell扫描表,并使用Solr WEB UI进行查询。但是我无法启动Flume代理,此过程全部停止在这一步:

Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog

jetty-6.1.26.cloudera.4

Started SelectChannelConnector@0.0.0.0:41414.
Run Code Online (Sandbox Code Playgroud)

几分钟后,我从Cloudera Manager收到警告,Flume代理超出了文件描述符的阈值。

有人知道出什么事了吗?提前致谢。

flume apache-zookeeper

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

com.fasterxml.jackson.core.JsonParseException:读取 json 文件时出现意外字符(代码 160)

我正在从文件中读取以下 json 内容并转换为地图,但出现以下异常。请让我知道是否有人遇到过这样的问题。我验证了我的 json 内容并且看起来有效。不知道为什么这个错误。

JSON 内容:

{
    "Results":[{         
        "TotalPositiveFeedbackCount": 0      
    },{
        "TotalPositiveFeedbackCount": 1      
    }   ]
}
Run Code Online (Sandbox Code Playgroud)

代码:

Map<String, Object> domainMap = new HashMap<String, Object>();
try {
    responseJson = getFile("reviewresponse.json");
    //responseJson = new String(Files.readAllBytes(Paths.get("reviewresponse.json")), StandardCharsets.UTF_8);
    ObjectMapper jsonObjectMapper = new ObjectMapper();
    jsonObjectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
    domainMap = jsonObjectMapper.readValue(responseJson,
                   new TypeReference<Map<String, Object>>() {});
} 
Run Code Online (Sandbox Code Playgroud)

异常详情:

com.fasterxml.jackson.core.JsonParseException: Unexpected character (' ' (code 160)): was expecting either valid name character (for unquoted name) or double-quote (for quoted) to start field name
 at [Source: {
    "Results":[{         
        "TotalPositiveFeedbackCount": …
Run Code Online (Sandbox Code Playgroud)

java json jakarta-ee

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

JVectorMap设置比例小于1

我正在创建一个需要全尺寸地图的网页,为此我正在使用JVectorMap。地图的宽度和高度为100%。但是,这会使地图在完全缩小时一直延伸到页面的边缘,这是不希望的。理想情况下,完全缩小时地图周围会有边框,但是放大时地图仍会延伸到页面边缘。从本质上讲,我想先将地图缩小得比似乎允许的还要小。

在这种情况下,无法使用HTML边框和填充,因为它们确实在页面加载时产生了预期的效果,但是在放大地图时边框仍然存在。我唯一的想法是尝试将'scale'变量设置为以下代码的末尾为小于零的值:

<script>
    $(function(){
        $('#map').vectorMap({
            map: 'world_mill',
            focusOn: {
                x: 0.5,
                y: 0.5,
                scale: 0.8
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这没有影响,因为似乎小于1的“比例”的任何值。我提供了以下屏幕截图来说明问题。

当前页面(地图延伸到边缘) 当前页面(地图延伸到边缘)

理想页面(地图带有边框 理想页面(地图带有边框)

任何帮助将非常感激!

html javascript css jquery jvectormap

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

何时使用volatile与寄存器/局部变量

使用volatile限定符在CUDA中声明寄存器数组的含义是什么?

当我尝试使用带有寄存器数组的volatile关键字时,它将溢出的寄存器内存数量删除到本地内存.(即强制CUDA使用寄存器而不是本地存储器)这是预期的行为吗?

在CUDA文档中,我没有找到关于寄存器数组的volatile用法的任何信息.

这是两个版本的ptxas -v输出

使用volatile限定符

    __volatile__ float array[32];
Run Code Online (Sandbox Code Playgroud)

ptxas -v输出

ptxas info    : Compiling entry function '_Z2swPcS_PfiiiiS0_' for 'sm_20'
ptxas info    : Function properties for _Z2swPcS_PfiiiiS0_
88 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 47 registers, 16640 bytes smem, 80 bytes cmem[0], 8 bytes cmem[16]
Run Code Online (Sandbox Code Playgroud)

没有volatile限定符

    float array[32];
Run Code Online (Sandbox Code Playgroud)

ptxas -v输出

ptxas info    : Compiling entry function '_Z2swPcS_PfiiiiS0_' for 'sm_20'
ptxas info    : Function properties for _Z2swPcS_PfiiiiS0_
96 bytes stack frame, 100 …
Run Code Online (Sandbox Code Playgroud)

cuda gpu gpgpu volatile nvcc

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

OpenMP比1个线程慢于顺序版本

我使用OpenMP(gcc版本4.6.3)实现了背包

#define MAX(x,y)   ((x)>(y) ? (x) : (y))
#define table(i,j)    table[(i)*(C+1)+(j)]

   for(i=1; i<=N; ++i) {
#pragma omp parallel for
      for(j=1; j<=C; ++j) {
         if(weights[i]>j) {
            table(i,j) = table(i-1,j);
         }else {
            table(i,j) = MAX(profits[i]+table(i-1,j-weights[i]), table(i-1,j));
         }
      }
   }
Run Code Online (Sandbox Code Playgroud)

顺序程序的执行时间= 1s

openmp的执行时间为1个线程= 1.7s(开销= 40%)

在两种情况下使用相同的编译器优化标志(-O3).

有人可以解释这种行为背后的原因.

谢谢.

c performance openmp

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

PADDD指令的操作数

我在C中使用向量内部操作编写了一个简单的向量添加程序.这里我加载2个向量并添加它们,最后将结果向量存储回全局内存.

当我检查汇编代码时,它具有以下顺序的指令

movdqa  0(%rbp,%rax), %xmm7    
paddd (%r12,%rax), %xmm7
movdqa  %xmm7, (%rbx,%rax)
Run Code Online (Sandbox Code Playgroud)

如您所见,它只将paddd指令的一个操作数移动到寄存器(xmm7).在paddd指令中,第一个操作数指的是全局存储器中的地址,而不是先将寄存器移到寄存器中.

这是否意味着当paddd执行时,它首先从全局内存中移动到寄存器,然后添加两个寄存器中的操作数?这相当于以下代码序列

movdqa  0(%rbp,%rax), %xmm7
movdqa  0(%r12,%rax), %xmm8    
paddd %xmm8, %xmm7
movdqa  %xmm7, (%rbx,%rax)
Run Code Online (Sandbox Code Playgroud)

如果您需要更多信息(如可编译程序),请告诉我们,以便您自己生成程序集.

c assembly sse vectorization

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