草庐IT

integer-overflow

全部标签

java - Java中为一个Integer对象分配多少内存?如何找出任何自定义对象的这个值?

这个问题在这里已经有了答案:WhatisthememoryconsumptionofanobjectinJava?(12个回答)关闭9年前。衡量应该使用堆中多少内存来创建特定类型的新对象的正确方法是什么(让我们谈谈整数以保持简单)?这个值可以不用实验计算出来吗?这种情况下的规则是什么?这些规则是否在某处严格指定,或者它们可能因jvm而异? 最佳答案 它可能因JVM而异。您可能会喜欢thisblogpost来自Oracle工程师:InthecaseofaJavaIntegerona32-bitHotspotJVM,the32-bitp

java - Java中为一个Integer对象分配多少内存?如何找出任何自定义对象的这个值?

这个问题在这里已经有了答案:WhatisthememoryconsumptionofanobjectinJava?(12个回答)关闭9年前。衡量应该使用堆中多少内存来创建特定类型的新对象的正确方法是什么(让我们谈谈整数以保持简单)?这个值可以不用实验计算出来吗?这种情况下的规则是什么?这些规则是否在某处严格指定,或者它们可能因jvm而异? 最佳答案 它可能因JVM而异。您可能会喜欢thisblogpost来自Oracle工程师:InthecaseofaJavaIntegerona32-bitHotspotJVM,the32-bitp

memory - 将内存从 2GB 升级到 4GB 可以防止 Stack Overflow 异常吗?

我的电脑有2GB的RAM内存。当我在C#2008ExpressEdition中形成一个包含70.000个项目的数组的3D网格对象时,我收到错误消息“堆栈溢出异常处理...”。如果我将RAM内存从2GB升级到4GB,我可以克服这个错误消息吗? 最佳答案 几乎可以肯定不是。堆栈溢出(而不是内存不足)意味着您已经消耗了分配的stack空间-但堆栈(相对而言)很小。堆是所有事情发生的地方......选项:修复你的无限递归错误...将数据移动到数组/列表/一些基于堆的存储中(现在在哪里?)避免深度递归避免使用过大的结构...你有一些真正应该是

memory - 将内存从 2GB 升级到 4GB 可以防止 Stack Overflow 异常吗?

我的电脑有2GB的RAM内存。当我在C#2008ExpressEdition中形成一个包含70.000个项目的数组的3D网格对象时,我收到错误消息“堆栈溢出异常处理...”。如果我将RAM内存从2GB升级到4GB,我可以克服这个错误消息吗? 最佳答案 几乎可以肯定不是。堆栈溢出(而不是内存不足)意味着您已经消耗了分配的stack空间-但堆栈(相对而言)很小。堆是所有事情发生的地方......选项:修复你的无限递归错误...将数据移动到数组/列表/一些基于堆的存储中(现在在哪里?)避免深度递归避免使用过大的结构...你有一些真正应该是

java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer数据类型转换异常

数据库查询出来的数据不建立一个实体类接收,如果用map来接收会把查询的字段名当做key,值当成value会默认把数据库查询出来的数字用Long类型来接收所以有可能会出现上面的类型转换异常因为我们查询出来的值是long型,然后我们把他当成Integer类型来操作但是我们直接用类型强转(Integer)来转换也会报上面的错误有下面一种解决方案先把long类型的数转换为字符串然后再把字符串转换为Integer型比如newInteger(String.valueOf(row.get("id")));下面我们来看看字符串转换为基本数据类型和基本数据类型转换为字符串的方法1)基本类型转换为字符串 基本类型

c++ - 有没有一种安全的方法来获取有符号整数的无符号绝对值,而不会触发溢出?

考虑一个典型的绝对值函数(为了论证,最大大小的整数类型是长的):unsignedlongabs(longinput);一个简单的实现可能看起来像:unsignedlongabs(longinput){if(input>=0){//inputispositive//Weknowthisissafe,becausethemaximumpositivesigned//integerisalwayslessthanthemaximumpositiveunsignedonereturnstatic_cast(input);}else{returnstatic_cast(-input);//uto

c++ - 有没有一种安全的方法来获取有符号整数的无符号绝对值,而不会触发溢出?

考虑一个典型的绝对值函数(为了论证,最大大小的整数类型是长的):unsignedlongabs(longinput);一个简单的实现可能看起来像:unsignedlongabs(longinput){if(input>=0){//inputispositive//Weknowthisissafe,becausethemaximumpositivesigned//integerisalwayslessthanthemaximumpositiveunsignedonereturnstatic_cast(input);}else{returnstatic_cast(-input);//uto

c++ - 为什么 (18446744073709551615 == -1) 是真的?

当我在处理string::npos时,我注意到了一些东西,但我在网上找不到任何解释。(string::npos==ULONG_MAX)和(string::npos==-1)是真的。所以我尝试了这个:(18446744073709551615==-1)这也是正确的。这怎么可能?是因为二元对话吗? 最佳答案 18,446,744,073,709,551,615提到的这个数字,18,446,744,073,709,551,615,实际上是2^64−1。这里重要的是2^64-1本质上是基于0的2^64。无符号整数的第一位是0,而不是1。所以

c++ - 为什么 (18446744073709551615 == -1) 是真的?

当我在处理string::npos时,我注意到了一些东西,但我在网上找不到任何解释。(string::npos==ULONG_MAX)和(string::npos==-1)是真的。所以我尝试了这个:(18446744073709551615==-1)这也是正确的。这怎么可能?是因为二元对话吗? 最佳答案 18,446,744,073,709,551,615提到的这个数字,18,446,744,073,709,551,615,实际上是2^64−1。这里重要的是2^64-1本质上是基于0的2^64。无符号整数的第一位是0,而不是1。所以

java - 等效于 java.lang.Integer.MIN_VALUE 的 C++

如何在C++上获得等效的java.lang.Integer.MIN_VALUE? 最佳答案 #includestd::numeric_limits::min(); 关于java-等效于java.lang.Integer.MIN_VALUE的C++,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2654752/