Java 5 基本数据类型的底层存取特点
之所以以Java 5作为版本论述,是有特殊原因的,容后叙述。
正如前一篇文章浮点数在内存中的存储方式中引述的那样,在C/C++,以其其他的多数编程语言中,对于字节级的数据存储采取了传统的低字节存低地址,高字节存高地址,即从右到左送出一个数据,(写入流或文件时,总是从结尾往其中写,这与读和显示文件时从起点开始是相反的,比如0xFF0A,写入是先写0A字节,再写FF字节,而文件中显示的时候,实际上先得到0A再得到FF,如果不更改顺序使用是错误的,而一般语言都将这一切作为了规范,默认执行,对用户基本透明)这就造成了数据被读取后要反转每一个字节,才能恢复正常的数据位顺序,从而习惯人们从左到右的处理顺序(这一处理顺序,作为人们思想的延续体现在了所有的编程语言中)。Java推翻了这一惯例(1.不知是不是Java先这么做的;2.在Java 5之前,这一点一直容易为coder所忽视,即使5之后,忽视的几率也没有太大的变化),Java一开始,就采取符合人们思维习惯的方式存取底层数据,即数据位的存取始终遵循从左边开始到右结束,尽管这一突破有其相当积极的应用,然而在大多数编程语言仍旧保持旧有的惯例的情况下,这却成为了Java处理外来程序数据时,可能存在的致命问题,为此,Java 5开始推出的Integer的reverseBytes方法,,以及一开始就有的Float的intBitsToFloat和floatToIntBits方法,就很好地处理了这一情况。Java作为高级语言中面向对象的典范,遵循简单、回归自然的哲学理念,对于能够简单的思维决不复杂,能够不知道的绝对不要知道,这正是它诱人的地方。
Java 中判断文件末尾
以其他语言为例子,C/C++/VB,多以EOF判断文件最后一个标志位的字节或字符的整型值为-1,通过判断确定是否到达文件尾,java中也可以这样,但并不一定才用这种方法。
1. 主要的File类,IO类的方法,遇到文件末尾都会自动抛出EOFException异常,通过处理异常,就能很方便的判断文件末尾并进行相关操作。
2. InputStream中提供的available方法,用于判断下一次读取调用不被阻塞之前可以读取的字节数,但该方法由子类实现,可调用其子类。
分享到:
相关推荐
JAVA中SQLlite数据库BLOB数据类型的存取.docx
java中sqllite数据库blob数据类型的存取.docx
我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的结构简单,占内存小且存取速度快等优点,Java依然提供了对这些非面向对象的简单数据类型的支持。当然,Java在提供大量的其它类时,也...
java 数据库中图片文件的存取 java 数据库中图片文件的存取 java 数据库中图片文件的存取
Javacard密码功能和数据的存取适用于初学智能卡应用的开发者,该demo主要展示了密码的初始化、修改;文件的构建、大数据记录的存取
java存取oracle中的COLB类型数据.docx
运用Java如何存取Oracle中的CLOB类型字段
java存取oracle中的COLB类型数据.pdf
java 存存blog数据源代码,有需要的朋友可以下载,很好的例子
主要介绍了Java实现用Mysql存取图片操作实例,本文讲解了使用BLOB类型保存和读取图片的代码实例,需要的朋友可以参考下
JAVA存取资料库JAVA存取资料库
java 银行自动存取一体机 java 银行自动存取一体机
Android的SQLite中DateTime类型数据的存取问题
基于SQL Server的Image数据类型存取技巧.pdf
特殊数据类型处理——存取数据库中的图片126k
PB中用OLE存取blob类型数据PB中用OLE存取blob类型数据PB中用OLE存取blob类型数据PB中用OLE存取blob类型数据PB中用OLE存取blob类型数据PB中用OLE存取blob类型数据PB中用OLE存取blob类型数据PB中用OLE存取blob类型数据
java对blob的存取.pdf
使用JAVA编程语言,对ATM存取款,查询功能的简单实现。