小编Joh*_*ica的帖子

用于PHP的StringBuilder

有人StringBuilder在PHP中实现了吗?

php stringbuilder

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

返回CompletableFuture <Void>或CompletableFuture <?>?

我想写一个返回a的异步方法CompletableFuture.未来的唯一目的是跟踪方法何时完成,而不是结果.返回CompletableFuture<Void>还是更好CompletableFuture<?>?有理由偏爱其中一个,还是可以互换?

请注意,我只询问返回类型,而不是参数列表,变量声明或其他上下文.

java future return-type completable-future

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

TreeSet显示错误的输出

在使用树集时,我发现了非常奇特的行为.根据我的理解,这个程序应该打印两个相同的行:

public class TestSet {
    static void test(String... args) {
        Set<String> s = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
        s.addAll(Arrays.asList("a", "b"));
        s.removeAll(Arrays.asList(args));
        System.out.println(s);
    }

    public static void main(String[] args) {
        test("A");
        test("A", "C");
    }
}
Run Code Online (Sandbox Code Playgroud)

但奇怪的是它打印:

[b]
[a, b] 
Run Code Online (Sandbox Code Playgroud)

为什么树集会表现得像这样?

java treeset

44
推荐指数
2
解决办法
1542
查看次数

加快MySQL中的行计数

假设,为了便于说明,您使用包含三列的简单MySQL"books"表运行库:

(身份,职称,身份)

  • id是主键
  • title是这本书的标题
  • 状态可以是描述书籍当前状态的枚举(例如,可用,检查,处理,丢失)

报告每个州有多少本书的简单查询是:

SELECT status, COUNT(*) FROM books GROUP BY status
Run Code Online (Sandbox Code Playgroud)

或者专门找到有多少本书:

SELECT COUNT(*) FROM books WHERE status = "AVAILABLE"
Run Code Online (Sandbox Code Playgroud)

但是,一旦表增长到数百万行,这些查询需要几秒钟才能完成.在"状态"列中添加索引似乎不会对我的体验产生影响.

除了定期缓存结果或在每次书籍更改状态(通过触发器或其他机制)时在单独的表中显式更新摘要信息,是否有任何加速这些类型查询的技术?似乎COUNT查询最终查看每一行,并且(不知道更多细节)我有点惊讶,这些信息无法以某种方式从索引中确定.

UPDATE

使用具有200万行的样本表(带有索引"状态"列),我对GROUP BY查询进行了基准测试.使用InnoDB存储引擎,查询在我的机器上需要3.0 - 3.2秒.使用MyISAM,查询需要0.9 - 1.1秒.在任何一种情况下,计数(*),计数(状态)或计数(1)之间没有显着差异.

MyISAM无疑要快一点,但我很想知道是否有办法让等效查询运行更快(例如10-50毫秒 - 足够快,可以在低流量站点的每个网页请求上调用)没有缓存和触发器的精神开销.听起来答案是"没有办法快速运行直接查询"这是我的预期 - 我只是想确保我没有错过一个简单的替代方案.

mysql indexing optimization count

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

41
推荐指数
5
解决办法
7万
查看次数

JavaScript:从数字中获取第二个数字?

我有一个分配给变量的数字,如:

var myVar = 1234;
Run Code Online (Sandbox Code Playgroud)

现在我想从该数字得到第二个数字(在这种情况下为2),而不是先将其转换为字符串.那可能吗?

javascript numbers

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

如何生成满足某些条件的三个随机整数?

我是编程的初学者,我正在寻找如何生成满足条件的三个整数的好主意。

例子:

给定n = 30,我们被要求生成三个整数 a、b 和 c,因此7*a + 5*b + 3*c = n。我尝试使用for循环,但它花费了太多时间,而且我的最大测试时间为 1000 毫秒。

我正在使用 Python 3。

我的尝试:

x = int(input())
c = []
k = []
w = []
for i in range(x):
    for j in range(x):
        for h in range(x):
           if 7*i + 5*j + 3*h = x:
              c.append(i)
              k.append(j)
              w.append(h)
if len(c) == len(k) == len(w) 
    print(-1)
else: 
    print(str(k[0]) + ' ' + str(c[0]) + ' ' + str(w[0]))
Run Code Online (Sandbox Code Playgroud)

python random python-3.x

39
推荐指数
4
解决办法
7427
查看次数

坏编译常量值

我在这个声明中得到"Bad Compile constant value".

Regex objCheckNumber = new Regex("^(\d){4}$");
Run Code Online (Sandbox Code Playgroud)

我只想将其设置为检查另一个字符串,以查看输入的值是否为4位数.

c#

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

haml中的内联标记

在html中,你可以做这样的事情

<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget 
  aliquet odio. Fusce id quam eu augue sollicitudin imperdiet eu ac eros. 
  <em>Etiam nec nisi lorem</em>, ac venenatis ipsum. In sollicitudin, 
  lectus eget varius tincidunt, felis sapien porta eros, non 
  pellentesque dui quam vitae tellus. 
</p>
Run Code Online (Sandbox Code Playgroud)

这很好,因为文本段落看起来仍然像标记中的段落.在haml中,它看起来像这样

%p
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget 
    aliquet odio. Fusce id quam eu augue sollicitudin imperdiet eu ac eros. 
    %em Etiam nec nisi lorem
    , ac venenatis …

haml

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

Python错误"导入:无法打开X服务器"

尝试运行一段python代码时出现以下错误:

import: unable to open X server `' @ error/import.c/ImportImageCommand/366.
from: can't read /var/mail/datetime
./mixcloud.py: line 3: syntax error near unexpected token `('
./mixcloud.py: line 3: `now = datetime.now()'
Run Code Online (Sandbox Code Playgroud)

代码:

import requests
from datetime import datetime,date,timedelta

now = datetime.now()
Run Code Online (Sandbox Code Playgroud)

我真的没有看到问题.这是我的服务器出现问题而不是代码本身的问题吗?

python

37
推荐指数
3
解决办法
5万
查看次数