您的位置:首页 > 编程语言 > Java开发

20145314郑凯杰 《Java程序设计》第9周学习总结 积极主动敲代码

2016-04-29 01:03 337 查看

20145314郑凯杰 《Java程序设计》第9周学习总结

教材学习内容总结

第十六章

①JDBC(
Java DataBase Connectivity
)

即java数据库连接,是一种用于执行SQL语句的
Java API


JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

插图1:



对于JDBC,其使用有两个步骤,一是首先进行驱动程序的装载,再进行连接的建立。

驱动的四种类型:

JDBC-ODBC Bridge Driver

Native API Driver 提供原生链接库

JDBC-Net Driver 将方法调用转换为特定的网络协议调用

Native Protocal Driver

此分类是按照操作方式来分类的。

建立数据库的步骤:

注册
Driver
的操作对象

取得
Connection
操作对象

关闭
connection
操作对象

(1)Statemet和Resultset

接下来执行SQL的话,必须取得
java.sql.Statement
操作对象。

可使用
Connection
createStatemet()
建立
Statemet
对象。

Resultset
next()
可通过返回
true
或者
false
表示是否有下一笔数据。

(2)PreparedStatement和CallableStatement

使用
Connection
preparedStatement()
方法建立预先编译(
Precompile
)的SQL语句,当参数会变动的部分,先指定“?”这个占位字符。

②RowSet

JDBC定义了
javax.sql.RowSet
接口,用以代表数据的列集合。这里的数据并不一定是数据库中的数据,可以是试算表数据、XML数据或任何具有行集合概念的数据源。

RowSet
ResultSet
的子接口,所以具有
ResultSet
的行为,可以使用
RowSet
对行集合进行增删查改,
RowSet
也新增了一些行为,如通过
setCommand()
设置查询命令、通过
execute()
执行查询命令以填充数据等。

第十七章

①运用反射

JAVA真正需要某个类时才会加载对应的
.class
文档,不是程序启动时就加载所有类。

通过
Object
getClass()
方法,或者
.class
常量取得每个对象对应的
class
对象,如果是基本类型,也可以使用对应的打包类加上
.TYPE
取得
Class
对象。例如,
Integer.TYP
E可取得代表
int
Class
对象。

使用
class.forName()
的方法来实现动态加载类。

java.lang.reflect.Method
实例是方法的代表对象,可以使用
invoke()
方法来动态调用指定的方法。

②了解类加载器
ClassLoader


JVM将类加载过程分为三个步骤:装载(
Load
),链接(
Link
)和初始化(
Initialize
)链接又分为三个步骤。

插图2:



另外,类的加载是什么意思呢? 指的是将类的
.class
文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个这个类的
Java.lang.Class
对象,用来封装类在方法区类的对象

第十八章

①自定义泛型

在定义泛型时,使用
extends
限定指定T实际类型时,必须是某类的子类。

共变性(
Covariance
):,
B
A
的子类,
Node<B>
可视为一种
Node<A>
,称
Node
具有共变性。

通配字符“?”与
extends
限制T的类型,只能通过T声明的名称取得对象指定给
Object
,或将T声明的名称指定为
null


②自定义枚举

enum
定义了特殊的类,继承自
java.lang.Enum


enum
是个抽象类,无法直接实例化。

enum
操作
Comparable
接口,
ordinal
的值是会使用
enum
枚举的成员顺序。
equals()
hashCode()
基本上继承了
Object
的行为,但被标示为
final


可以使用
values()
的方法,将内部维护
Action
枚举实例的数组复制后返回。

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

本周学习的重点在于对概念的理解,说实话这几张的内容已经可以作为选学内容了。在本学期的学习中,应该是不会用到了,所以本周我把精力会主要放在之前的复习上。而对这些章节的内容,会做到如果接触到的话一定能反应过来。

其他(感悟、思考等,可选)

JAVA厚厚的一本书终于学完了,突然觉得自己好有成就感,短短几周就学完了这样一门语言。有着与好友们一起开发程序梦想的我!终于可以用自己的双手开始实现这一想法了,真的很开心。多少个日日夜夜,对着屏幕敲代码,心中烦躁得不行,口中念骂着这语言为啥这么复杂,现在居然已经学完了。真是松了一口气,但是下一周,要把理论付诸实践!开始干吧!不要浪费每一秒青春的时间,用代码写出想写的东西!

现在也对得起那句话了:积极主动敲代码,没日没夜学加瓦。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周50/501/220/20
第二周700/6002/438/38
第三周900/11001/760/60
第四周913/13501/990/90
第六周764/13501/990/90
第七周314/13501/960/120
第八周293/13501/960/120
第九周xxx/13501/975/120

参考资料

Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: