- 博客(13)
- 资源 (9)
- 收藏
- 关注
原创 Java的IO操作(二) - 带缓冲区的流对象、写入基本数据类型、实现命令行中的copy命令
在上一节中,我们使用FileInputStream类和FileOutputStream类来实现了一个可以自由拷贝文件的功能。为了提高效率,我们人为地定义一个缓冲区byte[] 数组。其实,我们可以使用BufferedInputStream类和BufferedOutputStream类来重写这个功能。5、BufferedInputStream、BufferedOutputStream
2013-03-30 11:26:57 3494 2
原创 Java的IO操作(一) - File类,RandomAccessFile类,FileInputStream、FileOutputStream类
在Java中,所有的输入、输出问题都会被抽象成流(Stream)对象来解决。下面介绍一下常用的输入、输出流对象的使用方法。1、 File类File类是文件的抽象代表。一个文件(包括目录)就是一个File类的实例。java.io.File类为我们提供了一个抽象的、系统独立的文件表示,我们不必纠结于因为不同的操作系统文件路径的表示方法不同而造成的差异,File会将传进去的路径自动转换为
2013-03-28 20:28:01 5332
原创 Java对泛型的支持(二)- 高级语法
JAVA中基本的泛型语法元素大致有三种:限制泛型可用类型、使得类型通配符,以及泛型的继承。下面将分别对这三种语法进行介绍。1、限制泛型可用类型我们在定义泛型类时,默认的是可以使用任何类型来实例化泛型类中的类型持有者。我们也可以指定某种类型,使得此泛型类只能通过这种类型或其子类,或实现这个接口的类来实例化类型持有者。我们在定义类型持有者时,使用extends关键字来进行限制,例如
2013-03-27 14:10:05 2489
原创 Java对泛型的支持(一) - 基本语法
题外话:前几天我的笔记本电脑硬盘坏了,本子送到售后进行维修,需要2到3个工作日才能搞定。。现在木有本本用了,无奈就借了女朋友的本子先用着了。。现装的JDK,UltraEdit。。所以下面的图片中编译器的报错信息就变成了中文。。哎,脆弱的硬盘啊。。。Java在J2SE 5.0后开始增加了泛型(Generics)功能,并且许多API都根据这个新的功能被重新改写了,例如List、Map、Se
2013-03-25 21:48:02 2510 2
原创 对象容器 - Java对数据结构的封装 - List, ArrayList, LinkedList, Set, SortedSet, HashSet, Map, TreeMap
在实际编程当中,很多时候我们要把数据暂时储存起来,以便实现某种特定的功能。在纯C语言中,我们需要自己去实现一个数据结构(如链表、队列等)来进行元素的存取,不仅繁琐,而且效率也不高(类库对数据结构的封装往往都是优化过的,有着较好的性能)。在Java中,我们可以使用对象容器(Container)来方便地存取数据。1、List接口(List interface)List接口是java.u
2013-03-22 11:23:43 3176
原创 Java的异常处理
Java的异常处理机制可以帮助我们避开或者处理程序可能发生的错误,从而使得程序在遇到一些可恢复的错误的时候不会意外终止,而是去处理这些错误,也使得我们在写程序的时候不必写大量的代码来检查错误情况,增强了代码的可读性和逻辑性。在Java中,异常代表一个错误的实体对象。异常可分为两类;一类是严重错误,如硬件错误、内存不足等,它们对应着java.lang包下的Error类及其子类。通常这类错
2013-03-21 16:23:05 1763 1
原创 管理Java类文件
在java中,每一个定义好的类,在编译的时候,都会对应地产生一个.class文件。如果程序的规模越来越大,那么类文件也会越来越多,管理起来也会越来越麻烦,很容易发生命名的冲突。因此,java中引入了"包"(package)的概念。一、内部类在类中还可以再定义类,这种类叫做内部类(Inner Class)。使用内部类主要有三个好处:一是可以任意地访问对应的外部类的私有(private
2013-03-20 20:29:33 1735
原创 Java中的多态
多态,是面向对象的程序设计语言最核心的特征。封装性、继承性都比较简单,所以这里只对多态做一个小小的笔记。。。1、什么是多态?多态意味着一个对象可以多重特征,可以在特定的情况下,表现出不同的状态,从而应对不同的属性和方法。在Java中,多态的实现指的是使用同一个实现接口,以实现不同的对象实例。例如,我们定义一个Parent类,再定义一个getName()方法返回一个字符串,定义一
2013-03-18 23:19:32 3278
原创 Java中的字符串
字符串的本质是char类型的数组,但在java中,所有用双引号""声明的字符串都是一个String类的对象。这也正体现了Java完全面向对象的语言特点。String 类1、String类对象表示的是一个常量字符串。它是不可变长度的。也就是说,一旦创建了一个String类的实例,那么这个实例所表示的串是不可改变的。类似于str = str + "Hello";这样的操作,实质上是
2013-03-18 19:31:56 1739
转载 C#, C++, Java性能对比
C# vs C++ vs Java性能对比C#, Java 和C++对比性能常常是引发争议的一个话题。那些不熟悉JIT的人常常声称JIT上运行的任何程序跟C++比速度都不行。而那些使用Java和C#的人则常常声称性能差别甚小,几乎可以忽略不计。这里有一个测试对比结果图,来自freenode IRC服务器,不知道谁测试的,但是结果似乎很真实。对于我来说,因为性能原因选择C++似乎
2013-03-16 20:47:50 8019 1
转载 Java性能优化技巧
Java性能优化技巧参考了些书籍,网络资源整理出来,适合于大多数Java应用在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。1.尽量使用final修饰符。带有final修饰符的类是不可派生的。在JAVA核心API中,有许多应用final的例子,例如java.lang.String。为Strin
2013-03-15 17:06:51 1202
原创 Java - 简易记事本
没有自己以前用Windows API写的好看了。。。JDK Version : 1.7.0Source Code :import java.io.*;import java.awt.*;import java.awt.event.*;/** * The Main Window * @author Neo Smith */class Pad
2013-03-15 09:24:45 1680
原创 Java中对象的销毁
Java中的基本数据类型变量和对象的名称引用变量如定义在方法中,都为局部变量。但对象本身不一定是局部生命周期。如函数外存在其他对该对象的引用变量,则该对象的生命周期延伸至该其他引用变量所在的块。如从被调用函数参数引用传值或返回值到主调用函数所在的对象类型变量中,则该对象都仍存在(但被调用函数的该对象的引用变量生命周期结束,因此引用变量是局部变量),此时对象突破了局部变量的局部生命期。
2013-03-05 14:43:15 2689
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人