小编Rol*_*and的帖子

(p ++) - > x为什么括号不必要?(K&R)

来自K&R 的The C Programming Language第123页:

(p ++) - > x在访问x后递增p.(最后一组括号是不必要的.为什么?)

为什么不考虑->绑定强于++

编辑:对比给定的表达式++p->x,后者被评估为++(p->x)增量x,而不是p.所以在这种情况下,括号必要的,(++p)->x如果我们想增加,我们必须写p.

c

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

getResourceAsStream线程安全吗?

Web服务器上的代码:

public byte[] loadData() {
    byte[] data = null;
    try(final InputStream resourceStream = getClass().getResourceAsStream("data.bin")) { 
        data = ByteStreams.toByteArray(resourceStream); //ByteStreams is from Guava library
    } catch (IOException e) {
        e.printStackTrace();
    }
    return data;
}
Run Code Online (Sandbox Code Playgroud)

几个线程在资源上打开流并读取其内容是否存在问题?在这种情况下,资源是jar中包含的数据文件.

在Windows上同时读取资源不是问题.但是这没有效率,所以我选择使用WeakReference和双重检查锁定来加载数据一次.

java multithreading

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

如何配置ColdFusion Eclipse调试器

我正在运行ColdFusion Builder 3(Express版)以连接到本地运行的ColdFusion 9服务器(Windows机器).

当我在CF Builder上设置RDS配置并单击Test Connection时, 一切正常.

RDS配置设置

但是当我点击Test Debugger时,我收到以下错误:

无法初始化类coldfusion.log.CFLogs

RDS错误消息

这是CF Builder 3试图访问CF 9服务器的问题吗?

coldfusion coldfusionbuilder coldfusion-9

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

Mixing log4j 1.x and log4j 2 with third party libraries dependending on log4j 1.x

I'm maintaining a Maven project that uses log4j 1.x with a large codebase. Not only is log4j 1.x used in existing code, it is also used by some third party libraries on which the project depends.

I want to start using log4j 2 now, but I wonder if it is worth the hassle.

I know it is possible to mix the two (cf. Mixing log4j 1.x and log4j 2) but what about the third party libraries that depend on …

java logging log4j maven log4j2

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

CompletableFuture.thenAccept确实可以阻止

不像某些博客中所述(例如我不能强调这一点:thenAccept()/ thenRun()方法不会阻止)CompletableFuture.thenAccept确实可以阻止.请考虑以下代码,取消注释pause方法调用将导致thenAccept阻塞:

CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
    log.trace("return 42");
    return "42";
});

//pause(1000); //uncommenting this will cause blocking of thenAccept

future.thenAccept((dbl -> {
    log.trace("blocking");
    pause(500);
    log.debug("Result: " + dbl);
}));

log.trace("end");
pause(1000);
Run Code Online (Sandbox Code Playgroud)

我们可以确定以下内容不会阻止吗?这是我的理解,如果supplyAsync立即运行然后thenAccept可以阻止,不是吗?

CompletableFuture<Void> future = CompletableFuture.supplyAsync(() -> {
    return "42";
}).thenAccept((dbl -> {
    pause(500);
    log.debug("Result: " + dbl);
}));
Run Code Online (Sandbox Code Playgroud)

java multithreading asynchronous java-8 completable-future

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

ULARGE_INTEGER联盟有什么意义?

http://msdn.microsoft.com/en-us/library/windows/desktop/aa383742%28v=vs.85%29.aspx

它们应该像这样使用,在LowPart和HighPart上设置两个32位值,然后在QuadPart上执行算术运算.

int a,b,c;
ULARGE_INTEGER u;
...
u.LowPart = a;
u.HighPart = b;
u.QuadPart += c;
Run Code Online (Sandbox Code Playgroud)

因此,如果您要在QuadPart(64位)上执行算术,那么您需要一个64位处理器,对吧?那么重点是什么呢?为什么不直接将值分配给QuadPart?

c c++ windows winapi

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

feature.xml需要vs includes

feature.xml文件中,您可以使用requires元素或includes元素指定对其他功能/插件的依赖性.

他们之间有什么区别?

eclipse eclipse-plugin

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

禁用 log4j 2 库的日志记录,如何?

我正在使用 log4j 2 进行日志记录,并希望关闭来自库本身的日志消息,例如:

2017-02-20 07:36:38,160 main DEBUG Took 0.001600 seconds to load 0 plugins from package org.apache.logging.log4j.test
Run Code Online (Sandbox Code Playgroud)

我的log4j2.XML文件中有以下内容,但我仍然收到DEBUG与上面类似的消息:

<Logger name="org.apache.logging" level="error" additivity="false">
    <AppenderRef ref="STDOUT" />
</Logger>
Run Code Online (Sandbox Code Playgroud)

这个问题不是在 Java禁用 Log4J 输出的重复, 因为我不想关闭所有输出,只想关闭 log4j 2 库本身的输出。所以我仍然希望我的代码生成日志输出。

java configuration logging log4j log4j2

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

TypeName vs VarType

我想检查一下的类型Variant.可以用TypeName和来做VarType.我猜使用VarType效率更高,因为它不涉及字符串比较,只是数字比较.有什么理由喜欢TypeName

Public Sub testType()
    Dim b() As Double
    Dim a As Variant
    a = b

    Debug.Print TypeName(a) = "Double()" 'True
    Debug.Print VarType(a) = vbArray + vbDouble 'True
End Sub
Run Code Online (Sandbox Code Playgroud)

vba types

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

executeBatch()是否还会清除命令列表?

的文档Statement.executeBatch()尚不清楚,但是我假设调用它会以与清空Statement对象相同的方式来清空对象的当前SQL命令列表clearBatch()。我还假设的情况也是如此PreparedStatement

我想可以Statement在调用之后继续使用after Statement.executeBatch(),即添加另一批命令并执行它们。

java jdbc batch-updates

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