苏州大学Android[韩冬]期末复习(2)

2020-05-01 11:54

务所需要的线程,那么就会回收部分空闲( 60 秒不执行任务)的线程,当任务数增加时,此线程池又可以智能地添加新线程来处理任务。此线程池不会对线程池大小做限制,线程池大小完全依赖于操作系统(或者说 JVM)能够创建的最大线程大小。

( 2) newFixedThreadPool: 创建固定大小的线程池。每次提交一个任务就创建一个线程,直到线程达到线程池的最大大小。线程池的大小一旦达到最大值就会保持不变,如果某个线程因为执行异常而结束,那么线程池会补充一个新线程。

( 3) newSingleThreadExecutor: 创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执行所有任务。如果这个唯一的线程因为异常结束,那么会有一个新的线程来替代它。此线程池保证所有任务的执行顺序按照任务的提交顺序执行。

( 4) newScheduledThreadPool:创建一个定长线程池, 此线程池支持定时以及周期性执行任务的需求。

12. MyBatis与JDDC相比的优势是什么?

(1) 数据库连接不再过于频繁。 (2) SQL语句比较集中 (3) SQL语句参数比较灵活 (4) 支持结果映射和结果缓存。 (5) SQL 重用度提高。 (6) 相对安全

13. 将MyBatis引入到项目中都有哪些步骤?

(1)引入 MyBatis 的 JAR 包; (2)配置 MyBatis 的 XML 配置文件; (3)编写映射接口和 SQL 映射 XML 文件;

(4) 在应用中使用接口,获得结果。

14. Fragment的生命周期是什么?试编程加以说明。

(1) 当一个 Fragment 被创建的时候,它会经历以下状态: onAttach()→onCreate()→onCreateView()→onActivityCreated()。

(2) 当这个 Fragment 对用户可见的时候,它会经历以下状态: onStart()→onResume()。 (3) 当这个 Fragment 进入后台的时候,它会经历以下状态: onPause()→onStop()。 (4) 当这个 Fragment 被销毁了(或者持有它的 Activity 被销毁了),它会经历以下状态: onPause()→onStop()→onDestroyView()→onDestroy()→onDetach()。

(5) 一旦 Activity 进入 Resumed 状态(也就是 Running 状态),你就可以自由地添加和删除 Fragment 了。因此,只有当 Activity 在 Resumed 状态时, Fragment 的生命周期才能独立地运转,其它时候是依赖于 Activity 的生命周期变化的。

15. 如何把Fragment加入到Activity中?试编程加以说明。

当 Fragment 被加入 Activity 中时,它会处在对应的 View Group 中。 加载方式①:通过 Activity 的布局文件将 Fragment 加入 Activity 加载方式②:通过编程的方式将 Fragment 加入到一个 ViewGroup 中。

16. 如何安装配置Maven?请简要加以说明。

1. 安装JDK 2. 下载Maven 3. 配置环境变量

4. 给Maven添加本地仓库 5. 配置用户范围settings.xml 6. 错误处理

7. 设置MAVEN_OPTS环境变量

17. 何为Maven坐标?何为Maven仓库?如何编写POM?

?

坐标:

maven 的坐标通过 5 个元素进行定义,其中 groupId、 artifactId、 version 是必须的, packaging 是可选的(默认为 jar), classifier 是不能直接定义的。

? groupId:定义当前 Maven 项目所属的实际项目, 跟 Java 包名类似,通常与域名反向

一一对应。

? artifactId:定义当前 Maven 项目的一个模块,默认情况下, Maven 生成的构件,其文件

名会以 artifactId 开头,如 hibernate-core-3.6.5.Final.jar。 ? version:定义项目版本。

? packaging:定义项目打包方式,如 jar, war, pom, zip,……,默认为 jar。 ? classifier : 定 义 项 目 的 附 属 构 件,如 hibernate-core-3.6.6.Final-sources.jar ,

hibernate-core-3.6.6.Final-javadoc.jar,其中 sources 和 javadoc 就是这两个附属构件的 classifier。 classifier 不能直接定义,通常由附加的插件帮助生成。 ?

仓库:

在 Maven 的术语中,仓库是一个位置(place),例如目录,可以存储所有的工程 jar 文件、library jar 文件、插件或任何其他的工程指定的文件。 Maven 仓库有三种类型:

? ? ?

本地(local) 中央(central) 远程(remote)

Maven仓库就是放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR,这节省了磁盘资源。 ?

编写POM

http://www.blogjava.net/qileilove/articles/410638.html

就像Make的Makefile、Ant的build.xml一样,Maven项目的核心是pom.xml。POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。现在先为Hello World项目编写一个最简单的pom.xml。

首先创建一个名为hello?world的文件夹,打开该文件夹,新建一个名为pom.xml的文件,输入其内容,如代码清单3-1所示。

代码清单3-1 Hello World的POM

1.

2. 6. 4.0.0 7. com.juvenxu.mvnbook 8. hello?world 9. 1.0?SNAPSHOT

10. Maven Hello World Project 11.

代码的第一行是XML头,指定了该xml文档的版本和编码方式。紧接着是project元素,project是所有pom.xml的根元素,它还声明了一些POM相关的命名空间及xsd元素,虽然这些属性不是必须的,但使用这些属性能够让第三方工具(如IDE中的XML编辑器)帮助我们快速编辑POM。

根元素下的第一个子元素modelVersion指定了当前POM模型的版本,对于Maven 2及Maven 3来说,它只能是4.0.0。

这段代码中最重要的是包含groupId、artifactId和version的三行。这三个元素定义了一个项目基本的坐标,在Maven的世界,任何的jar、pom或者war都是以基于这些基本的坐标进行区分的。

groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。譬如在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp。本书中所有的代码都基于groupId com.juvenxu.mvnbook。

artifactId定义了当前Maven项目在组中唯一的ID,我们为这个Hello World项目定义artifactId为hello?world,本书其他章节代码会分配其他的artifactId。而在前面的groupId为com.googlecode.myapp的例子中,你可能会为不同的子项目(模块)分配artifactId,如myapp?util、myapp?domain、myapp?web等。

顾名思义,version指定了Hello World项目当前的版本——1.0?SNAPSHOT。SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。随着项目的发展,version会不断更新,如升级为1.0、1.1?SNAPSHOT、1.1、2.0等。6.5节会详细介绍SNAPSHOT,第13章会介绍如何使用Maven管理项目版本的升级发布。


苏州大学Android[韩冬]期末复习(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:结题报告 课程理念下教师教学方式和学生学习方式转变的结题报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: