java第六周学习总结

学号20145336 《Java程序设计》第五周学习总结

教材学习内容总结

第十章 输入与输出

InputStream与OutputStream

  • java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。从程序角度来看,如果将数据从来源中取出,可以使用输入串流,如果将数据写入目的地可以使用输出串流。在java中,输入串流对象为java.io.InputStream实例,输出串流对象为java.io.OutputStream实例。流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的。
  • read和write:每次从InputStream读入的数据,都会先植入byte数组中。InputSream的read()方法每次都会尝试读byte数组长度的数据,并返回实际读入的字节,只要不是-1,就代表读取到数据。剋使用OutputStream的write()方法,指定要写出的byte数组、出事索引与数据长度。
  • 标准输入输出 :System.in和System.out分别代表标准输入和标准输出。可以使用System的setIn()方法指定InputStream实例,重新制定标准输入来源。标准输出可以重新导向至文档,只要执行程序是使用>将输出结果导向至指定的文档。若hello类执行了System.out.println("HelloWorld"):>java hello>Hello.txt System.in: 标准输入,默认关联到键盘(终端输入) System.out: 标准输出,默认关联到显示器(终端输出) System.err: 标准错误,默认关联到显示器(终端输出) 输入输出重定向:setIn,setOut,setErr
  • 装饰器类:InputStream、OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类。常用的打包器具备缓冲区作用的BufferedOutputStream、BufferedInputStream,具备数据转换处理的DataInputStream、DataOutputStream,具备对象串行化能力的ObjectInputStream、ObjectOutputStream等。 (1)BufferedInputStream与BufferedOutputStream •BufferedInputStream与BufferedOutputStream主要在内部提供缓冲区功能,操作上与InputStream、OutputStream并没有太大区别。 (2)DataInputStream与DataOutputStream •DataInputStream、DataOutputStream用来装饰InputStream、OutputStream,DataInputStream、DataOutputStream,提供读取、写入Java基本数据类型的方法,像是读写int、double、boolean等的方法。(3)ObjectInputStream与ObjectOutputStream •ObjectInputStream提供readObject()方法将数据读入为对象,而ObjectOutputStream提供writeObject()方法将对象写至目的地。可以被这两个方法处理的对象,必须操作java.io.Serializable接口,这个接口并没有定义任何方法,只是作为标示之用,表示这个对象是可以串行化的。

第十一章 线程与并行API

  • 线程:到目前为止介绍过的各种范例都是单线程程序,也就是启动的程序从main()程序进入点开始至结束只有一个流程。有时候还需要设计程序可以拥有多个程序,也就是所谓的多线程程序。 要让目前的流程暂停时间,可以使用java.lang.Thread的静态sleep()方法,指定的单位是毫秒,调用这个方法必须处理java.lang.InterruptedException。 如果想在main()之外独立设计流程,可以撰写java.lang.Runnable接口,流程的进入点是操作run()方法。从main()开始的流程会由主程序执行,可以创建Thread实例来执行Runnable实例定义的rin()方法,要启动线程执行指定的线程,必须调用Thread实例的start()方法。 如果主线程中启动了额外线程,默认会等待被启动的所有线程都执行完run()方法才终止JVM,如果一个Thread被标示为Daemon线程,在所有的非Daemon线程都结束时,JVM就会终止。 每个线程都属于某个线程群组,如果没有指定,则归入产生该子线程的线程群组,也可以自行指定线程群组,线程一旦归入某个群组,就无法再更换。ThreadGroup的某些方法,可以对群组中所有线程产生作用。如果想要一次取得群组中所有线程,可以使用enumerate()方法。activeCount()方法取得群组的线程数量。
  • 并行API:使用Thread建立多线程程序,必须亲自处理synchornized、对象锁定、wait()、notify()、notifyAll()等细节,如果需要的是线程池、读写解锁高等级操作,从JDK5之后提供了java.util.concurrent,可基于其中的API建立更稳固的并行应用程序。并行API可以分为以下几个类:1.Lock、ReadWriter与Condition。2.使用Executor。3.并行Collection简介

代码调试中的问题和解决过程

本周代码托管截图:

学习进度条

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第一周 150/150 1/1 15/15  
第二周 150/400 1/2 15/30  
第三周 150/550 1/3 20/50  
第四周 150/700 1/4 16/56  
第五周 150/850 1/5 19/65
第六周 150/1000 2/7 23/88
时间: 2024-10-13 01:39:37

java第六周学习总结的相关文章

20165220 Java第六周学习总结

教材学习内容总结 正则表达式:正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式的元字符. 链表:由若干个称作结点的对象组成的一种数据结构,用于动态的减少或增加数据项. String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法.在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法. String对象:可以使用String类声明对象并创建对象,例如:St

