20145321 《Java程序设计》第6周学习总结

教材学习内容总结

第十章 输入输出
10.1 InputStream OutputStream
 1、数据有来源与目的,衔接两者的是串流对象。
2、read()方法每次尝试读取数据,并返回实际读入的,只要不是负一,就表示读到数据。
write()方法,指定要写出的数组,初始索引与数据长度。
3、System.in与System.out分别是InputStream和OutputStream的实例。
可以使用Syestem.setIn()方法,重新指定标准输入来源。
4、FileInputStream与FileOutputSteam:指定文件名创建实例,开启,然后读取,写入数据,不使用时要用
close()关闭。
5、ByteArrayInputStream与ByteArrayInputStream:指定byte数组创建实例。
6、装饰器为输入/输出的数据做处理,例如缓冲、串行化、数据装换等。
7、BufferedInputStream与BufferedOutoutStream:提供缓存区,提高效率。
DateInputStream与DateOutputStream:自动转化类型。
ObjectInputStream与ObjectInputStream将数据读入或写出为对象。
10.2 字符处理类
 1、Reader与Writer读入或者写入字符。
2、FileReader、FileWriter可以对文档作读取或写入,默认会使用操作系统默认编码。
3、InputStreamReader和OutputStreamWriter:将字节数据转换为对应的编码字符。
BufferedReader与BuffereWriter:提供缓存区,提高效率。
第十一章 线程与并行API
11.1 线程
 1、有时候需要设计程序拥有多个流程,也就是多线程程序。类操作java.lang.Runnable接口,接入点是run();
通过Thread实例来执行Runnable实例定义的run方法,启动线程必须调用Thread的start方法。
2、操作Runnable接口有弹性,还有机会继承别的类。
3、Deamon线程:如果一个Thread标示为Deamon,在所有非Deamon线程结束时,JVM自动会终止。
4、Thread基本状态图:优先权高的先执行,否则输流执行。
start——>runnable——>(blocked)——>running——>dead
5、sleep、wait阻断等都会让线程进入blocked状态,运用多线程,避免cpu空闲下来,是改进效能的方式之一。
6、安插线程:join方法,先完成插入的线程,再回到原来的线程。
7、停止线程:最好自行操作,让线程跑完应有的流程。
8、每个线程都属于某个线程组群,可以自行定义线程组群。
线程一旦归入某个群组,就无法更换。
9、线程存取同一对象相同资源时可能会引发竞速情况(Race Condition)。
在竞速情况下,脱离原本应管控的条件的类为不具备线程安全的类。
10、synchronized:在方法上加上synchronized关键字,或者在描述句上加上它。如果使用不当会造成死结。
执行该方法必须获得该实例的锁定。
11、wait(),notify(),notifyall()是object定义的方法,可以通过他们控制线程释放对象的锁定,或者通知
线程参与锁定竞争。
11.2 并行API
 1、lock:可以lock()取得对象锁定和unlock()解除锁定。
调用trylock()时,如果不能锁定并不会发生阻断,而是返回fouse,无论成功与否都要解除锁定。
2、RwadWriteLock接口:定义了读取锁定与写入锁定行为,提高效率。
StampedLock:用来操作乐观读取,用于读取线程多而写入线程少的情况。先判断,再考虑是否真正锁定。
Condition:取得多个conditon实例,可以有多个等待集合,提高效率。
3、Executor接口可以将Runnable的指定与实际如何执行分离。
Future与Callable搭配使用。

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

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3500行 28篇 300小时  
第六周 200/1100 2/8 20/110  

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

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

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

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

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

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

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

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

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

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

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

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

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. IE浏览器存在的setAttribute bug

    IE的setAttribute中与标准浏览器的有许多不同,主要表现在IE对setAttribute的功能上有些限制,就是不能用setAttribute来设定class.style于onclick等事件 ...

  2. debian卸载旧内核

    debian卸载旧内核要先看看有哪些旧的内核,用命令: uname -a dpkg --get-selections |grep linux 如果你的内核是以kernel开头的就把上面的linux改成 ...

  3. ionic 上拉加载问题(分页)

    问题描述: 1.第一初始化时执行了上拉加载更多. 2.上拉时存在执行多次加载动作. angularjs的ajax不提供同步机制,是为了防止页面长时间等待,很多时候我们又需要这种同步机制交换状态,比如上 ...

  4. poj3585 Accumulation Degree【树形DP】【最大流】

    Accumulation Degree Time Limit: 5000MS   Memory Limit: 65536K Total Submissions:3151   Accepted: 783 ...

  5. libxml_disable_entity_loader

    w避免加载外部实体字符. http://php.net/manual/en/function.libxml-disable-entity-loader.php libxml_disable_entit ...

  6. A TCP connection is distinguished by four values

    4个值唯一地定义一条TCP连接. HTTP The Definitive Guide A computer might have several TCP connections open at any ...

  7. Yii框架2.0的过滤器

    过滤器是 控制器 动作 执行之前或之后执行的对象. 例如访问控制过滤器可在动作执行之前来控制特殊终端用户是否有权限执行动作, 内容压缩过滤器可在动作执行之后发给终端用户之前压缩响应内容. 过滤器可包含 ...

  8. Flowers---hdu4325(区间处理 离散化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4325 题意:有n种花,每种花都有自己的开花时间段从S到E,有m个查询,每个查询都是一个时间点,求这一时 ...

  9. Redis应用案例,查找某个值的范围(转)

    原文:https://groups.google.com/forum/#!topic/redis-db/lrYbkbxfQiQ 本文来自Redis在Google Group上的一个问题,有一位同学发贴 ...

  10. Web应用扩展系列(1):架构篇(转)

    原文:Web应用扩展系列(1):架构篇 在这篇文章中,我将尽量涵盖Web应用扩展或性能调优时可能会遇到的一些架构问题. 首先,让我们来统一一些名词或项目的概念,下文中我将列举在扩展Web应用时可能会遇 ...