20155209 2016-2017-2 《Java程序设计》第九周学习总结 ## 教材学习内容总结
教材学习内容总结
- JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。
- 执行流程:
•连接数据源,如:数据库。
•为数据库传递查询和更新指令。
•处理数据库响应并返回的结果。 - JDBC 架构
分为双层架构和三层架构。 - 双层构架:
- 作用:此架构中,Java Applet 或应用直接访问数据源。
- 条件:要求 Driver 能与访问的数据库交互。
- 机制:用户命令传给数据库或其他数据源,随之结果被返回。
- 部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网)。
- 三层构架:
侧架构特殊之处在于,引入中间层服务。 - 流程:命令和结构都会经过该层。
- 吸引:可以增加企业数据的访问控制,以及多种类型的更新;另外,也可简化应用的部署,并在多数情况下有性能优势。
- 历史趋势: 以往,因性能问题,中间层都用 C 或 C++ 编写,随着优化编译器(将 Java 字节码 转为 高效的 特定机器码)和技术的发展,如EJB,Java 开始用于中间层的开发这也让 Java 的优势突显出现出来,使用 Java 作为服务器代码语言,JDBC随之被重视。
- 当程序主动使用某个类时,若该类还没加载到内存中,系统会通过加载,链接,初始化3个操作对类进行初始化。
- 类字面常量”,class”创建Class对象的引用时,不会自动地初始化该Class对象,准备工作包含3个步骤:
- 1.加载:由类加载器执行,该步骤查找字节码,并从这些字节码中创建一个Class对象
- 2.链接:在链接阶段将验证类中的字节码,为静态域分配存储空间,并且如果必需的话,将解析这个类创建的对其他类的所有引用。
- 3.初始化:如果该类有超类,则对其初始化,执行静态初始化器和静态初始化块
- 泛型定义:
(1)仅定义在方法上的泛型语法
(2)用来限制泛型可用类型的extends与super关键字
(3)?类型通配字符的使用
教材学习中的问题和解决过程
- 问题一:MySQL数据库、数据库与数据库表三者关系
- 30钟入门MySQL
- 问题二:类的初始化时机
- 类的初始化时机
- 1.创建类的实例
- 2.访问类或接口的静态变量(static final常量除外,static final变量可以)
- 3.调用类的静态方法
- 4.反射(Class.forName(packageName.className))
- 5.初始化类的子类(子类初始化问题:满足主动调用,即访问子类中的静态变量、方法,否则仅父类初始化)
- 6.java虚拟机启动时被标明为启动类的类
注:加载顺序:启动类的static block最先加载
(父类静态成员、静态代码块—>子类静态成员、静态代码块—>父类实例成员、代码块——>父类构造函数—>子类实例成员、代码块—>子类构造函数)
我- 们需要明白在JAVA中任何class都要装载在虚拟机上才能运行,而forClass就是装载类用的,这是要和new不一样,要分清楚哦。
- A a = (A)Class.forName(“package.A”).newInstance();和 A a = new A;是等价的。
记住一个概念,静态代码是和class绑定的,class装载成功就表示执行了你的静态代码,而且以后不会再走这套静态代码了。 - Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也即是说JVM会执行该类的静态代码段。
- 问题三:类加载的三种机制
- 问题四:Class类提供的获取类的构造方法
Class类提供了四个public方法,用于获取某个类的构造方法。
Constructor getConstructor(Class[] params)
根据构造函数的参数,返回一个具体的具有public属性的构造函数
- Constructor getConstructors()
返回所有具有public属性的构造函数数组
- Constructor getDeclaredConstructor(Class[] params)
根据构造函数的参数,返回一个具体的构造函数(不分public和非public属性)
- Constructor getDeclaredConstructors()
返回该类中所有的构造函数数组(不分public和非public属性)
- 问题五:泛型的好处
- 类型安全。泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。
- 消除强制类型转换。泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。 尽管减少强制类型转换可以降低使用泛型类的代码的罗嗦程度,但是声明泛型变量会带来相应的罗嗦
- 潜在的性能收益。泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译器这一事实,为未来版本的JVM 的优化带来可能。 - 枚举泛型详解
代码调试中的问题和解决过程
- 代码仔细认真按照书中顺序打,除了几处书中印刷错误没有发现更大错误。
代码托管
代码提交过程截图:
- 代码量截图:
上周考试错题总结
- Linux中使用cp命令拷贝目录时要加上(a,d)选项。
A .
-r
B .
-directory
C .
-all
D .
-R - ByteBuffer 调用了flip(a)之后,position的值一定是0。
A .
True
B .
False - 正则表达式”(‘|”)(.*?)\1”匹配 “'Hello',"World””的结果是(b,c)
A .
不匹配
B .
'Hello'
C .
"World"
D .
'Hello',"World" - Java 日志 API 中,输出的日志会经过哪两个类别的过滤?a,b
A .
Logger
B .
Handler
C .
Formatter
D .
Stream - Date 的 API 有许多方法都不再建议使用,应改用哪个类别的相关方法取
代? d
空白部份指定哪些型态可以通过编译?
A .
DateFormat
B .
TimeStamp
C . - 哪个类代表可重用的正则表达式?a
A .
Pattern
B .
Matcher
C .
Glob
D .
Regex
Time
D .
Calendar - Suppose we have an array of String objects identified by the variable names. Which of the following for loops will not correctly process each element in the array.(假如我们有一个名为names的String对象数组,下面哪个for循环不能遍历数组中的每一个元素?) c
A .
for(int i = 0; i < names.length; i++)
B .
for(String name : names)
C .
for(int i = 0; i < names.length(); i++)
D .
none of these will correctly process each element(以上都不能遍历)
E .
all of these will correctly process each element(以上都能遍历)
- Which of the following array declarations are invalid? (下面哪个数组声明是不合法的)d
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(以上三个都不合法)
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
- 20155230
- 基于评分标准,我给本博客打分:10。得分情况如下:
1.正确使用Markdown语法,加1分
2.模板中的要素齐全,加1分
3.教材学习中的问题和解决过程, 一个问题加2分,
4.代码调试中的问题和解决过程, 一个问题加2分,
5.本周有效代码超过300分行的(加2分)
6.有动手写新代码的加1分
7.其他加分:1分
- 代码Commit Message规范的加1分
- 上周博客互评情况
- 20155326
- 20155325
- 20155225
- 20155235
-
其他(感悟、思考等,可选)
从本周开始java书中的自学过程已经结束,课堂上也多了程序的操作,可能是因为书中学习时没有太认真,到自己编写程序的时候还是离要求差的很多,今后只能查漏补缺,尽自己最大的努力抓住老师同学们的学习节奏,争取不被甩出队伍。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 15篇 | 400小时 | |
第一周 | 10/10 | 1/1 | 10/20 | |
第二周 | 196/206 | 1/2 | 20/30 | |
第三周 | 391/597 | 1/3 | 20/50 | |
第四周 | 731/1328 | 1/4 | 30/80 | |
第五周 | 908/2236 | 1/5 | 20/100 | |
第六周 | 561/2797 | 1/6 | 20/120 | |
第七周 | 328/3125 | 2/8 | 20/140 | |
第八周 | 414/3539 | 1/9 | 15/155 | |
第九周 | 1175/4714 | 2/11 | 20/175 |
参考资料
20155209 2016-2017-2 《Java程序设计》第九周学习总结 ## 教材学习内容总结的更多相关文章
- 201521123027 <java程序设计>第九周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...
- 20145220java程序设计第九周学习总结
20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- # 20145118 《Java程序设计》第4周学习总结 ## 教材学习内容总结
20145118 <Java程序设计>第4周学习总结 教材学习内容总结 本周内容为教材第六.七两张内容. 重点概念: 1.面向对象中,子类继承父类,避免重复的行为定义,是一种简化操作. 2 ...
- 20145118 《Java程序设计》第5周学习总结 教材学习内容总结
20145118 <Java程序设计>第5周学习总结 教材学习内容总结 1.Java中所有错误都会被打包成对象,可以通过try.catch语法对错误对象作处理,先执行try,如果出错则跳出 ...
- 《Java 程序设计》课堂实践项目 课后学习总结
<Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
随机推荐
- 反编译微信小程序
最近看了个微信小程序古诗词全集,想知道他的前后端是怎么实现的,所以就想到了反编译.小程序安装后会有个wxapkg格式的文件存在/data/data/com.tencent.mm/MicroMsg/** ...
- maven手动添加jar包到本地仓库
推荐几个好的 Maven 常用仓库网址:http://mvnrepository.com/http://search.maven.org/ Maven 安装 JAR 包的命令是: mvn instal ...
- BZOJ3524[Poi2014]Couriers——主席树
题目描述 给一个长度为n的序列a.1≤a[i]≤n.m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2.如果存在,输出这个数,否则输出0. 输入 第一行 ...
- bzoj 4552 [Tjoi2016&Heoi2016]排序 (二分答案 线段树)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4552 题意: 给你一个1-n的全排列,m次操作,操作由两种:1.将[l,r]升序排序,2 ...
- P1306 斐波那契公约数
题目描述 对于Fibonacci数列:1,1,2,3,5,8,13......大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少? 输入输出格式 输入格式: 两个正整 ...
- 洛谷P2480 [SDOI2010]古代猪文(费马小定理,卢卡斯定理,中国剩余定理,线性筛)
洛谷题目传送门 蒟蒻惊叹于一道小小的数论题竟能涉及这么多知识点!不过,掌握了这些知识点,拿下这道题也并非难事. 题意一行就能写下来: 给定\(N,G\),求\(G^{\sum \limits _{d| ...
- html5 viewport使用
用html5开发移动应用时往往会遇到手机的分辨率或屏幕大小不同的问题,如何使我们开发出来的应用或页面大小能适合各种手机呢?html5中的viewport能帮你做到. viewport 语法介绍: &l ...
- hdu 2845 Beans(最大不连续子序列和)
Problem Description Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled ...
- Codeforces-gym-101020 problem C. Rectangles
题目链接:http://codeforces.com/gym/101020/problem/C C. Rectangles time limit per test 2.0 s memory limit ...
- 【codeforces contest 1119 F】Niyaz and Small Degrees
题目 描述 \(n\) 个点的树,每条边有一个边权: 对于一个 \(X\) ,求删去一些边后使得每个点的度数 \(d_i\) 均不超过 \(X\) 的最小代价: 你需要依次输出 \(X=0 \to n ...