20165318 2017-2018-2 《Java程序设计》第六周学习总结

20165318 2017-2018-2 <Java程序设计>第六周学习总结 教材内容学习总结 第八章 常用实用类 1.String类 String类用来处理字符序列,在java.lang包中,程序可以直接使用String类.需要注意的是Java把String类声明为final类,因此用户不能扩展String类,即String类不可以有子类. 常量对象:字符串常量对象是用双引号括起的字符序列,例如:"你好"."12.97"."boy"

2017-2018-2学期 20172324《Java程序设计》第六周学习总结

20172324<Java程序设计>第六周学习总结 教材学习内容总结 如何创建数组以及int[] X与int X[]的区别(编译时是没有差别的,只是前者与其他类型的声明方式有一致性) 每一个java数组都是一个迭代器. 数组是作为参数传递给一个方法的,实际上传递的是原始数组引用的副本. 对象数组(基本数据类型+对象) 二维数组中前一个索引值代表行,另一个索引值代表列. 可变长度参数用... 教材学习中的问题和解决过程 问题1: Family代码中String...name中的...是什么意思.

杨其菊201771010134《面向对象程序设计(java)》第六周学习总结

<面向对象程序设计(java)>第六周学习总结 第一部分:理论知识 1)类.超类和子类2)Object:所有类的超类 3)泛型数组列表4)对象包装器和自动打包 5)参数数量可变的方法 6)枚举类7)继承设计的技巧 第二部分:实验部分 继承定义与使用<代码测试和示例程序的注释> 1.实验目的与要求 (1) 理解继承的定义: (2) 掌握子类的定义要求 (3) 掌握多态性的概念及用法: (4) 掌握抽象类的定义及用途://不能创建自己的对象,特殊类 (5) 掌握类中4个成员访问权限修饰

杨玲 201771010133《面向对象程序设计(java)》第六周学习总结

杨玲 201771010133<面向对象程序设计(java)>第六周学习总结 第一部分:理论知识学习部分 1.继承 用已有类来构建新类的一种机制.新类可以继承父类的方法和域,同时可以在新类中添加新的方法和域. 已有类称为:超类.基类或父类.新类称作:子类.派生类或孩子类. 子类的构造器不能直接访问超类的私有域,必须通过调用超类构造器,而且必须是第一条语句.子类不能直接访问超类的私有域,必须和其它方法一样,使用公有接口. 在子类中可以增加域.增加方法或覆盖超类的方法,但绝对不能删除超类的任何域和

20172328 2018-2019《Java软件结构与数据结构》第六周学习总结

20172328 2018-2019<Java软件结构与数据结构>第六周学习总结 概述 Generalization 本周学习了第十章:非线性集合与数据结构--树.主要讨论了树的使用和实现,以及考察实现和使用树的实例. 教材学习内容总结 A summary of textbook 树(tree):树是一种非线性结构,其元素被组织成了一个层次结构.下面是树的术语,了解一下吧! 树有一个包含结点(node)和边(edge)的集构成,其中的元素被储存在这些结点中,边则将一个结点和另一个结点连接起来.

张季跃 201771010139《面向对象程序设计(java)》第十六周学习总结

张季跃 201771010139<面向对象程序设计(java)>第十六周学习总结 1.实验目的与要求 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程的优先级属性及调度方法: (4) 掌握线程同步的概念及实现技术: 2.实验内容和步骤 实验1:测试程序并进行代码注释. 测试程序1: l 在elipse IDE中调试运行ThreadTest,结合程序运行结果理解程序: l 掌握线程概念: l 掌握用Thread的扩展类实现线程的方法: l 利用Runnable接口

20175202 《Java程序设计》第六周学习总结

20175202 2018-2019-2 <Java程序设计>第六周学习总结 教材知识点总结 1.内部类: Java支持在一个类中定义另一个类,称作内部类,包含内部类的类叫做外嵌类. 内部类的外嵌类的成员变量在内部类中仍然有效,内部类也可以调用其方法. 内部类的类体中不能声明变量和方法. 内部类仅供其外嵌类使用. 2.匿名类: 匿名类可以继承和重写父类的方法,且匿名类一定是内部类. 匿名类可以访问外嵌类的变量和方法,匿名类的类体不能声明static变量和方法. 创建对象时,必须使用父类的构造方

学号 20175329 2018-2019-3《Java程序设计》第六周学习总结

学号 20175329 2018-2019-3<Java程序设计>第六周学习总结 教材学习内容 第七章 内部类与异常类 内部类与外嵌类之间的重要关系如下: 内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法. 内部类的类体中不可以声明类变量和类方法.外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员. 内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象. 2.匿名类 匿名类可以继承父类的方法也可以重写父类的方法. 使用匿名类时,必然是在某个类中直接