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

教材学习内容总结

1.InputStream与OutputStream:

  • 在Java中,输入串流的代表对象为java.io.InputStream实例,输出串流代表对象为java.io.OutputStream实例。
  • 取得InputStream或OutStream实例后,接下来操作输入/输出的方式都是一样的,无须理会来源或目的地的真正形式。
  • 在不使用InputStream与OutStream时,必须使用close()方法关闭串流。
  • InputStream的read()方法,每次会尝试读入byte数组长度的数据,并返回实际读入的字节,只要不是-1,就表示读取到数据。
  • OutputStream的write(指定要写出的byte数组,初始索引,数据长度)方法
  • FileInputStream是InputStream的子类,用于衔接文档以读入数据,FileOutputStream是OutputStream的子类,用于衔接文档以写出数据。
  • System.in标准输入,System.out标准输出,System.err标准错误输出串流,它是用来立即显示错误信息。
  • ObjectInputStream提供readObject()方法将数据读入为对象,ObjectOutputStream提供writeObject()方法将对象写至目的地,可以被这两个方法处理的对象,必须操作java.io.Serializable接口,这个接口并没有定义任何方法,只是作为标示之用,表示这个对象可以串行化的。
    P314程序结果截图:

  • 在做对象串行化时,对象中某些数据成员不希望被写出,则可以标上transient关键字。

    2.字符处理类:

  • 字符数据的读取,java.io.Reader类,抽象化了字符数据读入的来源,字符数据的写入,java.io.Writer类,其抽象化了数据写入的目的地。

    3.线程:

  • 在Java中,如果想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run()方法中。
  • 要启动线程执行指定流程,必须调用Thread实例的start()方法。
    P327程序结果截图:

  • 撰写多线性程序的方式:将流程定义在Runnable的run()方法中或继承Thread类,重新定义run()方法。
  • 运用多线程,当某线程进入Blocked时,让另一线程排入CPU执行,避免CPU空闲下来,经常是改进效能的方式之一。
    P333程序结果截图:

  • 如果A线程正在运行,流程中允许B线程加入,等到B线程执行完毕后再继续A线程流程,则可以使用join()方法完成这个需求。
    P334代码结果截图:

  • 在Java中对于可见性的要求,可以使用volatile达到变量范围。
  • wait()、notify()与notifyAll是Object定义的方法,控制线程释放对象的锁定,或者通知线程参与锁定竞争。
  • 每个对象都会有个内部锁定,或称为监控锁定。被标示为synchronized的区块将会被监控,任何线性要执行synchronized区块都必须先取得指定的对象锁定。
    P371代码结果截图:

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

  • 书上所讲不建议使用stop()方法,讲了一种替代方法,感觉只可以在无限循环中使用,但若不是在循环中呢,要怎么解决。

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

  • 在调试327页的代码时,结果不断输出,无法自行停止,只能手动停止。

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

通过这星期的学习,慢慢理解了之前敲得一些代码的含义,当时只是大概知道某一行代码表达的是什么意思,在学习了最近几张章节后,理解了某些语句的语法和用途,对之前的代码有了更深的理解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第六周 200/910 1/7 30/150

代码托管情况:

参考资料

20145304 Java第六周学习报告的更多相关文章

  1. 20145304 Java第八周学习报告

    20145304<Java程序设计>第八周学习总结 教材学习内容总结 NIO NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记 ...

  2. 20145304 Java第七周学习报告

    20145304<Java程序设计>第七周学习总结 教材学习内容总结 1.时间的度量: 格林威治标准时间(GMT)通过观察太阳而得,其正午是太阳抵达天空最高点之时,因地球的公转与自传,会造 ...

  3. 20145304 Java第三周学习报告

    20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型 ...

  4. 20165210 Java第六周学习总结

    20165210 Java第六周学习总结 教材学习内容 第八章学习总结 String类: 构造String对象: 1. 常量对象 2. String对象 3. 引用String常量 字符串的并置: S ...

  5. 20165326 java第六周学习笔记

    第六周学习总结 ch8 String类对于有效处理字符序列信息非常重要. String对象的字符序列不能被修改删除,无法发生变化. StringBuffer类的对象实体的内存空间可以自动改变大小,便于 ...

  6. 2016-2017-2 20155309 南皓芯java第六周学习总结

    教材内容详解 这一次主要学习的是第十章与第十一章的内容.主要讲述了串流,字符处理和线程以及并行API. 输入输出 串流:Java中的数据有来源(source)和目的地(destination),衔接两 ...

  7. 201521123093 java 第六周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  8. 20165221—JAVA第六周学习心得

    课本知识点小结 第8章:常用实用类 String类 常量对象放入常量池中,而用string声明的对象变量中存放着引用.凡是new构造的常量都不在常量池中. startIndex表示提取字符的起始位置, ...

  9. 20165220 Java第六周学习总结

    教材学习内容总结 正则表达式:正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式的元字符. 链表:由若干个称作结点的对象组成的一种数据结构,用于 ...

随机推荐

  1. Linux下pipe使用注意事项

    转自:http://blog.yufeng.info/archives/1485 Linux下的pipe使用非常广泛, shell本身就大量用pipe来粘合生产者和消费者的. 我们的服务器程序通常会用 ...

  2. ASP.NET Web API 上传文件

    HTML表单: <form id="form1" method="post" enctype="multipart/form-data" ...

  3. Sexagenary Cycle(天干地支法表示农历年份)

    Sexagenary Cycle Time Limit: 2 Seconds      Memory Limit: 65536 KB 题目链接:zoj 4669 The Chinese sexagen ...

  4. thinkphp 两表、三表联合查询

    //两表联合查询 $Model = M('T1');$Model->join('left join t2 on t1.cid = t2.id')->select();// $list = ...

  5. 配置ogg异构mysql-oracle 单向同步

    从mysql到oracle和oracle到mysql差不多.大致步骤如下: 环境是:192.168.0.165 (Mysql ) —> 192.168.0.164 ( Oracle )想将mys ...

  6. 系统调用方式文件编程,王明学learn

    系统调用方式文件编程 一.文件描述符 在Linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配,我们称之为:文件描述符. 二.函数学习 2.1打开文件  open 2.1.2 函数原形 ...

  7. 为GDI函数增加透明度处理

    用户对客户端的UI的要求越来越高,采用alpha通道对前景背景做混合是提高UI质量的重要手段. UI开发离不开GDI,然后要用传统的GDI函数来处理alpha通道通常是一个恶梦:虽然有AlphaBle ...

  8. 各浏览器抗uaf机制

    今年中旬,微软针对旗下ie浏览器中大量出现的uaf漏洞,对ie浏览器的安全机制进行了一个大幅度的升级,其中主要体现为隔离堆及延迟释放两个机制,顿时又将uaf漏洞的利用向上提升了一个大坎, 但是类似的对 ...

  9. css学习(1)-- 层叠样式表CSS的基础

    一.什么是CSS CSS是Cascading Style Sheets的简写,它除了可以轻松设置网页元素的显示位置和格式处,甚至还能产生滤镜,图像淡化,网页淡入淡出的渐变效果. 一个样式表由样式规则组 ...

  10. 【hdu3948-不同回文串的个数】后缀数组

    题意:求不同回文串的个数 n<=10^5 题解: 先按照manacher的构造方法改造一遍串,然后跑一遍manacher. 如ababa--> $#a#b#a#b#a#@ 然后跑一遍后缀数 ...