当前位置: 首页 > 面试题库 >

Java 吞吐量原理说明

孙宏壮
2023-03-14
问题内容

读了O’Reilly的书,因为我了解了这一计算原理。

  • extends当你仅从结构中获取值时,请使用通配符。
  • super仅将值放入结构时,请使用通配符。
  • 当你都想从一个结构中获取和放置一个结构时,请不要使用通配符。
    例外情况是:

  • extends除了值null(属于每个引用类型)之外,你不能将任何东西放入用通配符声明的类型中。

  • 你不能从用super通配符声明的类型中获取任何东西,除了type的值Object是每个引用类型的超类型。

谁能帮助我深入探索这个规则?如果可能的话,请把它们分层。


问题答案:

考虑一堆香蕉。这是Collection<? extends Fruit>因为它是一种特定种类的水果的集合-但是你(从该声明中)不知道它是哪种水果的集合。你可以从中获得一个项目,并且知道它肯定是水果,但是你不能添加它-你可能正在尝试向一堆香蕉中添加一个苹果,这肯定是错误的。你可以添加null它,因为这对于任何种类的水果都是有效值。

现在考虑一个水果碗。这是一个Collection<? super Banana>,因为它是某种类型“大于”的集合Banana(例如Collection<Fruit>Collection<TropicalFruit>)。你绝对可以在其中添加一个香蕉,但是如果你从碗中取出一个物品,你将不知道会得到什么-它很可能不是香蕉。你唯一可以确定的是,它将是一个有效的(可能是null)Object参考。

(通常,对于Java泛型问题,Java泛型FAQ是一个很好的资源,其中包含你可能会提出的几乎所有与泛型相关的答案。)



 类似资料:
  • 来自AWS Lambda常见问题解答: Q: 我一次可以执行的AWS Lambda函数的数量是否有限制? 不需要。AWS Lambda旨在并行运行多个函数实例。然而,AWS Lambda的默认安全限制为每个区域每个帐户100次并发执行。如果您希望提交请求以增加100次并发执行的限制,您可以访问我们的支持中心,单击“打开新案例”,然后提交服务限制增加请求。 Q: 如果我的帐户超过并发执行的默认限制,

  • 在大数据存储中,IOPS和吞吐量之间的关键区别是什么

  • 我正在对ElasticSearch进行基准测试,以实现非常高的索引吞吐量。 我目前的目标是能够在几个小时内索引30亿(3,000,000,000)文档。为此,我目前有3台windows服务器机器,每台16GB内存和8个处理器。插入的文档有一个非常简单的映射,只包含少数数字非分析字段(被禁用)。 使用这个相对适中的钻机,我能够达到每秒大约120,000个索引请求(使用大桌子监控),我相信吞吐量可以进

  • 我有一个类女巫负责向客户端发送数据,所有其他类在需要发送数据时都使用这个。让我们称之为“数据ender.class”。 现在客户端要求我们将吞吐量控制在每秒最多50次调用。 我需要在这个类上创建一个algoritm(如果可能的话),以保持当前秒的调用次数,如果它达到50的最大值,保持进程要么睡眠或某事,并继续而不丢失数据。也许我必须实现一个队列或比简单的睡眠更好的东西。我需要建议或遵循的方向。 为

  • 无论从什么角度来看,它都不是。 假设我有两个消费者,它们以每秒“10”条消息的速度从给定主题中消耗数据。现在,不管它们是从单个分区还是从两个不同的分区进行消耗;我的吞吐量将保持不变,每秒20条消息。 我觉得我一定漏了一些内部工作的细节,你能帮我解释一下kafka分区(多个)是如何帮助提高固定用户数量的吞吐量的,而不是单个kafka分区。

  • 我一直在使用SpringIntegration调用RESTAPI,但是SpringIntegration默认附带的http客户端不支持连接池或可重用性,因此我定制了使用PoolighttpClientConnectionManager 但是现在Spring集成停止在我的类路径中拾取JKS文件,所以我构建了自己的SSL上下文,但是构建这个SSL上下文导致了性能的显著下降 对于100个并发线程, 使用