20145316《Java程序设计》第六周学习总结
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.FileInputStream
是InputStream
的子类,可以指定文件名创建实例,一旦创建文档就开启,接着就可用来读取数据。
3.ByteArryInputStream
是InputStrteam
的子类,可以指定byte数组创建实例,一旦创建就可将byte数组当做数据源进行读取。
4.ByteArryOutputStream
是OutputStream
的子类,可以指定byte数组创建实例,一旦创建将byte数组当做目的地写出数据。
10.1.3
1.创建BufferedInputStream
和BufferedOutputStream
必须提供 InputStream
和 OutputStream
进行打包,可以使用默认或自定义缓冲区大小
BufferedInputStream
与BufferedOutputStream
主要在内部提供缓冲区功能,操作上与InputStream、OutputStream
没有太大区别
2.DataInptStream
与 DataOutputStream
提供读入、写入Java基本数据类型的方法,会自动在指定的类型与字节间转换
ObjectInputStream
与objectOutputStream
将内存中的对象整个存储下来,之后再读入还原为对象ObjectInputStream
提供 readObject() 方法将数据读入对象,objectOutputStream
提供 writeObject() 方法将对象写至目的地,可以被这两个方法操作的对象,必须操作java.io.Serializable
接口
10.2
Reader、Writer中也有一些装饰器类,InputStreamReader
和OutputStreamWriter
可以对串流数据打包,BufferedReader
、BufferedWriter可对Reader、Writer提供缓冲区作用,在处理字符输入/输出时,对效率也会有所帮助。PrintWriter
与PrintStream
使用上极为类似,不过除了可以对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程序设计》第六周学习总结的更多相关文章
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175313 张黎仙《Java程序设计》第九周学习总结
目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...
- 20175317 《Java程序设计》第九周学习总结
20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...
随机推荐
- swift - storyboard(故事版)的使用
iOS开发中,苹果公司提供了一种可视化的编程方式:即xib和storyboard,xib相对来说比较灵活,可以在纯代码的项目中使用, 也可以和storyboard配合使用,用法都差不多,下面来总结一下 ...
- LA5059 Playing With Stones
题意:nim游戏.加上限制每次不得取走超过当前堆一半的石子 1 ≤ N ≤ 100,1 ≤ ai ≤ 2 ∗ 1018 分析:由于ai过大.所以我们采用SG函数递推找规律. (详见代码) #inclu ...
- [SDOI2016 Round1] 征途[斜率优化]
2225. [SDOI2016 Round1] 征途 ★★★☆ 输入文件:menci_journey.in 输出文件:menci_journey.out 简单对比时间限制:1 s 内存 ...
- Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
一.现代操作系统的权限分离: 现代操作系统一般都至少分为内核态和用户态.一般应用程序通常运行于用户态,而当应用程序调用系统调用时候会执行内核代码,此时会处于内核态.一般的,应用程序是不能随便进入内核态 ...
- Egret微端 创建项目(一)
开发环境: window7 egret engine:5.0.14 egret wing:4.1.0 微端:v0.0.14 官方教程:http://developer.egret.com/cn/git ...
- MongoDB插入多条数据
刚开始学mongodb,只知道几个命令,insert插入也只能一条一条插入,而在实际情况下数据一般都非常多,刚开始想直接上传json文件,网上搜了n多方法发现这种方法不好弄,然后就想着要么一下子把多条 ...
- js 函数递归优化,arguments.callee 优化
函数递归是个经典的问题,平常用的时候,小练习可以通过函数名来反复调用,比如: function factorial(num) { if (num <= 1) { return 1; } else ...
- Android 5.0+删除Sdcard文件
在Android5.0往后的平台上,你想通过单纯的调用File.delete()或着ContentResolver.delete()来删除Sdcard上的文件会删除失败.前者提示没有权限,后者仅仅删除 ...
- 使用Git分支开发新特性或修复Bug与使用Git分支开发新特性或修复Bug
使用Git分支开发新特性或修复Bug 通过分支,可以在不影响原有代码的前提下改变代码,主要用于开发新功能新特性.下 一代产品 为已经发布的正式版修复bug 团队开发时为每个人建立一个分支,从而避免相互 ...
- 【npm start 启动失败】ubuntu 将node和npm同时更新到最新的稳定版本
https://blog.csdn.net/u010277553/article/details/80938829 npm start 启动失败,报错如下 错误提示 make sure you hav ...