小编Ged*_*bel的帖子

在循环之前或循环中声明变量之间的区别?

我一直想知道,一般来说,在循环之前声明一个抛弃变量,而不是在循环内部重复,是否会产生任何(性能)​​差异?Java中的一个(毫无意义的)示例:

a)循环前的声明:

double intermediateResult;
for(int i=0; i < 1000; i++){
    intermediateResult = i;
    System.out.println(intermediateResult);
}
Run Code Online (Sandbox Code Playgroud)

b)声明(重复)内循环:

for(int i=0; i < 1000; i++){
    double intermediateResult = i;
    System.out.println(intermediateResult);
}
Run Code Online (Sandbox Code Playgroud)

哪一个更好,一个还是b

我怀疑重复变量声明(例子b)在理论上会产生更多的开销,但是编译器足够聪明,所以它并不重要.实施例b具有更紧凑的优点,并且将变量的范围限制在其使用的位置.尽管如此,我倾向于根据示例来编码一个.

编辑:我对Java案件特别感兴趣.

java variables performance loops initialization

307
推荐指数
14
解决办法
13万
查看次数

IntelliJ IDEA 13中没有Gradle工具窗口?

我再也找不到IntelliJ IDEA 13中的Gradle工具窗口了.它被删除了吗?

此外,我无法在Gradle构建文件中运行任何Gradle任务(通过上下文菜单 - > Run).错误消息:Module XY is not backed by gradle发生.所有这些在IntelliJ IDEA 12中完美运行.

这里出了什么问题?

intellij-idea gradle

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

需要简单解释"锁定条带化"如何与ConcurrentHashMap一起使用

根据Java Concurrency in Practice,第11.4.3章说:

锁分裂有时可以扩展到一组变量独立对象的分区锁定,在这种情况下,它被称为锁定条带.例如,ConcurrentHashMap的实现使用一个包含16个锁的数组,每个锁保护1/16的散列桶; 铲斗N由锁定N mod 16保护.

我仍然有理解和可视化锁条纹和铲斗机制的问题.有人可以用很好理解的话来解释这个:)

提前致谢.

java concurrency concurrenthashmap java.util.concurrent

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

Arrays.asList与Arrays.stream一起使用forEach()

如果您有一个Array并且想要使用Java8 forEach()方法,那么哪种方法更好或更有效:

Arrays.asList(new String[]{"hallo","hi"}).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

要么

Arrays.stream(new String[]{"hallo","hi"}).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

差异是显着的还是有更好的解决方案来解决这个问题?

java lambda java-8 java-stream

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

Lambda Expressions对多核系统有哪些优势?

Lambda Expressions 的Java教程如下:

本节讨论Project Lambda中包含的功能,旨在通过向Java语言添加闭包和相关功能来支持多核环境中的编程.

我的问题是,根据多核系统和并发/并行编程,Lambda Expressions有哪些具体优势?

java lambda java.util.concurrent java-8

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

AtomicReference <Integer>与AtomicInteger之间的区别是什么?

我不明白这两者之间的区别:

AtomicReference<Integer> atomicReference = new AtomicReference<>(1);
Run Code Online (Sandbox Code Playgroud)

AtomicInteger atomicInteger = new AtomicInteger(1);
Run Code Online (Sandbox Code Playgroud)

有人一般可以说何时使用AtomicReference?希望可以有人帮帮我.谢谢.

java concurrency java.util.concurrent atomicreference

7
推荐指数
3
解决办法
2380
查看次数

为什么我的ProgressDialog会在任何键(触摸)而不是后退按钮上进行侦听?

我有一个像这样实现的ProgressDialog:

// show progress dialog while date is loading
        progressDialog = ProgressDialog.show(XYActivity.this, getResources().getString(R.string.progress_dialog_please_wait), getResources().getString(R.string.progress_dialog_loading), true);
        progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialog) {
                cancel(true);
                Log.w(LOGTAG, "loading cancelled via back button");
            }

        });
        progressDialog.setCancelable(true);
Run Code Online (Sandbox Code Playgroud)

此ProgressDialog在AsyncTask(PreExecute)中实现,因此cancel(true)方法停止AsyncTask.一切正常.

问题是,我可以取消的ProgressDialog 与任何随机触摸我的屏幕上.我只想通过按下后退按钮来解除对话框.请帮我!感谢你们.

android dialog progress back-button

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

如何替换 LinkedHashSet 中的特定元素?

使用 ArrayList 我会做类似的事情

myList.set(myList.indexOf(oldItemNumber), newItemNumber);
Run Code Online (Sandbox Code Playgroud)

LinkedHashSet 有没有一种简单的方法可以实现这一点?

java linkedhashset

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

为什么Base64在基本认证中

为什么在Authorization标头中使用Base64编码生成的"username:password"字符串文字?它的背景是什么?

header http basic-authentication

5
推荐指数
2
解决办法
4528
查看次数

使用Liquibase使用不同的DBMS进行数据库迁移

我们的客户正在使用Oracle,我们希望使用MySQL进行开发.因此我们的MySQL Scheme必须与Oracle同步.我尝试使用Liquibase,但是在应用更改集时遇到问题,因为db特定的sql和不同的列类型,如NUMBER < - > BIGINT或VARCHAR < - > VARCHAR2

我使用这些工具错了吗?如何解决这类问题?

database database-migration liquibase

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

无法找到Google API的maven依赖关系来使用地图

我正在尝试使用maven来管理我的依赖项并构建进程.我有一个问题是找到Google API依赖项或地图依赖项.这很好(没有map api):

<dependency>
    <groupId>com.google.android</groupId>
    <artifactId>android</artifactId>
    <version>4.0.1.2</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

dependencies android google-maps pom.xml maven

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

请解释最终的AtomicReference

谁可以解释我这个:

final AtomicReference<Integer> atomicReference = new AtomicReference<>(1);
atomicReference.set(2);
Run Code Online (Sandbox Code Playgroud)

在什么意义上最终使用?

java final java.util.concurrent atomicreference

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

使用Java8中断/停止forEachRemaning

请考虑以下代码段:

private List<User> getUsers() throws TasteException {
        final int MAX_USERS = 100;
        List<User> userList = new ArrayList<>(MAX_USERS);
        dataModel.getUserIDs().forEachRemaining(userId -> {
            if (userList.size() == 100) {
                // stop
            }
            userList.add(new User(userId));
        });
        return userList;
    }
Run Code Online (Sandbox Code Playgroud)

break或者return不在这里工作.我能做什么?

java iterator mahout java-8

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