我正在阅读代码的一部分,就像这样
// compare points according to their polar radius
public static final Comparator<Point2D> R_ORDER = new ROrder();
.
.
.
private static class ROrder implements Comparator<Point2D> {
public int compare(Point2D p, Point2D q) {
double delta = (p.x*p.x + p.y*p.y) - (q.x*q.x + q.y*q.y);
if (delta < 0) return -1;
if (delta > 0) return +1;
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我们在私有静态类中有这样的公共方法.如果我做ROrder会有什么害处
方法一
通常,非常快,并且效果很好。
public static int loops = 500;
private static ExecutorService customPool = Executors.newFixedThreadPool(loops);
.
.
Instant start = Instant.now();
LongSummaryStatistics stats = LongStream.range(0, loops).boxed()
.map(number -> CompletableFuture.supplyAsync(() -> DummyProcess.slowNetworkCall(number), customPool))
.collect(Collectors.toList()).stream() // collect first, else will be sequential
.map(CompletableFuture::join)
.mapToLong(Long::longValue)
.summaryStatistics();
log.info("cf completed in :: {}, summaryStats :: {} ", Duration.between(start, Instant.now()).toMillis(), stats);
// ... cf completed in :: 1054, summaryStats :: LongSummaryStatistics{count=500, sum=504008, min=1000, average=1008.016000, max=1017}
Run Code Online (Sandbox Code Playgroud)
我明白如果我不先收集流,那么由于懒惰的性质,流会一个一个地弹出CompletableFutures,并同步运行。所以,作为一个实验:
方法二
删除中间收集步骤,但也要使流平行!:
Instant start = Instant.now();
LongSummaryStatistics stats …Run Code Online (Sandbox Code Playgroud) 我的团队处理多个角度项目。为了代码重用,我们将许多表示组件提取到库中,然后在我们的各种项目中使用它们。
那么,鉴于我们所有的项目都是基于 angular 的,而且我们已经使用了库,我们还能从 angular 元素中获得什么?
我开始研究元素的原因是:
我们的大部分旧项目都使用 Bootstrap 3。我们希望将 Bootstrap 4 与我们制作的新东西一起使用。所以我想知道一个元素是否可以用 Bootstrap 4 设计,并在用 B-3 设计的地方使用它而不会破坏?
那可能吗 ?
我正在学习 Kafka 并尝试将它与 docker 一起使用。我对 docker-compose 文件感到困惑,所以我想在这里问我的问题。
在大多数示例中,我看到这样的配置:
broker:
image: confluentinc/cp-enterprise-kafka:5.3.1
...
ports:
- "29192:29092"
- "9192:9092"
environment:
...
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
Run Code Online (Sandbox Code Playgroud)
我想了解一些与此相关的事情:
KAFKA_ADVERTISED_LISTENERS?在某些地方,例如 confluence 自己的示例,我只看到一个代理,但有多个KAFKA_ADVERTISED_LISTENERS。这意味着什么?PLAINTEXT://broker:29092in KAFKA_ADVERTISED_LISTENERS,但我们没有在端口 29092 处配置任何代理或 Zookeeper,那么它在做什么呢?注:这是不是重复的的链接的答案,即着重于与性能问题,会发生什么幕后当字典()函数调用.我的问题是关于关键字参数总是导致类型的键string.绝对不是重复.
方法-1:
suit_values = {'spades':3, 'hearts':2, 'diamonds':1, 'clubs':0}
Run Code Online (Sandbox Code Playgroud)
方法-2:
suit_values = dict(spades=3, hearts=2, diamonds=1, clubs=0)
Run Code Online (Sandbox Code Playgroud)
方法-1对我有意义.这就像告诉python给我一个字典,其中键是字符串,值是数字.但是在方法2中,python如何知道键是字符串而不是别的东西?
这是一种趋势吗?如果是这样,那些显示出这种行为的其他一些例子(除了字典)?
编辑-1:
我对答案的理解是:
dict(**kwargs)创建字典的方式.spades=3,spades是一个有效的Python标识符,所以它被作为类型的密钥string.那么,dict(**kwargs) 总是会产生一个字典,其中键是类型的string?
编辑-2:^^是.
安装是一系列的 5 个简单步骤:
首先,从主页中的命令安装自制软件本身:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Run Code Online (Sandbox Code Playgroud)
之后,按照本页中的说明,并更改~/.bash_profile为~/.profile因为我使用 Ubuntu 作为我的 wsl 发行版,我必须给出以下命令:
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
Run Code Online (Sandbox Code Playgroud)
但是现在,当我尝试运行 brew 时,command not found出现错误。
我的团队正在寻求构建类似Medium克隆的东西。用户创建的帖子预计不会有太大变化,因此SSR/SSG似乎是一个不错的选择,特别是如果有一些增量构建功能可用。然而,帖子上的“赞成票”之类的事情可能会经常发生变化,因此我们不确定如何适应这种情况。
此外,应用程序的一部分超出了登录范围,例如仪表板或用于创建新帖子的编辑器等,不需要 SEO,因此我们正在考虑是否可以通过 CSR 来完成,而其他部分仍然是SSG或SSR。
这样的组合可以用Angular Universal来完成吗?到目前为止,我们一直在制作 CSR Angular SPA,所以如果问题有点愚蠢,我们深表歉意:(
相关:ParallelStream 上的 CompletableFuture 被批处理并且运行速度比顺序流慢?
我正在研究通过 parallelStream 和 CompletableFutures 并行化网络调用的不同方法。因此,我遇到过这种情况,Java 的 parallelStream 使用的 ForkJoinPool.commonPool() 的大小动态增长,从 ~ #Cores 到最大值 64。
爪哇细节:
$ java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)
Run Code Online (Sandbox Code Playgroud)
显示这种行为的代码如下(完整的可执行代码在这里)
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)
Run Code Online (Sandbox Code Playgroud)
示例输出:
16:07:17.443 [pool-2-thread-7] INFO generalworks.parallelism.DummyProcess - 44 going to sleep. poolsize: 11
16:07:17.443 [pool-2-thread-9] INFO generalworks.parallelism.DummyProcess …Run Code Online (Sandbox Code Playgroud) java parallel-processing multithreading forkjoinpool java-stream
有人能帮我理解什么是“从中选择 0”
delete from table1
where cond1 and cond2 and cond3
and not exists
( select 0 from table2 where cond1 and cond2 )
Run Code Online (Sandbox Code Playgroud)
我尝试查看一些正在讨论此事的 SO 线程,但在简短阅读、谈论优化等方面有点太复杂了。这里发生的事情有什么简单的解释吗?
java ×3
angular ×2
java-stream ×2
apache-kafka ×1
dictionary ×1
docker ×1
forkjoinpool ×1
homebrew ×1
nestjs ×1
next.js ×1
node.js ×1
python ×1
reactjs ×1
sql ×1
ubuntu-20.04 ×1
windows ×1