thinking in java(VIII)--containers,exceptions,I/O,RTTI

来源:互联网 发布:假人秒进群qq数据 编辑:程序博客网 时间:2024/06/06 01:48
对象群的最高效能选择依然是传统的array
处于效率考量,java会在运行期进行边界检查
容器类仅能持有reference,持有对象均为object类别,这里有一个缺憾,即容器中元素的型别未定
而array可以产生直接持有基本型别数值的array,因而array分为primitive array和object array
collection表示一组各自独立的元素,map表示一群成对的key-value对象,两者的继承体系下各自有多种具体实现形式
容器内元素大小的比较可以通过实现comparable或者comparator完成
至于vector。。。不推荐使用




Java的基本哲学:结构不佳的程序无法执行
因而有了java的异常机制
异常对象的型别和其内含信息被用来表示错误的相关信息
Java中的exception均采用termination机制,即一旦产生异常即终止整个程序
撰写自己的异常类一定得继承自某个既有的异常型别


总体而言,感觉Java的I/O有些过于复杂而让人蛋疼了。。。
就写一写一些典型运用吧
1.具备缓冲功能的输入文件
  BufferedReader
2.从内存取得输入
  StringReader
3.从内存取得格式化输入
  DataInputStream
4.输出至文件
  PrintWriter
5.数据的存储和回复
  DataOutputStream




另外还有两个不错的功能:Serialization和Tokenizing


RTTI(run time type identification)
传统机制 假设你在编译期和执行期拥有所有型别信息
reflection机制允许你在执行期间找出和class相关的信息
原创粉丝点击