在c、c++中使用数组是很危险的,因为c和c++中的数组就是内存块。如果一个程序要访问其自身内存块之外的数组,或在数组初始化之前使用内存(程序中常见的错误),就会产生难以预料的后果。
java的主要目标之一就是安全性。java确保数组会被初始化,而且不能再它的范围之外被访问。这种范围检查,是以每个数组上少量的内存开销及运行时的下标检查为代价的。当由此换来的是安全性和效率的提高,因此付出的代价是值得的。
【java和c、c++中数组的区别】当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个应用会自动被初始化为一个特定值,该值拥有自己的固定值null。一旦java看到null,就知道这个引用还没有指向某个对象。如果试图使用一个还是null的引用,在运行时将会报错。因此,常犯的数组错误在java中就可以避免。
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)