文章列表
序列化和反序列化
序列化:将对象当前状态转换为字节序列,并通过输出流存储或传输的过程
作用:将对象转换成输出流,永久保存或传输
条件:被序列化的对象的类,实现Serializable接口或Externalizable接口实例一:
package serializable.s1;
import java.io.Serializable;
/**
* 用于创建被序列化对象的类
* @author 学霸联盟 - 赵灿
*/
public class Son implements Serializable {
// 年龄
public int age;
// 颜值
public in ...
- 2015-08-15 17:32
- 浏览 279
- 评论(0)
递归
是指某个方法在自己的方法体内直接或间接的调用自己。作用和嵌套循环有些类似,很多地方可以互换使用;但在有些问题上只能使用递归实现;例如:扫描某个文件夹下的所有Java文件,包括子文件夹下的Java文件。此时并 ...
- 2015-08-14 20:09
- 浏览 275
- 评论(0)
文件类
常用方法
方法名称
说 明
File (String pathname)
创建文件对象
boolean exists( )
判断文件或目录是否存在
boolean isFile( )
判断是文件还是目录
boolean isDirectory( )
判断是文件还是目录
String getName( )
返回文件名或目录名
String getPath( )
返回文件或目录的路径
long length( ) ...
- 2015-08-14 17:21
- 浏览 246
- 评论(0)
字符输入流Reader
常用方法
方法名称
说 明
int read( )
读取一个字符并返回,返回值=-1表示没有读取到任何字符,读取结束
int read(char c[ ])
从流中读取数据,直至流读完或存满数组c,返回值是读取的字符 ...
- 2015-08-14 17:20
- 浏览 310
- 评论(0)
流
流:从输入/输出源到目标之间的有序数据
a)比如水流、电流、气流;计算机中流的本质是脉冲电流。
b)为进行数据的输入/输出操作,Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream)
c)Stream是从起源(source)到接收(sink)的有序数据
d)java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能
流的分类
根据处理的单位不同分为:字节流和字符流根据流向不同分为:输入流和输出流根据作用不同分为:转换流和包装流(初学者了解即可)
节点流:是可以从一个特定的数据源(节点)读写数据的流(例如文件,内存)。 ...
- 2015-08-14 16:43
- 浏览 461
- 评论(0)
线程死锁
是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的线程 ...
- 2015-08-13 13:58
- 浏览 428
- 评论(0)
线程的同步
指当多个线程使用同一对象中被同步的资源时,要根据“先来后到”的顺序使用。举个例子:现在只有一台电脑,现在有两个人A和B想玩游戏,一个人C想写代码,一个人D想听音乐。此时A、B、C三个人要抢这台电脑,谁先抢到谁用,用完了后面两个人在接着抢,谁抢到谁用。而D则不用,在另外三个人中任意一个人正在使用的时候,都可以播放音乐给他听;由此可以看出玩游戏和写代码的功能(方法)是要有“先来后到”的顺序的,而听音乐这个功能不需要。所以玩游戏和写代码的方法就是需要被同步的,而听音乐就不需要同步同步使用关键字synchronized实现同步方法:[访问修饰符] synchronized 返回值类型 方法 ...
- 2015-08-13 13:43
- 浏览 263
- 评论(0)
线程
线程和进程
进程:系统运行程序的最小单位;一个进程最少有一个线程
线程:程序执行任务的最小单位;线程与线程之间并行一个进程至少有一个线程,在java中这个线程称为主线程,由系统创建,运行main方法。这样只有一个线程的程序也被称为单线程程序。主线程从程序入口main方法开始执行代码,执行任意方法中的代码都是按照自上而下的顺序执行的,如果只有一个主线程,又想实现在线听音乐这个功能的话,就很难实现。因为主线程必须先去下载音乐;下载完成后,在执行播放音乐;这显然不能满足当今人们对在线听音乐的需求。所以现在的程序都是多线程的,就在线听音乐这个功能而言,可以在main方法中创建一个线程负责下载 ...
- 2015-08-13 13:28
- 浏览 256
- 评论(0)
异常
程序中不正常的情况分为两大类:错误(Error)和异常(Exception)
错误(Error):程序本身无法对这种不正常的情况进行处理,将会导致程序崩溃;例如:内存耗尽错误,JVM崩溃错误等
异常(Exception):程序可以特殊的代码,对不正常的情况进行捕获和处理,程序可以继续运行;例如:除零异常,空指针异常,数组下标越界异常
捕获异常
语法格式1:
try{
//可能出现异常的代码
}catch(异常类 变量名){
//出现异常后的处理代码
//printStackTrace();方法会输出栈内存中的异常信息
变量名. printStackTra ...
- 2015-08-12 17:17
- 浏览 257
- 评论(0)
数据结构之单向链表
例如:现有双向链表OneWayLinked中存储着1,2,3,4四个元素,那么集合对象中会有4个节点A、B、C、D,由上述结构可以知道,节点A中存储着元素1和节点B;节点B中存储着元素2和节点C,节点C中存储着元素3和节 ...
- 2015-08-12 17:03
- 浏览 220
- 评论(0)
数据结构之双向链表
例如:现有双向链表TwoWayLinked中存储着1,2,3,4四个元素,那么集合对象中会有4个节点A、B、C、D,由上述结构可以知道,节点A中存储着元素1和节点B;节点B中存储着元素2和节点A和节点C,节点C中存储着元素3和节点B和节点D,节点D中存储着元素4和节点C。如果现在要在元素2和3中间插入一个元素5;
过程如下:
1、创建节点E,E中存储元素5
2、将E中的上一个节点赋值为节点B
3、将B中的下一个节点修改为节点E
4、将E中的下一个节点赋值为节点C
5、将C中的上一个节点修改为节点E
从上述过程看,插入时没有节点位置移动的操作,所以效率比较高;删 ...
- 2015-08-12 16:54
- 浏览 271
- 评论(0)
Collection接口
Collection接口是List和Set接口的父接口,其中主要定义了一些集合基本操作的方法,包括与Iterator之间的关系List extends CollectionArrayList implements ListLinkedList implements ListVector implements ListSet extends CollectionHashSet implements SetSortedSet extends SetTreeSet implements SortedSetMap接口HashMap implements MapSortedMa ...
- 2015-08-12 16:50
- 浏览 277
- 评论(0)
泛型集合
泛型集合不是指某种集合,而是指在集合的基础上增加了泛型。
泛型集合中,一旦传入了泛型参数“类A”;则只能向这个集合中添加类A或类A子类的对象,不能添加其他对象了。
从泛型集合中获取对象时,对象的类型是类A,而不是Object类型的对象了。
泛型List
例如:上面说到的两种List集合,都可以加入泛型package collection.list.arrayList;
import java.util.ArrayList;
import java.util.List;
/**
* 演示泛型集合的使用
* @author 学霸联盟 - 赵灿
*/
public class ...
- 2015-08-12 16:40
- 浏览 209
- 评论(0)
Map接口
Map集合采用键值对(key-value)的方式存储数据,其中键不可以重复、值可以重复。
常用类有HashMap、TreeMap和Properties
HashMap类
假如,现在我有一个集合,集合中存储着一批WiFi的名称和密码,现在要求通过名称快速找到密 ...
- 2015-08-12 16:29
- 浏览 263
- 评论(0)
Set接口
Set集合是无序的、元素不可重复的结合
常用集合类有HashSet和TreeSetHashSet类常用的两种List集合各有各的优点,那么有没有同时具备这两种List集合的优点的集合呢?答案是肯定的,就是Set集合。实例:
package collection.set.hashSet;
import java.util.HashSet;
import java.util.Iterator;
/**
* 演示HashSet
* @author 学霸联盟 - 赵灿
*/
public class HashSetDemo {
public static void main(St ...
- 2015-08-12 16:08
- 浏览 313
- 评论(0)