记一次恐怖的 Integer 溢出
一不注意, 看起来ok 的地方都出问题了! 后来才突然想起,原来是 Integer 溢出啊
这样的代码, 没想到也会出问题。
public static final long Cap_Size = 95100010001000; 而
Cap2_Size = 98100010001000 变成了负数, 真是的。
public class TestDigitOverflow {
public static final long Cap_Size = 95*1000*1000*1000; // 95 GB , 1000 作为单位
public static final long Cap2_Size = 98*1000*1000*1000; // 98 GB , 1000 作为单位
public static final long Max_Size = 100*1000*1000*1000; // 100 GB , 1000 作为单位
/**
* Integer 溢出测试 !
*
* @param args
*/
public static void main(String[] args) {
System.out.println(Cap_Size);
System.out.println(Cap2_Size);
System.out.println(Max_Size);
if (12344 > Cap2_Size) {
System.err.println( "aaaaaaaaaaaaa " + Long.MAX_VALUE);
}
System.out.println(95*1000*1000*1000);
System.out.println(98*1000*1000*1000);
System.out.println(99*1000*1000*1000);
System.out.println(100*1000*1000*1000);
/**
* 加上 L 就好了!
*/
System.out.println(95*1000*1000*1000L);
System.out.println(98*1000*1000*1000L);
System.out.println(99*1000*1000*1000L);
System.out.println(100*1000*1000*1000L);
}
}
结果:
510719488
aaaaaaaaaaaaa 9223372036854775807
-784247808
1215752192
510719488
-784247808
215752192
1215752192
95000000000
98000000000
99000000000
100000000000
记一次恐怖的 Integer 溢出的更多相关文章
- 记一次java程序内存溢出问题
一个自然语言处理程序,在封装为web-service后,部署到线上运行. 但最近出现了内存溢出的情况,频繁的out of memory. 先盲目尝试在启动脚本中增加-XX:-UseGCOverhead ...
- 记一次公司JVM堆溢出抽丝剥茧定位的过程
背景 公司线上有个tomcat服务,里面合并部署了大概8个微服务,之所以没有像其他微服务那样单独部署,其目的是为了节约服务器资源,况且这8个服务是属于边缘服务,并发不高,就算宕机也不会影响核心业务. ...
- JVM 常见线上问题 → CPU 100%、内存泄露 问题排查
开心一刻 明明是个小 bug,但就是死活修不好,我特么心态崩了...... 前言 后文会从 Windows.Linux 两个系统来做示例展示,有人会有疑问了:为什么要说 Windows 版的 ? 目前 ...
- 【leetcode】367. Valid Perfect Square
题目描述: Given a positive integer num, write a function which returns True if num is a perfect square e ...
- ALGO-157_蓝桥杯_算法训练_阶乘末尾(高精度)
问题描述 给定n和len,输出n!末尾len位. 输入格式 一行两个正整数n和len. 输出格式 一行一个字符串,表示答案.长度不足用前置零补全. 样例输入 样例输出 数据规模和约定 n<=, ...
- DIOCP开源项目-DIOCP3的ECHO测试<贴图>
星期六开了测试台测试机子.星期天休息,今天早上来接两个图 开了2个客户端,一个qsl的echo client,一个是楠楠的dbiocp回调客户端.建立13240个连接 今天来后,机子很卡,后来发现是楠 ...
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
- 深入Go的错误处理机制使用
开篇词 程序运行过程中不可避免的发生各种错误,要想让自己的程序保持较高的健壮性,那么异常,错误处理是需要考虑周全的,每个编程语言提供了一套自己的异常错误处理机制,在Go中,你知道了吗?接下来我们一起看 ...
- JDK1.8 HashMap学习
1:源码分析 1.1:构造方法 public HashMap(int initialCapacity, float loadFactor) { ) throw new IllegalArgumentE ...
随机推荐
- WASAPI、DirectSound/DS、WaveOut、Kernel Streaming/KS
先放结论: ASIO:硬件支持+对应驱动程序 DS:兼容性最好,一般也是默认的. WASAPI:是Vista之后的,较佳选择输出方式. 再来详细看: ASIO.WDM都是指音频通道,就是音频数据走的路 ...
- SQL判断某列中是否包含中文字符或者英文字符
SQL判断某列中是否包含中文字符或者英文字符 [sql] select * from 表名 where 某列 like '%[吖-座]%' select * from 表名 where ...
- ALGO-143_蓝桥杯_算法训练_字符串变换
问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,,,,5这5个参数分别指代不同的5种字符串操作, ...
- STL基础--容器
容器种类 序列容器(数组,链表) Vector, deque, list, forward list, array 关联容器(二叉树),总是有序的 set, multiset根据值排序,元素值不能修改 ...
- Git初级
一,安装git 一键安装 Mac 或 Windows. 二,下载一个工具书 Git 命令手册 free Git cheat sheet 三,安装完成之后需要先配置两个基本配置:用户名和邮箱 $ git ...
- bzoj4937: [Ceoi2016]popeala
Description 你办了一场比赛,有n给人参加,只有一道题,有m个数据点,标号为1~m,每个测试点都有一个分数a[i].现在所 有选手已经提交了程序并且测评完了,你知道每个人都能通过哪些测试点. ...
- spring4.0之一:简介
我们共同来构建更好的企业应用.Spring帮助全世界的开发团队构建简单.便携.快速和灵活的基于JVM的系统和应用.这两句话已经足以说明Spring的目标,它针对的领域是企业应用,这套框架构建的应用有着 ...
- Java-Runoob-高级教程-实例-时间处理:01. Java 实例 - 格式化时间(SimpleDateFormat)
ylbtech-Java-Runoob-高级教程-实例-时间处理:01. Java 实例 - 格式化时间(SimpleDateFormat) 1.返回顶部 1. Java 实例 - 格式化时间(Sim ...
- [转][Oracle]常见报错及处理
IIS 在安装 Oracle Client 后,需要命令行执行: iisreset 1.ORA-00257 参考自:https://jingyan.baidu.com/article/f71d6037 ...
- pos省纸的妙招