java实用方法系列 从源数组考贝到目标数组 边界检查的问题
来源:互联网 发布:分享到qq好友js代码 编辑:程序博客网 时间:2024/05/22 13:56
前言
在jdk的源码中,用到大量的从源数组考贝到目标数组的操作,既然涉及到数组,那会一定会有数组的越界检查问题。今天就列举出一个,基本思想要掌握
源码
ByteArrayOutputStream中的一个方法
public synchronized void write(byte b[], int off, int len) { if ((off < 0) || (off > b.length) || (len < 0) || ((off + len) - b.length > 0)) { throw new IndexOutOfBoundsException(); } ... }
off指的是从源数组的哪个索引开始
则off < 0 或 off > b.length 发生越界
len则是考贝的长度
则len < 0 或 off + len > b.length 也是错误的
对源码提出的疑问
当off = b.length时,也会发生越界问题,为什么没有加以判断呢?
是有意为之,还是个bug呢?
阅读全文
0 0
- java实用方法系列 从源数组考贝到目标数组 边界检查的问题
- java实用方法系列 方法返回数组的表示形式(这个技巧有点不实用)
- 检查数组的方法
- C语言为什么不执行数组边界的有效性检查
- 最大子数组问题的边界处理
- 一千零一夜:检查数组包含某一目标元素的几种方法分析
- 超实用的java数组
- 数组边界
- 数组实用方法
- js数组实用方法
- ListView中geiView调用的数组边界溢出问题
- 利用C语言"位域"的特殊性来对数组进行边界检查
- 可恶的Java数组下标越界检查
- 三种方法检测数组边界
- 超实用的Java数组技巧攻略
- 超实用的Java数组技巧攻略
- 超实用的Java数组技巧攻略
- 超实用的Java数组技巧攻略
- 微信小程序之网络请求简单封装
- 大型项目架构演进过程及思考的点
- WPF
- Global 和 Local 函数
- 2017.06.27 有关c++命名空间的学习
- java实用方法系列 从源数组考贝到目标数组 边界检查的问题
- 重写alert方法
- 使用JNI技术实现Java和C/C++互调(C/C++调Java)
- Error querying database. Cause: java.lang.NumberFormatException: For input string: "否"
- 深入理解分布式事务
- CentOS6.6 RPM安装MySQL-5.6.36,并创建指定数据库账号
- polyfit多项式拟合函数的用法
- office 2016 安装
- 清空select下的option