摘要: 序列化:内存中的Java对象二进制流目的:a)有时候需要把对象存储到外部存储器中持久化保存,b)还有时候,需要把对象通过网络传输。可序列化的对象,Java要求可序列化的类实现下面两个接口之一。——Serializable:接口只是一个标记性的接口,实现该接口无需实现任何方法;——Externalizable实现该接口需要实现方法。序列化的IO流:ObjectInputStream ——负责从二进制流“恢复”对象-->从文件中提取对象;ObjectOutputStream ——负责将内存中的对象写入磁盘举例说明1(注意:一定要实现Serializable接口):public class T 阅读全文
posted @ 2013-11-11 20:33 JAVE_LOVER 阅读(243) 评论(0) 推荐(0)
摘要: 今天接着昨天的IO流讲,内容可能会比较多。DataInputStream与DataOutputStream它们是建立在已有的IO的基础上的两个特殊的过滤流。规律:它们只是增加了一些特定的方法读取特定的数据。举例说明1:public class Test { public static void main(String[] args) { DataOutputStream dos = null; try { dos = new DataOutputStream(new FileOutputStream("F:/price.txt")); dos.writeDouble(243 阅读全文
posted @ 2013-11-08 22:29 JAVE_LOVER 阅读(134) 评论(0) 推荐(0)
摘要: IO流我们知道应用程序运行时数据是保存在内存中的,但由于内存中的数据不可持久保存(如断电或程序退出时数据会丢失),因此需要一种手段将数据写入硬盘或读入内存。面向IO流编程就是一种很好的选择。IO:Input/Output 完成输入输出,所谓输入:是指将外部存储器把数据读入内存,而输出:是指将内存中的数据写入外部存储器(如硬盘、磁盘、U盘)中。File:代表磁盘上的文件或目录。它的特征是只能盘问磁盘上的文件和目录,但无法访问文件内容,必须使用IO流。举例说明1(遍历根目录):public class FileTest { public static void main(String[] args 阅读全文
posted @ 2013-11-07 22:44 JAVE_LOVER 阅读(179) 评论(0) 推荐(0)
摘要: 异常处理机制用来保障我们的程序更加健壮,无论用户怎么操作,都能保证我们的程序都能正常应对的一种处理机制。一般格式如下:try{ // 尝试让它执行业务处理,如果可以执行完成,就代表一切正常。 // 业务处理 }catch(异常1 e1){ // 进行异常1处理 }catch(异常2 e2){ // 进行异常2处理 }举例说明1:public class Test { public static void main(String[] args) { try { Double d1 = Double.parseDouble(args[0]); Double d2 = Double.par... 阅读全文
posted @ 2013-11-06 14:52 JAVE_LOVER 阅读(177) 评论(0) 推荐(0)
摘要: 今天接着上次的来讲,主要谈谈Map。下面先看一张图:Map里面存的东西是:每个数据项都是key-value对组成。假如我们把value当成是key的“附属物”,Map存储key-value对时,只要考虑key的存储即可,key存储之后,value跟着key即可。再进一步:如果只管Map里面的key,并把所有的key收集起来 ----- 就变成了Set。所以Map与Set是一一对应的。通过查看源码我们可以发现,HashSet底层是由HashMap实现的。HashMap会根据key的hashCode()方法的返回值来计算key的存、取位置。HashMap怎样才算两个key重复?a)通过equals 阅读全文
posted @ 2013-11-05 16:27 JAVE_LOVER 阅读(267) 评论(0) 推荐(0)
摘要: Java集合 有时也将集合称为容器类,它的作用就是用来“装对象”的。这里要注意的是集合也可以是对象。下面先看一张图:HashSet:底层用一个数组存元素 --而且这个数组的长度永远是2的N次方。HashSet底层就是HashMap实现的。HashSet的构造器:HashSet(int initialCapacity, float loadFactor)--initialCapacity:控制底层数组的长度。如果传入数组长度不是2的N次方,HashSet会自动扩展到2的N次方。--loadFactory:当HashSet感觉到底层数组快满时,它会再次创建一个长度是原来数组长度2倍的数组。原有的数 阅读全文
posted @ 2013-09-29 18:57 JAVE_LOVER 阅读(233) 评论(0) 推荐(0)
摘要: 首先向大家道个歉,前面3天由于在忙着写项目说明文档,所以耽误了一下。今天借着中午这段时间把前面的补回来。话不多说,下面步入正题吧!Jar命令:jar可以把多个文件打包成一个压缩包,得到的压缩包通常有3种:1)*.jar -它里面包含N个class文件。2)*.war(Web) -它是一个Web应用打包生成的包。3)*.ear(Enterprise) -它是一个企业应用打包生成的包。这里我们学习时常用的*.jar这种方法。在运行命令窗口输入jar我们可以看到jar命令的如下参数选项:举例说明几个常用的:命令:jar -cvf test.jar *.class //为新创建的jar包取名为test 阅读全文
posted @ 2013-09-28 14:19 JAVE_LOVER 阅读(321) 评论(0) 推荐(0)
摘要: 抽象类、接口常常与设计模式紧密相连。掌握抽象类、接口等其实很简单。下面以说明+实例的方式来讲,这样更容易理解。抽象类先看一个关键字“abstract”,我们知道它是抽象的意思。所谓抽象,说的直白一点就是同一件事情,有不同的实现。比如呼吸这个动作,人需要肺呼吸,而鱼需要鳃呼吸。代码实现如下:abstract class CommonMode{ abstract void breathe(String name); }class Fish extends CommonMode{ @Override void breathe(String name) { System.out.println(&qu 阅读全文
posted @ 2013-09-24 16:00 JAVE_LOVER 阅读(175) 评论(0) 推荐(0)
摘要: 今天内容比较多,直接步入正题吧。类和对象的定义类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。而对象是具有类类型的变量,存在于堆内存中。类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。定义一个类语法格式[修饰符] class 类名{ //可以有属性、方法、构造方法、初始化块、枚举类、内部类等。。}注意:类的修饰符可以省略(必须在同一个包里,下面会讲到),还可以是:public,final(不能被继承),abstract(不能创建实例,但增加了一个可以包含抽象方法的功能)。类名必须是多个有意义的单词(首字母大写. 阅读全文
posted @ 2013-09-23 15:40 JAVE_LOVER 阅读(213) 评论(0) 推荐(0)
摘要: 梭罗说:“从圆到圆心有多少条半径,人们的生活方式也应该有这么多。” 同样学习也是如此,学习的渠道有很多种,但能找适合比较适合自己的却不是一件简单的事。比如说有的人喜欢看书,从书中学到一些自己感兴趣的东西。当然有时也迫于无赖,必须得学一些比较枯燥的理论,这就造成了有些人喜欢读书,有些人对读书比较厌倦,大学里的这种现象比较常见。记得中国达人秀的舞台有一个叫卓君的街舞达人,他是通过上网看视频自学的街舞。街舞跳的那么好,悟性是一方面,但坚持练习肯定必不可少。虽然本人没有学过街舞,但是我觉得编程和街舞还是有相似之处的,每一个动作好比是是一个方法或者称函数,那么连贯起来的一整套动作便是我们的程序。尽管动. 阅读全文
posted @ 2013-09-22 22:16 JAVE_LOVER 阅读(198) 评论(0) 推荐(0)