20165235 祁瑛 2018-4 《Java程序设计》第八周学习总结
20165235 祁瑛 2018-4 《Java程序设计》第八周学习总结
教材学习内容总结
操作系统与进程
程序是一段静态的代码,它是应用软件执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载,执行至执行完毕的一个完整过程,这个过程也是进程本身从产生,发展至消亡的过程。
进程与线程
线程间可以共享进程中的某些内存单元。
java的多线机制
java虚拟机快速的把控制从一个线程切换到另一个线程,这些线程将被轮流执行,使得每个线程都有机会使用CPU资源。
主线程
main线程主要负责执行main方法。在main方法的执行中在创建的线程,就被称作程序中的其他线程。JVM就要在主线程和其他线程之间轮流切换,保证每个线程都有机会使用CPU资源。线程的状态和生命周期
java语言使用Thread类及其子类的对象来表示线程。
-start()方法通知JVM,JVM就会知道有一个新的线程排队了。sleep(int millsecond)方法使当前线程进入休眠状态。
-run ()方法规定了该线程的具体使命。Thread类
- 创建线程的一个途径是用
Thread类直接创建线程对象。通常使用其构造方法。 使用
Runnable接口比使用Thread的子类更加的灵活。目标对象与线程对象的关系
- 目标对象与线程对象完全解耦
目标对象组合线程
线程同步
若干线程都使用一个
synchronized修饰的方法。多个线程调用synchronized修饰的方法必须遵守同步机制。线程联合
一个线程A在占用CPU的资源期间,可以让其他线程调用
join()方法和本线程联合。
教材学习中的问题和解决过程
问题一:在运行Example12_3的时候,每次运行的结果都不一致?

解决:这个问题还没有解决,但我个人认为是用
Thread类创建的猫,狗两个线程在使用CPU资源时是随机轮流交替,谁先得到资源是不确定的,所以会出现结果不一致的情况。
码云代码链接
- 本周代码
- Example12_1
- Example12_2
- Example12_3
- Example12_4
- Example12_5
- Example12_6
- Example12_7
- Example12_8
- Example12_9
-
脚本运行截图:


上周考试错题总结
- 属于数据操作语言的是:insert和update
- Statement的executeUpdate()方法会返回int值
- 异常情况正确的是: java.sql.SQLException:结果集已耗尽 (结果集用尽或未调用next);java.sql.SQLException: No suitable driver(URL拼写错误)
- 以下哪些是定义在ResultSet中用于Cursor定位的方法:
next()beforeFirst()afterLast()isBeforeFirst()relative(int)感悟
通过本周的学习,对线程有了一些了解,在给线程分配CPU资源时我们可以理解为不同状态之间的转换。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 31/31 | 1/1 | 20/20 | git的使用 |
| 第二周 | 373/404 | 2/3 | 18/38 | java基本数据语法 |
| 第三周 | 547/920 | 1/4 | 22/60 | 类与对象以及打包 |
| 第四周 | 919/1839 | 2/6 | 30/80 | 子类与继承,接口和面向接口编程 |
| 第五周 | 500/2300 | 3/9 | 20/ 100 | 输入输出流以及内部类 |
| 第六周 | 300/2600 | 1/10 | 25/125 | 泛型与集合框架,常用实用类 |
| 第七周 | 447/3047 | 3/13 | 25/150 | MySQL数据库与JDBC |
| 第八周 | 700/3826 | 3/16 | 25/175 | java的多线程机制 |
参考资料
20165235 祁瑛 2018-4 《Java程序设计》第八周学习总结的更多相关文章
- 20165235 祁瑛 2018-4 《Java程序设计》第九周学习总结
20165235 祁瑛 2018-4 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 UR类是java.net包中的一个重要类,使用URL创建的对象的应用程序称作称作客户端 ...
- 20165235 祁瑛 2018-3 《Java程序设计》第四周学习总结
20165235 祁瑛 2018-3 <Java程序设计>第四周学习总结 教材学习内容总结 第五单云总结 (一)子类与继承1.java中子类只能有一个父类,在类名前用extends标记.2 ...
- 20165235 祁瑛 2018-4 《Java程序设计》第七周学习总结
20165235 祁瑛 2018-4 <Java程序设计>第七周学习总结 教材学习内容总结 MySQL数据管理系统 MySQL数据管理系统,简称MySQL,是世界上流行的数据管理系统. M ...
- 20165235 祁瑛 2018-4 《Java程序设计》第六周学习总结
20165235 祁瑛 2018-4 <Java程序设计>第六周学习总结 教材学习内容总结 常用实用类 (一)1.String类是final类型的,String类型常量也是对象.2.可以使 ...
- 20165235祁瑛 2018-3 《Java程序设计》第三周学习总结
20165235祁瑛 2018-3 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象学习总结 类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.jav ...
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 2018-03-11 20165235祁瑛《Java程序设计》第二周学习总结
2018-03-11 20165235祁瑛<Java程序设计>第二周学习总结 教材学习内容总结 第二章要点: 在这一章中我学到了很多东西: (1)布尔类型boolean,布尔类型的赋值只能 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
随机推荐
- Django 自定义模型管理器类2个应用场景
class BookManager(models.Manager): # 改变查询集的结果集 def all(self): books = super().all() # QuerySet books ...
- MVC 基于 AuthorizeAttribute 实现的登陆权限控制
代码的执行顺序是 OnAuthorization–>AuthorizeCore–>HandleUnauthorizedRequest. 如果AuthorizeCore返回false时,才会 ...
- STM32L476应用开发之四:触摸屏驱动与数据交互
数据交互可以说是任何一台仪器都需要的功能.我们的便携式气体分析仪,需要人来操作和配置,所以触摸屏就是我们必然的一个选择.本次我们计划采用3.5寸显示屏,串口通讯. 1.硬件设计 前面我们实验了串行通讯 ...
- python 列表,字典,元组,字符串,常用函数
飞机票 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object ...
- Confluence 6 通过 SSL 或 HTTPS 运行 - 创建或请求一个 SSL 证书
在启用 HTTPS 之前,你需要一个有效的证书,如果你已经有了一个有效的证书,你可以直接跳过这个步骤,进入 step 2. 你可以创建一个自签名的证书,或者从信任的 Certificate Autho ...
- Confluence 6 配置推荐更新邮件通知默认的初始化设置
Confluence 为订阅者发送常规邮件报告,这个邮件报告中包含有用户具有查看权限的空间的最新的内容.这个被称为 推荐更新(Recommended Updates)通知. 如果你具有 Conflue ...
- Confluence 6 Oracle 驱动输入你的数据库细节
Confluence 的安装向导将会指导你一步一步的在 Confluence 中配置安装 Oracle 数据库. 使用 JDBC 连接(默认) JDBC 是推荐的连接你的 Confluence 到数据 ...
- 修改MongoDB密码
修改MongoDB密码 禁用管理员(root)密码 1.找到配置文件mongod.conf,并进入 vim /etc/mongod.conf 2.禁用管理员(root)密码 找到: security: ...
- python并发编程之IO模型,
了解新知识之前需要知道的一些知识 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调 ...
- win+python+selenium实现窗口和tab切换
这篇总结主要是关于两方面的需求:其一,在浏览器不同tab标签页之间按时间切换(同事用来不停刷新grid crontol 监控页面):其二,实现开启多个窗口,并将窗口缩放到一定范围,并齐占满整个桌面,按 ...