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

java

教材学习内容总结

第十六章

①JDBC(Java DataBase Connectivity)

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

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

插图1:

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

驱动的四种类型:

  • JDBC-ODBC Bridge Driver
  • Native API Driver 提供原生链接库
  • JDBC-Net Driver 将方法调用转换为特定的网络协议调用
  • Native Protocal Driver

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

建立数据库的步骤:

  1. 注册Driver的操作对象
  2. 取得Connection操作对象
  3. 关闭connection操作对象

(1)Statemet和Resultset

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

可使用ConnectioncreateStatemet()建立Statemet对象。

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

(2)PreparedStatement和CallableStatement

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

②RowSet

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

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

第十七章

①运用反射

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

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

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

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

②了解类加载器(ClassLoader

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

插图2:

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

第十八章

①自定义泛型

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

共变性(Covariance):,BA的子类,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版)》学习指导
  • ...

以上是 20145314郑凯杰 《Java程序设计》第9周学习总结 积极主动敲代码 的全部内容, 来源链接: utcz.com/z/389589.html

回到顶部