第八章 JAVA集合
第一节:Java集合的引入
数组的长度是固定,不能根据我们的需求自动变长或者变短。所以就引入了可变化长度的集合。
第二节:List集合
List集合里的元素是可以重复的。List接口的主要实现类有ArrayList,和LinkedList。
在数据量不大的情况下,这两个类性能差别不大,一般情况下,集合里的元素很少变化的,一般用ArrayList,
1. 数据量较大时在随机查询方面,ArrayList比较优秀,在ArrayList中进行随机访问所消耗的时间是固定的,而LinkedList是不支持快速的随机访问的。
2. 假如有一个列表,要对其进行大量的插入和删除操作,在这种情况下LinkedList就是一个较好的选择。
当一个元素被加到ArrayList的最开端时,所有已经存在的元素都会后移,这就意味着数据移动和复制上的开销。相反的,将一个元素加到LinkedList的最开端只是简单的为这个元素分配一个记录,然后调整两个连接。
参考: http://pengcqu.iteye.com/blog/502676
第三节:集合的遍历

/** * 用Iterator遍历集合 */ Iterator<Student> it=list.iterator(); // 返回一个迭代器 while(it.hasNext()){ Student s=it.next(); // 返回迭代的下一个元素。 System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge()); } /** * 用foreach遍历 */ for(Student s:list){ System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge()); }
第四节:Set集合
Set集合是Collection接口的子接口,没有对Collection接口进行扩展,里面不允许存在重复的内容;HashSet--无序,不重复。
第五节:Map集合
HashMap
第九章 JAVA多线程
第一节:Java多线程的引入
第二节:Java多线程的实现
1,继承Thread类
2,实现Runnable接口
3,多线程实现数据共享
http://blog.java1234.com/blog/articles/230.html
第三节:线程状态
第四节:线程常用方法
1,getName(); 返回该线程的名称。
2,currentThread();返回对当前正在执行的线程对象的引用。
3,isAlive();测试线程是否处于活动状态。
4,sleep();线程休眠。
5,setPriority(int newPriority);更改线程的优先级。
6,yield();暂停当前正在执行的线程对象,并执行其他线程。
http://blog.java1234.com/blog/articles/232.html
第五节:线程同步
可以给方法加同步,也可以用同步块:
http://blog.java1234.com/blog/articles/233.html
第十章 JAVA IO流
第一节:IO流简介
IO 流的分类
根据处理数据类型的不同分为:字符流和字节流
根据数据流向不同分为:输入流和输出流
第二节:文件操作 File类
1,public boolean mkdir() 创建此抽象路径名指定的目录。
2,public boolean createNewFile() 创建一个文件
3,public boolean delete() 删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则该目录必须为空才能删除。
4,public boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
5,public File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
6,public boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
http://blog.java1234.com/blog/articles/235.html
File file=
new
File(
"C://apache-tomcat-7.0.63"
);...运行输出:C:\apache-tomcat-7.0.63
系统中的路径都是“\”, 在java中需要转义“\\”, 如果写成“//”或者“/”也没问题(本人验证过)。
第三节:InputStream和OutputStream
InputStream输入流可以把文件从硬盘读取到内存;
OutputStream输出流可以把文件从内存写入到硬盘;文件操作方面用的是FileInputStream和FileOutputStream;
http://blog.java1234.com/blog/articles/237.html
第四节:BufferedInputStream和BufferedOutputStream
带缓冲的输入和输出流;缓冲的概念,就是在A,B之间建立内存缓冲区,读取得快,就先放缓冲区,然后再从缓冲区写入指定目标,和没有缓冲比,效率快很多。

public class Demo01 { /** * 缓冲方式 * @throws Exception */ public static void bufferStream()throws Exception{ BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("c://《一头扎进J2SE》V2.0视频笔录2.doc")); BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("c://复制的《一头扎进J2SE》V2.0视频笔录2.doc")); int b=0; long startTime=System.currentTimeMillis(); while((b=bufferedInputStream.read())!=-1){ bufferedOutputStream.write(b); } bufferedInputStream.close(); bufferedOutputStream.close(); long endTime=System.currentTimeMillis(); System.out.println("缓冲方式话费的时间:"+(endTime-startTime)); } /** * 非缓冲方式 * @throws Exception */ public static void stream()throws Exception{ InputStream inputStream=new FileInputStream("c://《一头扎进J2SE》V2.0视频笔录.doc"); OutputStream outputStream=new FileOutputStream("c://复制的《一头扎进J2SE》V2.0视频笔录.doc"); int b=0; long startTime=System.currentTimeMillis(); while((b=inputStream.read())!=-1){ outputStream.write(b); } inputStream.close(); outputStream.close(); long endTime=System.currentTimeMillis(); System.out.println("非缓冲方式话费的时间:"+(endTime-startTime)); } public static void main(String[] args) throws Exception { //stream(); bufferStream(); } }
第五节:Reader和 Writer
主要用于文本的读取和写入,一般使用的实现类是FileReader和FileWriter;
http://blog.java1234.com/blog/articles/239.html
第十一章 JAVA debug断点调试
第一节:断点调试的重要性
第二节:eclipse debug使用基本操作
第三节:常见调试 F6 单步 F8完成 F5进入方法
第四节:ctrl+shift+i 查看表示式值
第五节:运行时动态修改变量值
http://blog.java1234.com/blog/articles/245.html