20155308 2016-2017-2 《Java程序设计》第9周学习总结
教材学习内容总结
第十六章 整合数据库
- 16.1 JDBC入门
- 驱动的四种类型
- JDBC-ODBC Bridge Driver
- Native API Driver
- JDBC-Net Driver
- Native Protocal Driver
- 服务提供者框架(Service Provider Framework):多个服务提供者实现一个服务,系统为服务提供者的客户端提供多个实现,并把他们从多个实现中解耦出来
- 组件
- 服务接口(Service Interface)
- 提供者注册API(Provider Registration API)
- 服务访问API(Service Access API)
- 服务提供者接口
+JDBC API - 服务接口(Service Interface): Connection
- 提供者注册API(Provider Registration API):DriverManager.registerDriver
- 服务访问API(Service Access API):DriverManager.getConnection
- 服务提供者接口:Driver
- 连接数据库
- 注册Driver: DriverManager.registerDriver()
- 获取Connection: Connection conn = DriverManager.getConnection(jdbcUrl, userName, password);
- 关闭Connection:
- 16.2 JDBC进阶
- 使用XAMPP中的PHPAdmin 建好数据库并进行测试
- 建数据库: CREATE SCHEMA demo;
- 建数据库表
第十七章 反射与类加载器
- 17.1 运用反射
- 17.2 了解加载器
第十八章 自定义泛型、枚举与注释
- 18.1 自定义泛型
- 18.2 自定义枚举
- 18.3 关于注解
教材学习中的问题和解决过程
- 问题1:书P509:ConnectionDemo.java,如果你在设计API,用户无法提供JDBC URL、名称、密码时,你要怎么取得Connection?
- 问题1解决方案:接下来要执行SQL的话,必须取得java.sql.Statement操作对象,它是SQL描述的代表对象,可以使用Connection的creatStatement()建立Statement对象。
- 问题2:书P513范例中为什么没有用Class.forName()载入Diver操作类?
- 问题2解决方案:JDK6之后支持JDBC4.0,只要驱动程序中JAR有/services/java.sq;.Driver文档,就会自动读取。
代码调试中的问题和解决过程
- 问题1:p555 Student.java这段代码中缺少了后面函数中调用的size(),运行失败
- 问题1解决方案:自己构造了一个size()
代码托管
上周考试错题总结
-
错题1:NIO2中,可以使用()中的方法取出文件系统根目录信息。
A .Path
B .DirectoryStream
C .FileStore
D .FileSystem -
正确答案: D 。
FileSystem的getRootDirectorie方法 -
错题2:正则表达式 zo* 匹配()
A .z
B .zo
C .zoo
D .zooooooooooooooooooooooooooo -
正确答案: A B C D 。
*可以是0次 -
错题3:It is possible to send in data to a Java program via the command-line.(可以在命令行中给Java程序发送数据)
A .True
B .False -
正确答案: A 。Command-line arguments can be sent in to a Java program. They are sent into the program via the args[] array.
-
错题4:In Java, array indexes always begin at ________________ .(Java中,数组索引从______开始)
A .-1
B .0
C .1
D .2
E .you can declare an array to have any indexes you choose(可以任意指定)
正确答案: B 。In Java, the array indexes are from 0 to one less than the length of the array.
结对及互评
这周我和20155316黄月同学一起学习
- 博客中值得学习的或问题:“教材学习中的问题和解决过程”部分写的很仔细,给了我很多帮助。
基于评分标准,我给本博客打分:15分。得分情况如下:
1.正确使用Markdown语法(加1分);
- 模板中的要素齐全(加1分);
- 教材学习中的问题和解决过程(加3分);
- 代码调试中的问题和解决过程(加1分);
- 本周有效代码超过300分行的(加2分);
- 其他加分:
- 感想,体会不假大空的加1分;
- 进度条中记录学习时间与改进情况的加1分;
- 有动手写新代码的加1分;
- 代码Commit Message规范的加1分;
- 错题学习深入的加1分;
- 点评认真,能指出博客和代码中的问题的加1分;
- 结对学习情况真实可信的加1分。
http://www.cnblogs.com/protectmonarch/p/6718619.html
点评过的同学博客和代码
-
本周结对学习情况 :和黄月同学共同学习
-
结对学习内容: 着重学习了整合数据库
-
上周博客互评情况
其他(感悟、思考等,可选)
- 本周的学习任务很重,感觉压力大。因为这周需要安装几个新的软件,而我对安装具有一种恐惧感,总是会出现问题,所以还需要自己进行配置进行摸索。而自己也花费了很长的时间进行安装,但是结果还是很感人的。
- 我感觉学习了这么长时间的java,整个学习方法还有学习的成果很是喜人的,希望自己还能继续努力!
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | 安装软件 |
第二周 | 300/500 | 2/4 | 18/38 | 接触java的基础知识 |
第三周 | 500/1000 | 3/7 | 22/60 | 深入学习了java |
第四周 | 300/1300 | 2/9 | 30/90 | 了解了继承与多态、接口与多态 |
第五周 | 400/1700 | 2/11 | 30/120 | 学会了异常处理及Collection与Map |
第六周 | 400/2100 | 2/13 | 30/150 | 了解输入与输出 、线程与并行API |
第七周 | 400/2500 | 4/17 | 30/180 | 认识时间与日期。学会了异常处理及Collection与Map |
第八周 | 500/3000 | 2/19 | 20/200 | 通用API |
第九周 | 500/3500 | 2/23 | 25/225 | 整合数据库 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 参考:软件工程软件的估计为什么这么难,软件工程 估计方法
- 计划学习时间:20小时
- 实际学习时间:20小时
- 改进情况:坚持情况很好
- (有空多看看现代软件工程 课件 软件工程师能力自我评价表)