20155224 2016-2017-2 《Java程序设计》第9周学习总结
20155224 2016-2017-2 《Java程序设计》第9周学习总结
教材学习内容总结
第十六章
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:
 
教材学习中的问题和解决过程
问题1:JDBC驱动程序有哪些类型,有什么区别。
问题1解决方案:
- JDBC分为:
 
JDBC-ODBC Bridge Driver
Native API Driver
JDBC-Net Driver
Native Protocal Driver
- JDBC-ODBC桥
作为JDK1.1后的一部分,是sun.jdbc.odbc包的一部分。
Application--->JDBC-ODBC Bridge(Type1 jdbc driver)---->JDBC-ODBC Library--->ODBC Driver-->Database
适用于快速的原型系统,没有提供JDBC驱动的数据库如Access。 - JAVA to Native API
利用开发商提供的本地库来直接与数据库通信。
Application--->JDBC Driver(Type2 jdbc driver)---->Native Database library---->Database
比Type1性能略好。 - Java to net
Application--->Jdbc Driver(Type3 jdbc driver)----->java middleware--->JDBC Driver---->Database
具有最大的灵活性,通常由那些非数据库厂商提供,是四种类型中最小的。 - JAVA to native dababase
Application--->Jdbc driver(type4 jdbc driver)----->database engine--->database
最高的性能,通过自己的本地协议直接与数据库引擎通信,具备在Internet装配的能力。 
- JDBC-ODBC桥
 
- 问题2:不同类加载器加载同一文档,生成的两个实例有什么区别?
 - 问题2解决方案:
- 在加载类时,每个类加载器会将加载类任务交给父加载器。若找不到父加载器则自己加载。
 - 类加载器都继承自抽象类java.lang.ClassLoader,每个.class文档加载过后都有个Class实例来代表。
 - 由同一类加载器载入的.class文档只会有一个Class实例。若有两个类加载器载入同一文档,则有两个不同的Class实例。
 
 
代码调试中的问题和解决过程
- 问题1:教材521页MessageDAODemo3程序中
C16P518DAO3 dao = new C16P518DAO3(new C16P519SCPDS());一句,不能连接到519页SimpleConnectionPoolDataSource的数据。 - 问题1解决方案:更改了程序的指向。
 - 问题2:做出问题一更改后,教材518页程序MessageDAO程序
 
public C16P518DAO3(C16P519SCPDS dataSource) {
        this.dataSource = dataSource;
    }
中的DataSource指向出错,不能指向SimpleConnectionPoolDataSource。
- 问题2解决方案:重新更改指向,两个问题一起解决。
 
代码托管
代码提交过程截图:
- 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图

 
- 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
 代码量截图:
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图

 
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图
 
上周考试错题总结
- Linux中使用rm删除文件时,如果想忽略提示,直接删除文件,可以使用()选项强制删除。
 
A .
-r
B .
-R
C .
-c
D .
-f
正确答案: D
- 正则表达式”(‘|”)(.*?)\1”匹配 “'Hello',"World””的结果是()
 
A .
不匹配
B .
'Hello'
C .
"World"
D .
'Hello',"World"
正确答案: B C
- abc? 匹配( )
 
A .
ab
B .
abc
C .
abcc
D .
abccc
正确答案: A B
- 正则表达式 zo* 匹配()
 
A .
z
B .
zo
C .
zoo
D .
zooooooooooooooooooooooooooo
正确答案: A B C D
- 以下代码,第五行和第七行设为()结果只会出现两条日志信息:
1 import java.util.logging.*;
2 public class LoggerDemo {
3 public static void main(String[] args) {
4 Logger logger = Logger.getLogger(LoggerDemo2.class.getName());
5 logger.setLevel(XXX);
6 for(Handler handler : logger.getParent().getHandlers()) {
7 handler.setLevel(XXX);
8 }
9 logger.log(Level.WARNING, "WARNING 訊息");
10 logger.log(Level.INFO, "INFO 訊息");
11 logger.log(Level.CONFIG, "CONFIG 訊息");
12 logger.log(Level.FINE, "FINE 訊息");
13 }
14 } 
A .
Level.FINE
B .
Level.CONFIG
C .
Level.INFO
D .
Level.WARNING
正确答案: C
- 哪个类代表可重用的正则表达式?
 
A  .
Pattern
B  .
Matcher
C  .
Glob
D  .
Regex
正确答案: A
- Which of the following array declarations are invalid? (下面哪个数组声明是不合法的)
 
A .
int[] grades = new int[5];
B .
int grades[] = new int[5];
C .
int[] grades = { 91, 83, 42, 100, 77 };
D .
all of the above are valid(以上三个都合法)
E .
none of the above are valid(以上三个都不合法)
正确答案: D
Which of the statements is true about the following code snippet?(对于下面的代码段,说法正确的是?)
int[] array = new int[25]; array[25] = 2;
A .
The integer value 2 will be assigned to the last index in the array.(整数2会赋给数组中最后一个元素)
B .
The integer value 25 will be assigned to the second index in the array.(整数25会赋给数组中的第2个索引)
C .
The integer value 25 will be assigned to the third value in the array. (整数25会赋给数组中的第3个元素)
D .
This code will result in a compile-time error.(代码会产生编译时错误)
E .
This code will result in a run-time error. (代码会产生运行时错误)
正确答案: E
- 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
结对及互评
评分标准
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
 - 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
 - 排版混乱的不加分
 
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
 - 缺少“代码调试中的问题和解决过程”的不加分
 - 代码托管不能打开的不加分
 - 缺少“结对及互评”的不能打开的不加分
 - 缺少“上周考试错题总结”的不能加分
 - 缺少“进度条”的不能加分
 - 缺少“参考资料”的不能加分
 
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
 
