小编Siq*_*Lin的帖子

如何在Java中编写基本交换函数

我是java的新手.如何编写java相当于以下C代码.

void Swap(int *p, int *q)
{
   int temp;
   temp = *p;
   *p = *q;
   *q = temp;
} 
Run Code Online (Sandbox Code Playgroud)

java swap

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

如果Java编译器出现在变量之后,为什么不连接字符串文字?

我有以下测试代码:

public class StringLiteralTest {
    static void testPrefix() {
        int i = 0;
        String prefixConcat = "a" + "b" + i;
    }

    static void testSuffix() {
        int i = 0;
        String suffixConcat = i + "c" + "d";
    }
}
Run Code Online (Sandbox Code Playgroud)

生成的字节码是:

Compiled from "StringLiteralTest.java"
public class StringLiteralTest {
  public StringLiteralTest();
    Code:
       0: aload_0
       1: invokespecial #8                  // Method java/lang/Object."<init>":()V
       4: return

  static void testPrefix();
    Code:
       0: iconst_0
       1: istore_0
       2: new           #15                 // class java/lang/StringBuilder
       5: dup
       6: ldc           #17 …
Run Code Online (Sandbox Code Playgroud)

java

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

POPCNT如何在硬件中实现?

根据http://www.agner.org/optimize/instruction_tables.pdf,该POPCNT指令(返回32位或64位寄存器中的设置位数)在现代的每个时钟周期内具有1个指令的吞吐量英特尔和AMD处理器.这比需要多条指令的任何软件实现要快得多(如何计算32位整数中的设置位数?).

POPCNT如何在硬件中如此有效地实施?

hardware x86 assembly

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

我应该在InnoDB中一起避免COUNT吗?

现在,我正在讨论是否使用COUNT(id)或"计数"列.我听说InnoDB COUNT在没有WHERE子句的情况下非常慢,因为它需要锁定表并进行完整的索引扫描.使用WHERE子句时这是相同的行为吗?

例如,如果我有一个包含100万条记录的表.如果COUNT没有WHERE条款,则需要使用索引查找100万条记录.如果添加一个WHERE子句会减少符合条件的行数(从100万到500,000),查询是否会明显加快?

考虑一下SO上的"徽章"页面,会在badges表格中添加一个列,count并且只要用户获得该特定徽章的速度比执行一个更快,就会递增它SELECT COUNT(id) FROM user_badges WHERE user_id = 111吗?

使用MyIASM不是一种选择,因为我需要InnoDB的功能来维护数据完整性.

mysql innodb count

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

检查char*指针是否为以null结尾的字符串的便携方法

我有一个C函数,它接受一个char*指针.函数的前提条件之一是指针参数是以空字符结尾的字符串

void foo(char *str) {
    int length = strlen(str);
    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果str不是指向以null结尾的字符串的指针,则strlen崩溃.是否有一种可移植的方法来确保char*指针确实指向以null结尾的字符串?

我想在用不可读VirtualQuery之后找到最低地址str,如果我们在开头str和那个地址之间没有看到空终止符,那么str就不会指向以空字符结尾的字符串.

c string

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

在Java中,什么类型表示带有3个参数的函数或lambda表达式?

Java 8具有Supplier<T>0个参数功能,Function<T, R>1个参数功能和BiFunction<T, U, R>2个参数功能.

什么类型表示一个函数或lambda表达式,它接受3个参数,如in

SomeType lambda = (int x, double y, String z) -> x; // what is SomeType?
Run Code Online (Sandbox Code Playgroud)

在C#中,Func<T, TResult>最多可重载16个参数,因此我们可以编写

Func<int, double, string, int> lambda = (int x, double y, string z) => x;
Run Code Online (Sandbox Code Playgroud)

Java标准库是否提供类似的东西,或者您是否必须编写自己的"TriFunction"接口来处理具有3个参数的函数?

c# java lambda java-8

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

PHP框架适合哪些项目?

我正在使用PHP作为个人项目构建一个像SO这样的网站.我开始编写平面PHP文件(与HTML混合的SQL查询).做了几页后,我注意到它很难维护.所以我开始使用ORM(Propel).然后我被介绍给Symfony.

我开始重构我的代码以适应Symfony的MVC模式.对我来说,似乎对于像Symfony这样的小项目实际上会让事情变得更复杂,而且我实际上发展得更慢.框架是否更适合由多个团队设计的大型应用程序?或者我做错了什么?

php frameworks

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

客户是否可以访问调试符号以进行错误报告?

将软件发送到客户端时,是否应将调试符号(.PDB)捆绑在一起?如果客户端发现软件中存在错误或漏洞,则完整堆栈跟踪(如果可能的话,存储器转储)对于供应商再现它将非常有用.

为客户提供调试符号的优缺点是什么?

c++ debugging

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

标签 统计

java ×3

assembly ×1

c ×1

c# ×1

c++ ×1

count ×1

debugging ×1

frameworks ×1

hardware ×1

innodb ×1

java-8 ×1

lambda ×1

mysql ×1

php ×1

string ×1

swap ×1

x86 ×1