20143516许心远 《Java程序设计》第6周学习总结

教材学习内容总结

10.1.1

1.Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。

2.若要将数据从来源中取出,可以使用输入串流;若要将数据写入目的地,可以使用输出串流。在java中,输入串流代表对象为java.in.InputStream的实例;输出串流代表对象为java.io.Outputstream的实例。

3.read()方法每次尝试读取数据,并返回实际读入的,只要不是负一,就表示读到数据。

4.write()方法,指定要写出的数组,初始索引与数据长度。

10.1.2

1.标准输出可以重新导向至文档,只要执行程序时使用>将输出结果导向至指定文档。

2.FileInputStreamInputStream的子类,可以指定文件名创建实例,一旦创建文档就开启,接着就可用来读取数据。

3.ByteArryInputStreamInputStrteam的子类,可以指定byte数组创建实例,一旦创建就可将byte数组当做数据源进行读取。

4.ByteArryOutputStreamOutputStream的子类,可以指定byte数组创建实例,一旦创建将byte数组当做目的地写出数据。

10.1.3

1.创建BufferedInputStreamBufferedOutputStream 必须提供 InputStreamOutputStream进行打包,可以使用默认或自定义缓冲区大小

BufferedInputStreamBufferedOutputStream主要在内部提供缓冲区功能,操作上与InputStream、OutputStream没有太大区别

2.DataInptStreamDataOutputStream 提供读入、写入Java基本数据类型的方法,会自动在指定的类型与字节间转换

  1. ObjectInputStreamobjectOutputStream将内存中的对象整个存储下来,之后再读入还原为对象

  2. ObjectInputStream提供 readObject() 方法将数据读入对象, objectOutputStream提供 writeObject() 方法将对象写至目的地,可以被这两个方法操作的对象,必须操作java.io.Serializable接口

10.2

Reader、Writer中也有一些装饰器类,InputStreamReaderOutputStreamWriter可以对串流数据打包,BufferedReader、BufferedWriter可对Reader、Writer提供缓冲区作用,在处理字符输入/输出时,对效率也会有所帮助。PrintWriterPrintStream使用上极为类似,不过除了可以对OutputStream打包之外,PrintWriter还可以对Writer进行打包,提供print()、println()、format()等方法。

11.1.1

1.单线程程序:启动的程序从 main() 程序进入点开始至结束只有一个流程

多线程程序:程序有多个流程

11.1.2

1.JVM是台虚拟计算机,只安装一颗称为主线程的CPU,可执行main()定义的执行流程。如果想要为JVM加装CPU,就是创建Thread实例,要启动额外CPU就是调用Thread实例的start()方法,额外CPU执行流程的进入点,可以定义在Runnale接口的run()方法中。

11.1.3

setDeamon()方法用来设定一个线程是否为Daemon线程。 在调用Thread实例start()方法后,基本状态为可执行(Runnable)、被阻断(Blocked)、执行中(Running)。 使用Thread.sleep()会让线程进入Bocked状态。 当线程使用join()加入至另一个线程时,另一个线程会等待被加入的线程工作完毕,然后在继续它的动作,join()的意思表示将线程加入称为另一个线程的流程中。 线程完成run()方法后,就会进入Dead,进入Dead的线程不可以再次调用start()方法,否则会抛出IllegalThreadStateException异常。

11.1.4

1.java.lang.ThreadGroup可以管理群组中的线程

2.interrupt()方法可以中断群组中的所有线程

3.setMaxpriority()方法可以设定群组中所有线程最大优先权

4.enumerate()方法可以一次取得群组中所有线程

5.activeCount()方法取得群组的线程数量

6.uncaughtException()方法处理某个线程未被捕捉的异常。

11.1.5

1.Lock接口主要操作类之一为ReentranLock,可以达到 synchronized的作用,也提供额外的功能

2.ReadWriteLock 接口定义了读取锁定与写入锁定的行为,ReentrantReadWriteLock是 ReadWriteLock接口的主要操作类;ReadWriteLock 在没有任何读取或写入锁定时,才可以取得写入锁定,可用于悲观读取;

