在本文中,您将会了解到关于为什么的新资讯,同时我们还将为您解释int的相关在本文中,我们将带你探索为什么的奥秘,分析int的特点,并给出一些关于ApacheKafka客户端何时会引发“批处理过期”异常
在本文中,您将会了解到关于为什么的新资讯,同时我们还将为您解释int的相关在本文中,我们将带你探索为什么的奥秘,分析int的特点,并给出一些关于Apache Kafka客户端何时会引发“批处理过期”异常?、c# – 尝试使用ExecuteScalar,并获得“指定的强制转换无效”错误、Calendar.before(Object when),为什么是Object?、class Classname(object),Python中的“ object”是什么样的词?的实用技巧。
本文目录一览:- 为什么(int)(object)10m会引发“指定的转换无效”异常?(int无法转换为string)
- Apache Kafka客户端何时会引发“批处理过期”异常?
- c# – 尝试使用ExecuteScalar,并获得“指定的强制转换无效”错误
- Calendar.before(Object when),为什么是Object?
- class Classname(object),Python中的“ object”是什么样的词?
为什么(int)(object)10m会引发“指定的转换无效”异常?(int无法转换为string)
为什么此显式强制转换会引发Specified cast is not valid.
异常?
decimal d = 10m;object o = d;int x = (int)o;
但这有效:
int x = (int)(decimal)o;
答案1
小编典典装箱的值只能拆箱到完全相同类型的变量。这种看似奇怪的限制是非常重要的速度优化,它使.NET
1.x在使用泛型之前就变得可行。您可以在此答案中了解更多信息。
您不想跳过多个转换箍,简单的值类型实现IConvertible接口。使用Convert类调用的方法:
object o = 12m; int ix = Convert.ToInt32(o);
Apache Kafka客户端何时会引发“批处理过期”异常?
使用Apache Kafka Java客户端(0.9),我试图使用Kafka
Producer类将一连串的记录发送到代理。
异步发送方法会立即返回一会儿,然后在很短的时间内开始阻塞每个调用。大约三十秒钟后,客户端开始引发异常(TimeoutException),并显示消息
“批处理已过期” 。
在什么情况下会引发此异常?
答案1
小编典典此异常表示您正在以比发送记录更快的速率对记录进行排队。
调用
send
方法时,ProducerRecord将存储在内部缓冲区中,以发送给代理。一旦ProducerRecord被缓冲,该方法将立即返回,而不管其是否已发送。
记录被分成 批次 发送到代理,以减少每封邮件偷听运输和提高吞吐量。
将记录添加到批处理中之后,发送该批处理有一个时间限制,以确保已在指定的持续时间内发送了该批处理。这由生产者配置参数
request.timeout.ms
控制,该参数默认为三十秒。
如果批处理的排队时间超过了超时限制,则将引发异常。该批次中的记录将从发送队列中删除。
使用配置参数来增加超时限制,将使客户端可以在过期之前将批处理排队更长的时间。
c# – 尝试使用ExecuteScalar,并获得“指定的强制转换无效”错误
public int GetProductPrice(string ProductName) { cnn.open(); sqlCommand cmd = new sqlCommand("SELECT ProductPrice FROM Products WHERE ProductName ='" + ProductName + "'",cnn); int price = (int)cmd.ExecuteScalar(); return price; }
现在我一直得到这个错误指定的强制转换是无效的,我不知道为什么.有人能帮我吗 ?
解决方法
public int GetProductPrice(string productName) { // Quite possibly extract the connection creation into a separate method // to call here. using (var conn = new sqlConnection(...)) { conn.open(); using (var command = new sqlCommand( "SELECT ProductPrice FROM Products WHERE ProductName = @ProductName",conn)) { command.AddParameter("@ProductName",sqlDbType.VarChar) .Value = productName; object price = command.ExecuteScalar(); // And you'd do the casting here } } }
接下来,我们不知道ProductPrice字段的类型.可能是你得到了很长的回报,或者可能是小数.最简单的方法是使用:
object tmp = cmd.ExecuteScalar();
…然后查看调试器.还要看一下数据库中字段的类型 – 这应该真正告诉你期待什么.看看这两者之间的映射的SqlDbType
枚举.
Calendar.before(Object when),为什么是Object?
来自的javadoc Calendar.before(Object when)
:
返回此Calendar是否代表指定Object所表示的时间之前的时间。此方法等效于:
compareTo(when) < 0
当且仅当when是Calendar实例。否则,该方法返回false。
如果有人传递的不是Calendar实例的东西返回false,为什么它接受一个Object?为什么不只接受Calendar实例呢?这使我在相当长一段时间内一直在监视功能的不正确结果。
答案1
小编典典我认为没有特别的原因。java.util.Calendar
不幸的是,我们不得不解决一些设计问题。
class Classname(object),Python中的“ object”是什么样的词?
当我创建一个包含其唯一内容的模块时:
class Classname(randomobject): pass
我尝试运行解释器说randomobject
未定义的模块的.py文件。
但是当我这样做时:
class Classname(object): pass
该模块运行正常。那么,如果object
不是关键字,那是什么呢?
答案1
小编典典object
是一个(全局)变量。默认情况下,它绑定到内置类,该内置类是类型层次结构的根。
(这导致了一个有趣的属性,您可以采用任何内置类型,并使用该__bases__
属性来达到称为对象的类型)。
并非关键字或运算符的所有内置内容都是标识符。
关于为什么和int的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Apache Kafka客户端何时会引发“批处理过期”异常?、c# – 尝试使用ExecuteScalar,并获得“指定的强制转换无效”错误、Calendar.before(Object when),为什么是Object?、class Classname(object),Python中的“ object”是什么样的词?等相关知识的信息别忘了在本站进行查找喔。
本文标签: