<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
transient关键字 java有个特点就是序列化,简单地来说就是可以将这个类存储在物理空间(当然还是以文件的形式存在),那么当你从本地还原这个文件时,你可以将它转换为它本身。这可以极大地方便网络上的一些操作,但同时,因为涉及到安全问题,所以并不希望把类里面所有的东西都能存储(因为那样,别人可以通过序列化知道类里面的内容),那么我们就可以用上transient这个关键字,它的意思是临时的,即不会随类一起序列化到本地,所以当还原后,这个关键字定义的变量也就不再存在。 例如Java D:/jdk1.5.0/src/java/io源码包中File类的实现里把prefixLength变量定义为临时变量: /** * The length of this abstract pathname's prefix, or zero if it has no * prefix. */ private transient int prefixLength; |
我们查看D:/jdk1.5.0/src/java/io源码包中DataOutputStream的实现可以看到: public final void writeShort(int v) throws IOException { out.write((v >>> 8) & 0xFF); out.write((v >>> 0) & 0xFF); incCount(2); } public final void writeInt(int v) throws IOException { out.write((v >>> 24) & 0xFF); out.write((v >>> 16) & 0xFF); out.write((v >>> 8) & 0xFF); out.write((v >>> 0) & 0xFF); incCount(4); } public final void writeLong(long v) throws IOException { writeBuffer[0] = (byte)(v >>> 56); writeBuffer[1] = (byte)(v >>> 48); writeBuffer[2] = (byte)(v >>> 40); writeBuffer[3] = (byte)(v >>> 32); writeBuffer[4] = (byte)(v >>> 24); writeBuffer[5] = (byte)(v >>> 16); writeBuffer[6] = (byte)(v >>> 8); writeBuffer[7] = (byte)(v >>> 0); out.write(writeBuffer, 0, 8); incCount(8); } public final void writeChar(int v) throws IOException { out.write((v >>> 8) & 0xFF); out.write((v >>> 0) & 0xFF); incCount(2); } 可以看到,这个类的writeChar()方法占用两个字节,因为Java是Unicode的。如果是和java服务器进行通讯,那么不会有任何问题。但如果是和C/C++服务器进行通讯,那么就很容易出现问题。而且这个类里面的long类型是写入8个字节,所以,如果你的服务器不是用java写的,最好不要调用这个类里的方法进行通讯。 |
分享到:
相关推荐
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
java解析PDF格式的文件demo。JAVA实现PDF解析,对PDF文件中的文本内容可输出仅供参考学习,不喜勿喷。
校招Java面试点解析校招Java面试点解析校招Java面试点解析校招Java面试点解析
在学习JAVA的过程中,我们会遇到很多疑惑,这个资料里给出了很多我们会想当然的一些一些问题,总共总结了95个常见的疑惑,并且在讲解这些疑惑时先通过一些小故事然后编程举例引出来,很有趣味,一点都不会觉得枯燥。
java 解析 json文件java 解析 json文件java 解析 json文件java 解析 json文件java 解析 json文件
java socket源码解析 java socket源码解析 java socket源码解析 java socket源码解析
支持解析sql的正确性,可以解析出sql 的列名,表名,别名,条件等,非常好用
Java表达式语法解析库 parboiled
项目的一部分,格点预报,解析nc文件
Java Spring 源码解析 Xmind 思维导图。 Spring源码解析Xmind思维导图,阅读spring源码之后整理的。包括源码流程、时序图、bean生命周期等等总结 spring java
用JAVA解析DBC文件,考虑大小端,生成文件内容跟Vector CANDB++相同。
一个简单的分析工具,用于分析”.class/.cap/.exp”格式的Java文件。 对于CAP文件,支持version 2.1 and 2.2. 适用于JCVM的学习。 使用工具时,需保证“C:\Program Files\WinZip\WINZIP32.EXE”存在,用于解压CAP...
java对mht文件解析,并实现内容的抓取
使用java实现对图片的解析,识别和获取图片中的文字、数字
解析javadom解析javadom解析javadom解析javadom解析
用Java写的Cron表达式解析, Java swing编写的简洁界面,表达式到界面,界面到表达式,实现双重解析
java解析图片验证码
java实现xml解析word文档代码实现,通过解析word书签实现java动态写入word文档。方便使用。
java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件
主要介绍了使用Java实现DNS域名解析的简单示例,包括对一个动态IP主机的域名解析例子,需要的朋友可以参考下