20165305 苏振龙《Java程序设计》第七·周课上测试补做

第十一章

?如果想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run()方法中。
?如果想要加装主线程,就要创建 Thread 实例,要启动额外的主线程就是调用 Thread 实例的 start() 方法。
?主线程会从main()方法开始执行,直到main()方法结束后停滞JVM。如果主线程中启动了额外线程,默认会等待被启动的所有线程都执行完run()方法才终止JVM。如果一个Thead被表示为Daemon线程,在所有的非Daemon线程都结束时,JVM自动就会终止。
?Thread基本状态图:优先权高的先执行,否则输流执行。start——>runnable——>(blocked)——>running——>dead
?安插线程:当线程使用join()加入至另一个线程时,另一个线程会等待被加入的线程工作完毕,然后在继续它的动作,join()的意思表示将线程加入称为另一个线程的流程中。
?停止线程:线程完成run()方法后,就会进入Dead,进入Dead的线程不可以再次调用start()方法,否则会抛出IllegalThreadStateException异常。

import java.util.Arrays;

?CopyOnWriteArraySet操作了List接口,这个类的实例在写入操作时,内部会建立新数组,并复制原有数组索引的参考,然后在新数组上进行写入操作,写入完成后,再将内部原参考旧数组的变量参考至新数组.

代码托管

代码截图

学习总结

?在学习时,不正确的使用synchronized会出现“死结”
?为了避免Lock对象的lock方法后,在后续执行流程中抛出异常而无法解除锁定,一定要在finally中调用Lock对象的unlock方法。

原文地址:https://www.cnblogs.com/2332175994-1314/p/8848790.html

时间: 2025-01-08 03:09:18

20165305 苏振龙《Java程序设计》第七·周课上测试补做的相关文章

20165305 苏振龙《Java程序设计》第四周课上测试补做

第一次测试 第二次测试 第三次测试 上传代码 第四次测试 总结 之前我一直在git bash进行程序设计,但是对于我来说操作起来有点困难,所以我改用了虚拟机,之后之前一直困扰我的问题在虚拟机下就没有了,而且一些·不要能进行的操作例如"tree","jdb调试"等都可以顺利进行.在上一周的课上试验中因为在用git bash运行代码时总是出现不识别的地方,并且也一直没有很好的解决,在以后的学习中我会多留意一些,看是否能找到解决方法. 原文地址:https://www.c

20165305 苏振龙《Java程序设计》第八周课上测试补做

1. 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截图 2. 编写程序,查询世界上超过"你学号前边七位并把最后一位家到最高位,最高位为0时置1"(比如学号20165201,超过3016520:学号20165208,超过1016520)的所有城市列表,提交运行结果截图 3. 编写程序,查询世界上的所有中东国家的总人口 4. 编写程序,查询世界上的平均

20165305 苏振龙《Java程序设计》第一周学习总结

20165305 <Java程序设计>第一周学习总结 教材学习内容总结 我重点学习了jdk安装后面的第一章内容,算是更进一步的的了解了一些Java方面的基础知识. Java平台概论 Java SE(Java 2 Platform Standard Edition标准版) Java EE(Java 2 Platform Enterprise Edition企业版) Java ME(Java 2 Platform Micro Edition微型版) Java SE的四个组成部分 JVM:Java虚

20165305 苏振龙 《Java 程序设计》第一次测试总结

第一个代码运行结果截图 功能:从1到5305进行求和 第二个代码运行结果截图 代码托管 第三个代码运行结果截图 (1)源文件的名字为Person.java (2)生成2个字节码文件,名字为Person.class和Xiti.class 由于第一周的作业我并没有完成,所以在测试时,打代码占据了我很大的一段时间,还有对于Git Bash命令的熟悉,所以并没有按时的完成测试任务.第一个测试,由于我的粗心,再打代码是把K写成k,使得代码没有运行成功,在我发现错误后,也没能按时的提交代码.第二个测试,因为

20165305 苏振龙《Java程序设计》第三周学习总结

面向对象和面向过程: 面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将过程封装进对象,强调具备了功能的对象,面向对象是基于面向过程的. 面向对象的三个特征: 封装,继承,多态: 对象的使用: 1.找对象: 2.建立对象: 3.使用对象: 4.维护对象的关系. 对象与类的关系: 要产生对象必须先定义类,类是对象的设计图,对象是类的实例. 映射到Java中,具体对象就是对应Java在堆内存中用new建立的实体.每个对象都由"类"定义.类描述对象的变量.属性.过程和事件.

20165305 苏振龙《Java程序设计》第四周学习总结

第五章 5.1 封装 封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作.通过构造方法(构造函数)封装初始化流程通过成员方法(函数)封装操作通过成员变量封装数据 5.2类语法细节 1.如果没有声明权限修饰的成员,只有在相同包的类程序代码中才可以直接存取,也就是"包范围权限".如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,在Java中要使用pub

20165305 苏振龙《Java程序设计》第八周学习总结

第十二章 Lambda表达式中this的参考对象以及toString()的接受者,是来自Lambda的周围环境,也就是看Lambda表达式是在哪个名称范畴,就能参考该范畴内的名称,像是变量或方法 JDK8提供了方法参考的特性,可以重用byLength方法 Lambda表达式只是定义函数接口操作的一种方式,除此之外,只要静态方法的方法签署中,参数与返回值定义相同,也可以使用静态方法来定义函数接口操作 方法参考不仅避免了重复撰写Lambda表达式,也可以让程序代码更清楚 Lambda表达式本身是中性

20145311 《Java程序设计》第九周学习总结

20145311 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1JDBC 16.1.1JDBC简介 JDBC(Java DataBase Connectivity)是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层数据库驱动程序的差异性. 厂商在操作JDBC驱动程序时,依方式可将驱动程序分为4种类型: ·Type 1:JDBC-ODBC Bridge Driver·Type 2:Native API

20165208 2017-2018-2 《Java程序设计》第九周学习总结

20165208 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 URL类 URL对象包含三部分信息:协议.地址和资源 创建URL对象两种方法: public URL (String spec) throws MalformedURLException public URL(String protocol,String host,String file) throws MalformedURLException 使用字符串初始化一个URL对象URL ur