其他加分:
- 周五前发博客的加1分
 - 感想,体会不假大空的加1分
 - 排版精美的加一分
 - 进度条中记录学习时间与改进情况的加1分
 - 有动手写新代码的加1分
 - 课后选择题有验证的加1分
 - 代码Commit Message规范的加1分
 - 错题学习深入的加1分
 - 点评认真,能指出博客和代码中的问题的加1分
 - 结对学习情况真实可信的加1分
 
扣分:
- 有抄袭的扣至0分
 - 代码作弊的扣至0分
 - 迟交作业的扣至0分
 
点评模板:
- 博客中值得学习的或问题:
- xxx
 - xxx
 - ...
 
 - 代码中值得学习的或问题:
- xxx
 - xxx
 - ...
 
 - 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
 
点评过的同学博客和代码
- 本周结对学习情况
结对照片

结对学习内容
- 上周错题的理解与掌握。
 - 第十六章教材学习中遇到的问题进行讨论。
 - 第十六章代码调试中遇到的问题进行讨论。
 
 - 上周博客互评情况
 
其他(感悟、思考等,可选)
本周实验耗时很多,正则表达式需要细心检查逻辑关系,让我学到了很多。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | 
|---|---|---|---|
| 目标 | 2000行 | 30篇 | 200小时 | 
| 第一周 | 20/20 | 1/1 | 4/4 | 
| 第二周 | 73/93 | 1/2 | 4/8 | 
| 第三周 | 231/324 | 1/3 | 6/14 | 
| 第四周 | 842/1166 | 1/4 | 15/29 | 
| 第五周 | 1134/2300 | 1/5 | 21/50 | 
| 第六周 | 1088/3388 | 1/6 | 23/73 | 
| 第七周 | 518/3906 | 1/7 | 9/82 | 
| 第八周 | 387/4293 | 1/8 | 11/93 | 
| 第九周 | 760/5053 | 1/8 | 29/122 | 
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:XX小时
实际学习时间:XX小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
20155224 2016-2017-2 《Java程序设计》第9周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
		
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
 - 20145213《Java程序设计》第二周学习总结
		
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
 - 20145213《Java程序设计》第一周学习总结
		
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
 - 21045308刘昊阳 《Java程序设计》第九周学习总结
		
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
 - 20145330孙文馨   《Java程序设计》第一周学习总结
		
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
 - 20145337 《Java程序设计》第九周学习总结
		
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
 - 20145337 《Java程序设计》第二周学习总结
		
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
 - 20145218《Java程序设计》第一周学习总结
		
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
 - 《Java程序设计》第九周学习总结
		
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
 - 《Java程序设计》第二周学习总结
		
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
 
随机推荐
- 51nod 1349 最大值
			
题目看这里 找到每个元素g[i]作为最大值的区间[L,R],那么以他为最大值的区间数有(i-L+1)*(R-i+1)个. 为了加速,以k为最大值的区间数放入H[k],再以此统计一个前缀和,更新入H.那 ...
 - kernel3.13 针对 Vmware安装存在的问题解决
			
vthread-3| W110: Failed to build vmnet. Failed to execute the build command VMware module patches an ...
 - JS实现快速排序算法
			
以下贴出两种实现方式,结果一样,但有些许的差别: 第一种: <script type="text/javascript"> var arr=[6,7,8,3,4,5,9 ...
 - [attribute |= value] 与 [attribute ^= value],[attribute ~= value] 与 [attribute *= value] 的联系与区别
			
[attribute |= value] 与 [attribute ^= value] 的联系与区别: 一.联系: 1. 两个选择器的 attribute 属性值等于 value 时都可以匹配 < ...
 - 弹框插件self(动效兼容到IE9,功能兼容IE6)
			
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
 - SoapUI这么好,舍得不用吗?
			
之前尝试去学习哈SoapUI, 安装都报错,直接拖黑不用,对java开发的产品本身不感冒 后来工作上,和老外沟通,发现他们不会用xmlspy,只会SoapUI,心里都想,不学习看来不方便,然后都安装了 ...
 - 利用memcached实现分布式锁
			
一 需求场景: (1) 需要限制用户创建提现订单的频率:目的一是防止前端bug引起的用户重复提交:二是防止并发攻击绕过提现策略(第一次提现和第二次提现门槛可能不同). (2) 需要限制秒杀下同一用户 ...
 - MAX7456和DP7456的对比
			
DP7456 是一款集成了 EEPROM 的单通道.单色随屏显示发生器,集成了视频驱动器.同步分离器.视频分离开关以及 EEPROM,提高了系统的集成度,有效降低了系统成本. DP7456 采用符合 ...
 - 利用maven开发springMVC项目——开发环境搭建(版本错误解决)
			
申明:部分内容参见别人的博客,没有任何的商业用途,只是作为自己学习使用.(大佬博客) 一.相关环境 - eclipse :eclipse-jee-oxygen-3-win32-x86_64(下载地址) ...
 - Eclipse部署Web项目,常用操作和常见错误的解决方案
			
部署Web项目到tomcat 在eclipse中找到Servers项,打开服务器(F3)(建议直接删除服务器,重新建立再设置比较好)1.Servers Locations 中选择Use Tomcat ...
 
			
		
