博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20175313 张黎仙《Java程序设计》第十周学习总结
阅读量:7249 次
发布时间:2019-06-29

本文共 1238 字,大约阅读时间需要 4 分钟。

目录

一、教材学习内容总结

第十二章内容

  • 主要内容

    235352_c10865c0_4784913.png

    235607_3758dfec_4784913.png

  • 杂项
    • 线程同步:当一个线程A使用synchronized方法时,其他线程想用这个synchronized方法时就必须等待,直到线程A使用完该方法。例子:会计和出纳。(教材Example12_7.java)
    • 线程联合join():如果线程A在占有CPU资源期间一旦联合B线程,那么A线程立刻中断执行,一直等到它联合的线程B执行完毕,A线程在重新排队等待。(教材Example12_9.java)
    • 守护线程void setDaemon(boolean on):当程序中的所有用户线程都已经结束运行时,即使守护线程中的run方法还有需要执行的语句,守护线程也立刻结束执行。(教材Example12_13.java)

二、教材学习中的问题和解决过程

  • 问题1:对教材375页提出的要求观察输出结果,看似最后的答案都是一样的,虽然只是过程中的输出不同而已。

    000948_a7b391c1_4784913.png

    001006_e80507b4_4784913.png

  • 解决方法:我在想这是不是只是巧合,刚刚好最后的答案一样而已。所以我手动执行自己设计的线程,果然输出不一样的结果,证明了会计和出纳这类的问题需要用synchronized,否则将会导致不可预料的后果。

    001019_396647b8_4784913.png

  • 问题2:对教材中张飞买票这个例子的课后拓展进行验证。
  • 运行结果截图:

    001656_d3ff0b3c_4784913.png

    001714_5a5d031b_4784913.png

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

  • 对于Example12_1.java进行debug,更好的理解线程的内部运作。

    002030_f9ff5bfc_4784913.png

    002045_bb21c730_4784913.png
    002058_b788e1e2_4784913.png

  • 问题1:对于输出“狗喝水”,“猫喝水”,"剩7",“剩5”表示不能理解,甚至还出现“剩1”,“剩2”,难道水喝了还能变多??

    002817_a33474e6_4784913.png

    002830_b61eaf26_4784913.png

  • 解决方法:对其线程进行debug,观察其运行过程。

    003504_b7cb42ec_4784913.png

  • 问题2:对于教材上Example12_5.java的运行结果没有问题,但是我在想如果每次创建完一个新的对象,然后令time=0,结果会不会一直隔三的赠加一条相同的时间。但是运行结果却跟我预料的不太一样,结果始终跟没有加time=0这句是一样的。
  • 解决方法:对其线程进行debug,观察其运行过程。

    003523_e2dbb649_4784913.png

  • 我发现里面是有产生新对象的,但是为什么就是没有输出呢?这个问题我还是很疑惑。(未能解决)

四、

()

004312_1ec16c5b_4784913.png

004326_64df3584_4784913.png
004338_fd233805_4784913.png

五、心得体会

  • 本周学习的章节我觉得比较抽象,其中后台运作的过程我们看不到,所以对运行结果感到很疑惑,我和小伙伴们花费了大量的时间去理解这个运行结果。
  • 后来我在想,能不能也来个调试什么的来看看线程内部的运行情况,结果发现调试之后思路就清晰了许多。最终算是比较清楚了掌握了本章的内容。

六、学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第九周 1255/6303 3/25 21/205
  • 计划学习时间:23小时

  • 实际学习时间:21小时

  • 改进情况:
    • 多看书,提高阅读速度、理解能力。
    • 合理安排时间,充分利用碎片时间。

七、参考资料

转载于:https://www.cnblogs.com/xiannvyeye/p/10816906.html

你可能感兴趣的文章
win10系统的一些经验
查看>>
os和shutil模块
查看>>
C/C++编译过程详解
查看>>
31、路由器搭建帧中继云
查看>>
模板分页封装
查看>>
分布式系统之Quorum (NRW)算法
查看>>
jQuery:理解$(document).ready()的特殊写法
查看>>
使用Jenkins进行持续构建与发布应用到Kubernetes集群中
查看>>
Elasticsearch 分片交互过程分析
查看>>
数据库事务原子性、一致性是怎样实现的?
查看>>
BPMN 2.0规范详解
查看>>
恢复被错误改动的文件权限
查看>>
Centos7环境下nginx配置
查看>>
每天学习一个LINUX命令:pwd 显示当前目录(Print-Working-Directory)
查看>>
48、LNMP架构介绍|mysql安装|php安装|nginx介绍
查看>>
Confluence 6 空间
查看>>
关于网卡上网问题
查看>>
2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理
查看>>
mysql导入导出数据出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option...
查看>>
清除vista通知区域历史记录手动清除哦
查看>>