20145225《Java程序设计》

第6周学习总结

教材学习内容总结

第十章 输入/输出

10.1InputStream与OutputStream

  1. 串流:衔接数据的来源和目的地就是串流对象。

  2. 串流继承架构。

  3. 串流处理装饰器:装饰器知识对数据进行了一些加工处理,例如缓冲、串行化、数据装换等。

可以使用System的setIn()方法指定InputStream实例,重新指定标准输入来源。例如下面范例故意将标准输入指定为FileInputStream,可以读取指定文档并显示在文本模式:Stream StandardIn.java:

public class StandardIn {
public static void main(String[] args) throws IOException {
System.setIn(new FileInputStream(args[0]));
try (Scanner scanner = new Scanner(System.in)) {
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
}
}
}
}

10.2字符处理类

  1. Reader Writer:抽象化了数据读入和写出的目的地,会将读入的数据植入char数组中。

  2. 字符处理装饰器:可以使用BufferReader和BufferWriter将数据进行缓冲,增加读写效率。

import java.io.*;
public class CharUtil {
public static void dump(Reader src, Writer dest) throws IOException {
try(Reader input = src; Writer output = dest) {
char[] data = new char[1024];
int length;
while((length = input.read(data)) != -1) {
output.write(data, 0, length);
}
}
}
}

第十一章 线程与并行API

9.1线程

1.通过创建Thread实例来执行Runnable实例定义的> run方法可以实现多个线程。

2.继承Thread类也可以进行多个进程,但没有Runnable的弹性好,运用Lambda表达式也可以简化程序。

3.线程生命周期:Daemon:在所有的非Daemon线程结束时,JVM就会自动终止

4.ThreadGroup:用来管理群组中的线程,enumerate可以取得群组中的所有线程,activecount()用来取得线程的数量。

5.synchronized&&volatile:线程存取同一对象相同资源时可能会引发竞速情况。

6.等待与通知:wait()、notify()、notifyall()控制线程释放对象的锁定。

9.2并行API

1.Lock、Condition、ReadWriteLock。

2.Executor:HashMap、TreeMap为两个常用操作类。

3.并行Collection:CopyOnWriteArraySet操作set接口,使用于一个很少进行写入操作,而使用迭代器频繁的情境。

public class ThreadGroupDemo {
public static void main(String[] args) {
ThreadGroup group = new ThreadGroup("group") {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
System.out.printf("%s: %s%n",
thread.getName(), throwable.getMessage());
}
}; Thread thread = new Thread(group, () -> {
throw new RuntimeException("测试异常");
}); thread.start();
}
}

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

本周代码见代码托管https://git.oschina.net/nizaikanwoba/java-besti-is-2015-2016-2-20145225

其他(感悟、思考等,)

好好学。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
目标 5000行 30篇 400小时
第一周 150/150 2/2 15/15
第二周 150/300 1/3 15/30
第三周 200/500 1/4 15/45
第四周 200/700 1/5 15/60
第五周 200/900 1/6 15/75
第六周 200/1100 1/7 15/80

参考资料

20145225《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. hdu 5381 The sum of gcd

    知道对于一个数列,如果以x为左(右)端点,往右走,则最多会有log(a[x])个不同的gcd,并且有递减性 所以会分成log段,每一段的gcd相同 那我们可以预处理出对于每一个位置,以这个位置为左端点 ...

  2. JavaScript 数据验证类

    JavaScript 数据验证类 /* JavaScript:验证类 author:杨波 date:20160323 1.用户名验证 2.密码验证 3.重复密码验证 4.邮箱验证 5.手机号验证 6. ...

  3. work flow

  4. DataTable与DataSet

    转自:http://www.cnblogs.com/rjf1979/archive/2010/09/09/1822667.html DataSet包含很多个DataTable 一张表的时候用DataT ...

  5. 【知识点】业务连接服务(BCS)认证概念整理

    业务连接服务(BCS)认证概念整理 I. BDC认证模型 BDC服务支持两种认证模型:信任的子系统,模拟和代理. 在信任的子系统模型中,中间层(通常是Web服务器)通过一个固定的身份来向后端服务器取得 ...

  6. link

    public IEnumerable InsuranceSearch(InsuranceSC sc, out int TotalCount) { var data = from q in Insura ...

  7. POS管理系统之供应商查询

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  8. google快捷键,通过浏览器本身来查看

    今天玩google浏览器时发现一个不需要访问google就能查看其快捷键的方式,再此记录一下,以备后用. 1:打开Google浏览器 2:打开开发者工具,有三种方法 2-1:按F12快捷键 2-2:按 ...

  9. NHibernate系列文章六:NHibernate数据类型映射

    摘要 NHibernate支持所有的数据库数据类型. 以SQL Server数据库为例,下表是NHibernate支持的SQL Server数据库最常见的数据类型对照表. 第一列是NHibernate ...

  10. C++中关于string类型究竟能不能用cout输出的问题

    先让我讲下故事哈 一次在MFC中用cout输出一个string类型字符串,编译时出现这样一个错误: error C2679: binary '<<' : no operator defin ...