问题列表 - 第8910页

Scala是否比其他JVM语言更好地扩展?

这是目前我所知道的唯一方式.理解它Scala使用Java虚拟机.我以为Jruby也是.Twitter将其中间件转换为Scala.他们可以做同样的事情并使用Jruby吗?

他们是否可以从Jruby开始,而不是因为他们的缩放问题导致他们首先从Ruby迁移到Scala?我不明白Jruby是什么?我假设因为Jruby可以使用Java,它会缩放到Ruby不会的地方.

在这种情况下,这一切都归结为静态与动态类型吗?

ruby twitter scala scalability jruby

41
推荐指数
4
解决办法
7330
查看次数

如何使用WSDL文件创建WCF代理?

我有一个旧的WSDL文件,我想使用WCF与服务进行通信.

WSDL是从ASMX生成的(我想但我不确定).

与它沟通所需的步骤是什么?

wcf wsdl

23
推荐指数
3
解决办法
6万
查看次数

应用默认WPF样式

我有一个全球性的风格,将我所有的TextBox风格,但在某些情况下,我想恢复只是前景色到原来的非定制式的色彩.我尝试使用我希望恢复{TemplateBinding Foreground}的特定内部TextBoxes.它最终不是有效的XAML,我不确定这是正确的方式.

有任何想法吗?谢谢.

wpf styles

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

为什么我可以通过指针转换而不是C中的全局变量来更改本地const变量?

我想通过使用指针来改变常量的值.

请考虑以下代码

int main()
{
    const int const_val = 10;
    int *ptr_to_const = &const_val;

    printf("Value of constant is %d",const_val);
    *ptr_to_const = 20;
    printf("Value of constant is %d",const_val);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,常量的值被修改.

但是当我尝试使用全局常量的相同代码时,我遇到了运行时错误.Windows崩溃记者正在开放.在此语句"*ptr_to_const = 20;"中打印第一个printf语句后,可执行文件暂停

请考虑以下代码

const int const_val = 10;
int main()
{
    int *ptr_to_const = &const_val;
    printf("Value of constant is %d",const_val);
    *ptr_to_const = 20;
    printf("Value of constant is %d",const_val);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序使用codeblocks IDE在mingw环境中编译.

谁能解释一下发生了什么?

c pointers constants

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

为什么C#中的CRC32实现如此之慢?

我正在使用以下函数来计算VS2008,.NET 3.5项目中文件的CRC32:

public UInt32 ComputeHash(System.IO.Stream stream)
{
    unchecked
    {
        const int BUFFER_SIZE = 1024;

        UInt32 crc32Result = 0xFFFFFFFF;
        byte[] buffer = new byte[BUFFER_SIZE];
        int count = stream.Read(buffer, 0, BUFFER_SIZE);

        while (count > 0)
        {
            for (int i = 0; i < count; i++)
            {
                crc32Result = ((crc32Result) >> 8) ^ _crc32Table[(buffer[i]) ^ (crc32Result) & _LOOKUP_TABLE_MAX_INDEX];
            }
            count = stream.Read(buffer, 0, BUFFER_SIZE);
        }

        return ~crc32Result;
    }
}
Run Code Online (Sandbox Code Playgroud)

为简洁起见,我遗漏了构建查找表(_crc32Table)的函数.该表是一个UInt32数组,是在实例化类时构建的,包含256个值(256也是_LOOKUP_TABLE_MAX_INDEX + 1的值).

我已经运行了一些基准测试,将它与MD5CryptoServiceProvider和SHA1CryptoServiceProvider ComputeHash函数进行比较,它们的速度要快得多.MD5功能的速度提高了两倍,SHA1哈希的速度提高了约35%.我被告知CRC32很快,但那不是我所看到的.

我错误地假设了吗?这是预期的还是这个算法有缺陷?

.net c# crc32

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

有没有办法通过网络检查机器上安装的字体?

有没有办法测试安装了什么字体或者我可以读出所有字体?我想在我们的产品中进行调查,看看我可以在项目中使用哪些字体.

javascript css jquery fonts

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

Git checkout:更新路径与切换分支不兼容

我的问题与切换分支时的致命Git错误有关.

我尝试使用该命令获取远程分支

git checkout -b local-name origin/remote-name
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

致命:git checkout:更新路径与切换分支不兼容.
您是否打算签出无法解析为提交的"origin/remote-name"?

如果我手动创建一个分支然后拉远程分支,它就可以工作,就像创建一个新的克隆并检查分支一样.

为什么它不适用于我使用的存储库?

git remote-branch git-checkout

463
推荐指数
6
解决办法
21万
查看次数

我是否可以在启用所有日志记录的情况下自动执行一次JUnit测试用例,并且在禁用所有日志记

我找到了解决方案,请参阅下面的答案.有人有更优雅的吗?

我想这样做是为了增加代码覆盖率并找到微妙的错误.

假设要测试以下类:

public class Foo {
    private final Logger logger = LoggerFactory.getLogger(Foo.class);
    public void bar() {
        String param=[..];
        if(logger.isInfoEnabled()) logger.info("A message with parameter {}", param);

        if(logger.isDebugEnabled()) {
            // some complicated preparation for the debug message
            logger.debug([the debug message]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

和以下测试类:

public class FooTest {
    @Test
    public void bar() {
        Foo foo=new Foo();
        foo.bar();
    }
}
Run Code Online (Sandbox Code Playgroud)

像Cobertura这样的代码覆盖工具将正确报告只检查了一些条件分支.

对记录器激活或取消激活信息和调试.

除了在你的报道得分上看起来不好之外,这也构成了真正的风险

如果(logger.isDebugEnabled())内部的代码导致了一些副作用怎么办?如果您的代码仅在启用DEBUG时才起作用,并且如果日志级别设置为INFO则会失败,该怎么办?(这实际上发生在我们的一个项目中:p)

所以我的结论是,包含记录器语句的代码应始终在启用所有日志记录时进行一次测试,并在禁用所有日志记录时进行

有没有办法用JUnit做这样的事情?我知道如何全局启用或禁用Logback中的所有日志记录,因此问题是:如何在启用日志记录的情况下执行两次测试,一次禁用日志记录.

ps我知道这个问题,但我不认为这是重复的.我不太关心绝对覆盖值,而是关注可能包含在if(logger.isDebugEnabled())中的微妙,难以发现的错误.

java junit code-coverage cobertura logback

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

在连接池环境中是否明确要求statement.close()?

我在我的应用程序中使用连接池.我的问题是:

在连接池环境的情况下,是否明确要求在关闭连接之前关闭语句?

在连接池池环境连接没有被关闭,(但返回到空闲连接池).我检查了jdbc 4.0功能规格.在第9.4.4点,它明确指出:

关闭连接对象应用程序调用方法Connection.close以指示它已完成使用连接.调用对象的close方法时,将关闭从给定Connection对象创建的所有Statement对象.关闭Connection之后,除了close,isClosed或isValid方法之外,任何访问其任何方法的尝试都将导致抛出SQLException.

所以jdbc规范要求在关闭连接时关闭所有语句.那么它仅适用于非连接池环境还是适用于连接池环境?

根据我的说法,在集合环境的情况下应该无关紧要,因为我们正在编写接口(java.sql.Connection&java.sql.Statement).所以我们不打扰实现,而class class(java.sql.Connection)没有关于child/impementation类(Vendor实现类)的任何信息.

java sql connection-pooling jdbc

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

结构体可以包含引用类型的字段

结构体是否包含引用类型的字段?如果可以,这是一个不好的做法?

c# struct reference-type

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