20145315 《Java程序设计》第六周学习总结
20145315 《Java程序设计》第六周学习总结
教材学习内容总结
第十章:输入输出
10.1.1
数据有来源与目的,衔接两者的是串流对象。
read()方法每次尝试读取数据,并返回实际读入的,只要不是负一,就表示读到数据。
write()方法,指定要写出的数组,初始索引与数据长度。
10.1.2
- 标准输入与输出System.in和Sestem.out,可以使用Syestem.setIn()方法,重新指定标准输入来源。在执行时可以用>将输出结果导向指定文档。
- FileInputStream与FileOutputSteam:指定文件名创建实例,开启,然后读取,写入数据,不使用时要用close()关闭。
ByteArrayInputStream与ByteArrayInputStream:指定byte数组创建实例
10.1.3
打包器只是做一些加工处理,所以就称为装饰器。
- BufferedInputStream与BufferedOutoutStream :提供缓存区,提高效率。
- DateInputStream与DateOutputStream : 自动转化类型
objectInputStream和ObjectOutputStream:将对象整个储存下来,之后再读入还原为对象。
10.2.1
Reader与Writer读入或者写入字符
10.2.2
- InputStreamReader和OutputStreamWriter:将字节数据转换为对应的编码字符
- BufferedReader与BuffereWriter:提供缓存区,提高效率。
PrintWriter
第十一章:线程与并行API
11.1.1
有时候需要设计程序拥有多个流程,也就是多线程程序。类操作java.lang.Runnable接口,接入点是run();通过Thread实例来执行Runnable实例定义的run方法,启动线程必须调用Thread的start方法。
11.1.2
定义线程的方法:
- extends Thread
implements Runnable:有弹性
11.1.3
Deamon线程:如果一个Thread标示为Deamon,在所有非Deamon线程结束时,JVM自动会终止。
- Thread基本状态图:优先权高的先执行,否则输流执行。
- 安插线程:join方法,先完成插入的线程,再回到原来的线程。
停止线程:视需求操作。
11.1.4
每个线程都属于某个线程组群,可以自行定义线程组群。
11.1.5
在竞速情况下,脱离原本应管控的条件的类为不具备线程安全的类。
synchronized(执行该方法必须获得该实例的锁定):在方法上加上synchronized关键字,或者在描述句上加上它。如果使用不当会造成死结。
11.1.6
wait(),notify(),notifyall()是object定义的方法,可以通过他们控制线程释放对象的锁定,或者通知线程参与锁定竞争。
11.2.1
- lock:可以lock()取得对象锁定和unlock()解除锁定。调用trylock()时,如果不能锁定并不会发生阻断,而是返回fouse,无论成功与否都要解除锁定。
- RwadWriteLock接口:定义了读取锁定与写入锁定行为,提高效率。
- StampedLock:用来操作乐观读取,用于读取线程多而写入线程少的情况。先判断,再考虑是否真正锁定。
condition:取得多个conditon实例,可以有多个等待集合,提高效率。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第六周 | 600/600 | 2/2 | 40/40 |
参考资料
20145315 《Java程序设计》第六周学习总结的更多相关文章
- 20145315 《Java程序设计》第九周学习总结
20145315 <Java程序设计>第九周学习总结 教材学习内容总结 第16章--整合数据库 16.1.1JDBC简介 应用程序通过通信协议对数据库进行指令交换,以进行对数据的的增删查找 ...
- 20145315 《Java程序设计》第二周学习总结
20145315 <Java程序设计>第二周学习总结 教材学习内容总结 类型 类型:整数分为short,int,long形. 字节:长度为一字节. 浮点数:储存小数,float和doubl ...
- 20145315 《Java程序设计》第一周学习总结
20145315 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 java原来以橡树为名,后来才改成java,灵感是咖啡. 作者戏称JDK为java developer ki ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- 【linux】Crontab 定时任务 使用实例
1 使用putty 登录linux 服务器 2 输入以下命令.查看已有的定时任务 crontab -l 3 输入 以下命令,进入定时任务文件 crontab -e 4 键盘 选择 i 键 进行输 ...
- LightOJ 1348(Aladdin and the Return Journey )
题目链接:传送门 题目大意:一棵无根树,每个点上有权值,两种操作,0 x y询问x~y路径上权值和 1 x y将 节点 x 权值变为y.对于询问操作输出答案. 题目思路:树链剖分 #include & ...
- js嵌套轮播图
$(function(){ var navLi = $(".top_nav").find("li"), conDiv = $(".top_con&qu ...
- 点击TextView 弹出复制选项
extends:http://www.eoeandroid.com/thread-226805-1-1.html package com.dotfive.chuanbang.view; import ...
- LISTAGG
LISTAGG(measure_expr [, 'delimiter']) WITHIN GROUP (order_by_clause) [OVER query_partition_clause] S ...
- Linux系统下Nginx+PHP 环境安装配置
一.编译安装Nginx 官网:http://wiki.nginx.org/Install 下载:http://nginx.org/en/download.html # tar -zvxf nginx- ...
- SVN 配置和使用
SVN使用环境 使用SVN管理源代码,必须有2套环境 服务器 用来存储客户端上传的源码 一般都是在Windows环境下安装Visual SVN Server 客户端 用来提交.回退.修改.下载等操作 ...
- CH601后缀数组【Trie树】
内含字典树创建及查询模板 1601 前缀统计 0x10「基本数据结构」例题 描述 给定N个字符串S1,S2...SN,接下来进行M次询问,每次询问给定一个字符串T,求S1-SN中有多少个字符串是T的前 ...
- C#操作word之插入图片
假如我们导出一份简历到word文档,那势必可能要同时导出我们包含的简历,下面就来试一下如何和通过C#代码,将图片插入到word文档中. 为了简便起见,就简单一点.类似下面这样的 姓名 张三 照片 ...
- 使用 Sonar 进行代码质量管理
参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理