小编Chr*_*yes的帖子

解释集合的语法.<String> emptyList()

我刚学习了泛型编程,List<E>界面ArrayList,所以我可以理解下面的陈述.

ArrayList<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

但我不明白我在浏览网页时看到的下一个陈述.

List<String> list2 = Collections.<String>emptyList();
Run Code Online (Sandbox Code Playgroud)
  1. 什么是Collections?为什么不是Collections<E>还是Collections<String>
  2. 为什么<String>放在方法名称之前emptyList

(emptyList<String>()Generic 不正确吗?)

  1. 该陈述是什么意思?

java generics collections

70
推荐指数
5
解决办法
4786
查看次数

你能在一个Activity中有两个AsyncTasks吗?

我已经开发了一个Activity,它将解析JSON数据并在ListView中显示结果.我正在为此目的使用AsyncTask.

我现在想要的是,当我点击ListView中的某个项目时,该文件应该开始下载.我可以在同一个活动中编写另一个AsyncTask,以便这个AsyncTask会为我做下载工作吗?在同一个活动中有多个AsyncTasks有什么问题吗?

android android-asynctask

14
推荐指数
2
解决办法
4332
查看次数

Windows Phone 8.1设备(Lumia 930)和VS2013调试仅适用于已禁用的WiFi

当Windows Phone 8.1应用程序启动以进行部署和调试时,VS2013中存在错误:

错误1错误:DEP6100:在boostrapping阶段"连接到设备"期间发生以下意外错误:SmartDeviceException - 部署失败,因为未检测到Windows Phone.确保手机已连接并已打开电源.AppWP

错误2错误:DEP6200:Boostrapping"设备"失败.无法找到设备.部署失败,因为未检测到Windows Phone.确保手机已连接并已打开电源.AppWP

在执行了许多尝试消除此问题的方法(禁用防火墙,重新安装SDK,将Lumia 930更新到最新的Windows Phone开发人员预览版)后,我设法部署并运行带有调试的应用程序.正如主题所说,只有在电话上禁用WiFi才能进行部署和调试.

在建立VS-debugger/PowerTools连接后,在Lumia 930设备上启用WiFi后,调试会话保持连接并正常工作.但是,如果我断开Windows Phone Developer Power Tools(8.1)并尝试再次连接(启用WiFi时),它会说:

Power Tools无法与设备通信.这是错误消息:

0x80131600 - 0x80131500 - 0xC0000374

即使在重新启动VS2013之后,Visual Studio也可以在启用WiFi后部署并启动新的调试会话.

但是,重新启动Windows Phone IP over USB Transport(IpOverUsbSvc)服务后,VS2013再次无法部署和调试,直到再次禁用WiFi.

这就是它的表现.

更新:更新到Lumia Denim后,修复了错误.

debugging wifi windows-phone visual-studio-2013 windows-phone-8.1

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

了解集合并发和Collections.synchronized*

我昨天了解到,多年来我一直错误地使用具有并发性的集合.

每当我创建一个需要由多个线程访问的集合时,我将其包装在其中一个Collections.synchronized*方法中.然后,每当改变集合时,我也将它包装在一个synchronized块中(我不知道为什么我这样做,我一定以为我在某处读过它).

但是,在更仔细地阅读API之后,似乎在迭代集合时需要synchronized块.从API文档(用于Map):

当迭代任何集合视图时,用户必须手动同步返回的地图:

这是一个小例子:

List<O> list = Collections.synchronizedList(new ArrayList<O>());
...
synchronized(list) {
   for(O o: list) { ... }
}
Run Code Online (Sandbox Code Playgroud)

所以,鉴于此,我有两个问题:

  • 为什么这甚至是必要的?我能想到的唯一解释是他们使用的是默认迭代器而不是托管线程安全迭代器,但他们可以创建一个线程安全的迭代器并修复这个混乱,对吧?

  • 更重要的是,这是完成了什么?通过将迭代放在同步块中,您可以防止多个线程同时进行迭代.但是另一个线程可以在迭代时改变列表,那么synchronized块如何帮助那里呢?不会在其他地方改变列表,不管它是否同步?我错过了什么?

谢谢您的帮助!

java collections concurrency

11
推荐指数
2
解决办法
867
查看次数

覆盖Scala,重载以数组类型区分的Java方法