3.Condition接口用来搭配 Lock,最基本用法就是达到Object的wait()、notify()、notifyAll()方法的作用;调用 Lock的newCondition() 取得 Condition操作对象;调用 Lock的 await()将会使线程进入 Condition的等待集合;调用 signal()方法通知等待集合中的一个线程,signalAll()方法通知所有等待集合中的线程。

11.2

在使用高级并行API时:

1.Lock接口的操作对象可实现synchronized的功能。

2.Condition接口的操作对象可实现Object的wait()、notify()、notifyAll()功能

3.Future接口的操作对象可以让你在未来取得执行结果。

教材学习中的问题和解决过程

本周暂无问题,感觉书本写的挺详细的,视频也还得多看看

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

同上

本周代码托管截图

其他(感悟、思考等,可选)

自己的java基础还不是很扎实,看后面的章节也会发现前面章节中自己不会或者遗漏的东西,希望自己能够抓紧时间把java这门课学扎实。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 15/15
第二周 200/400 1/2 20/35
第三周 500/9000 2/4 20/55
第四周 300/1200 1/5 15/70
第五周 500/1700 2/7 30/100
第六周 300/2100 3/10 20/120

参考资料

20145316《Java程序设计》第六周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  3. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  4. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  5. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  6. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  7. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  8. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  9. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

  10. 20175317 《Java程序设计》第九周学习总结

    20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...

随机推荐

  1. 剑指 offer set 19 翻转单词顺序 && 字符串左旋

    题目 1. 翻转单词 student. a am I 转换成 I am a student. 2. 字符串左旋 abba 1 转成 bbaa 总结 1. 先对每个单词旋转, 再整齐旋转 2. 先翻转一 ...

  2. 一道money计算题引发的思考

    网友提出一个问题如下 是小学和中学时候学到了增长折线问题,有点像数学问题,不过这个要求用编程来实现,恐怕还是有些逻辑要处理的,话不多说看代码吧 我给出的代码如下 代码清单: <?php func ...

  3. 中文转换成Unicode编码 和 Unicode编码转换为中文

    前几天,遇到一个问题,就是在浏览器地址栏传递中文时,出现乱码,考虑了一下,解决方式有很多,我还是采用了转换编码的方式,将中文转换为Unicode编码,然后再解码成中文,以下是实现的过程,非常简单! p ...

  4. ProcessBuilder执行本地命令

    /**关键技术剖析 * 用本命令名和命令的参数选项构造ProcessBuilder对象,它的start方法执行命令,启动一个进程,返回一个Process对象 * ProcessBuilder的envi ...

  5. Text Particle Systems

    一.简介 在一些企业广告或者网站需要一些动态文字特效的时候,往往有下面这几种选择: 1.Flash制作的文字特效 2.制作一个动态的GIF 3.Javascript+dom+css 4.SVG 二.j ...

  6. PagerAdapter 普通写法

    1,viewPagre的普通写法 public ImagePagerAdapter(Context context, List<Photo> imgList) { this.mContex ...

  7. git与sourceTree

    Window:http://my.oschina.net/lunqi/blog/500881?fromerr=bzaPk1Lx MAC:http://www.ithao123.cn/content-8 ...

  8. 教你如何在 Android 使用多线程下载文件

    # 教你如何在 Android 使用多线程下载文件 前言 在 Android 日常开发中,我们会经常遇到下载文件需求,这里我们也可以用系统自带的 api DownloadManager 来解决这个问题 ...

  9. phpcms替换类列表页,内容页,主页

    phpcms替换类列表页,内容页,主页   利用phpcms制作企业站,首先要将静态的企业主页替换成后台可编辑的动态主页. 在phpcms/install_package/phpcms/templat ...

  10. Morphia - mongodb之ORM框架

    一.简介 二.注解 1.@Entity 2.@Id3.@Indexed4.@Embedded5.@Transient和@Property6.@Reference 三.示例 四.参考资料 Morphia ...