当创建的存根实现java.sql.Connection,DataSource,ResultSet& C.对于Scala功能测试,我遇到了几种Java方法过载的情况,每种方法只能通过数组参数的类型来区分.例如(来自java.sql.Connection):

PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
Run Code Online (Sandbox Code Playgroud)

转换为Scala,它看起来像这样:

override def prepareStatement(sql: String, columnIndexes: Array[Int]): PreparedStatement 
override def prepareStatement(sql: String, columnNames: Array[String]): PreparedStatement
Run Code Online (Sandbox Code Playgroud)

但是在Scala 2.9.2中,这不会编译,因为我们只能通过参数类型进行区分.除了在Java中实现存根之外,任何人都可以提出一个聪明的解决方案吗?

我很惊讶没有能够找到任何关于这个特定的Scala/Java互操作问题的讨论......很容易找到与varargs类似问题的讨论.当然有人之前遇到过这个问题吗?对Scala问题跟踪器中早期讨论或问题的任何指示?

scala

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

为什么console.log(document.getElementById('blah')))在Chrome中提供不同的日志消息?

我正在搞乱并且正在注销我用标准javascript选择的div,但是我已经在jQuery document.ready(fn)块中执行了.

$(document).ready(function(){
  console.log(document.getElementById( 'blah' ));
})
Run Code Online (Sandbox Code Playgroud)

我真的很想知道为什么有时候我会......

<div id="blah"></div>
Run Code Online (Sandbox Code Playgroud)

还有一次我得到......

在此输入图像描述

似乎以不同的方式随机记录.

javascript dom

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

实时控制音频音量

我目前正在将libsndfile与PortAudio V19结合使用,从文件中读取音频数据并进行播放。(请注意,我是在运行 Raspbian 的 Raspberry Pi 上执行此操作。)我遇到的问题是,我需要实时动态控制以这种方式播放的每个音频样本的播放音量。我尝试使用系统调用通过 alsamixer 来操纵全局播放音量,这在我的用例中是一个可接受的解决方案,但延迟太高,无法正常工作。

我正在寻找的是两件事之一:

  • 一个可以实时修改音频音量的库,可以通过作用于 libsndfile 检索到的原始音频数据,或者以最小延迟(亚毫秒)设置全局播放音量。该库必须是免费的并且可以在 Raspbian 上使用;许可不是问题。

  • 需要对 libsndfile 检索到的音频数据应用数学变换,以便修改数据的音量级别,最好目标音量在 [0.0f, 1.0f] 范围内,其中 0.0f 表示无声, 1.0f 是文件的原始卷。

我尝试全面查找有关此主题的有用(免费)材料,但未能找到任何有帮助的内容。非常感谢任何帮助!

c portaudio libsndfile audio-processing raspberry-pi

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

如何安装VIM插件?

我有微软Windows 7和PowerShell.

每次我向powershell添加命令(那些由创建这些插件的人编写的命令),它都说它不能识别任何东西.

无论如何,想象一下我刚刚安装了VIM,如何安装插件,例如:

https://github.com/scrooloose/nerdtree

谢谢顺便说一句!请用新手来写.我对这一切都很陌生!

vim powershell

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

如何在Go中等待命令行输入

我想显示一个“>”,然后让程序等待用户在命令行中键入内容并按Enter键(最终将其存储为字节片)。在Java中,我将执行以下操作:

Scanner scanner = new Scanner(System.in);

System.out.print("> ");
String sentence = scanner.nextLine();
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些涉及os.Args, console.ReadBytes('\n')和的事情bufio.NewReader(os.Stdin),但是我仍然没有弄清楚。任何建议将不胜感激。谢谢。

go

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

带有非嵌入式Tomcat的Spring Boot:加载器约束违规错误

尝试使用Spring Boot显示JSP时出错.这是我的配置:

  • Spring源码STS(最新版本)
  • Spring Boot 1.1.8(迄今为止的最新版本)
  • Java 1.7
  • Tomcat 8.0.14(我没有使用嵌入式tomcat,所以我手动启动了弹簧启动应用程序)

我的JSP文件是准系统:

TEST
Run Code Online (Sandbox Code Playgroud)

这是我的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.edhec</groupId>
<artifactId>stdapps</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>stdapps</name>
<description>Project stdapps</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.8.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-c3p0</artifactId>
        <version>4.3.6.Final</version>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId> …
Run Code Online (Sandbox Code Playgroud)

spring jsp spring-mvc spring-boot

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