20145208 《Java程序设计》第9周学习总结
20145208 《Java程序设计》第9周学习总结
教材学习内容总结
- 本周学习的内容有第十六周整合数据库,第十七章反射与类加载器,第十八章自定义泛型、枚举与注释。
- 在本周学习中,最大的难点就是整合数据库的学习,因为整合数据库对我来说是一个很陌生的学习内容,尤其是还需要我安装SQL数据库的一系列程序,xampp的安装和配置方面倒是还可以解决,但是涉及到网站方面的phpmyadmin更是让我不知道怎么办,最后只能通过命令行的方式来完成第十六周的学习和代码测试。
整合数据库
- 整合数据库首先要在我们的IDEA中增加JDBC的库,然后还要安装SQL数据库作为基础,然后去创建数据库。
- JDBC库的添加我会在下文中说明,SQL数据库的安装已经发在小组里面了
- SQL数据库安装
- 创建数据库的过程如下:
- 首先登陆

- 然后通过命令行指令建立数据库,建立表


- 其实就是使用了SQL命令行的语法,具体的语法网上都有详细的介绍
- 这个时候再运行代码就有结果了

- 这里需要把地址和用户名等信息改成自己的。
反射与类加载器
反射
反射就是从Class等API取得类信息的方式。
语法:
- getClass()
- Class.forName()
- getClassLoader()
- ……
代理:
- 静态代理
- 动态代理
类加载器
- 类加载器实际的职责就是载入
.class文档。 - 类加载器都继承自抽象类
java.lang.ClassLoader,由getClassLoader()取得加载对应文档的ClassLoader实例,getParent()方法可以取得父ClassLoader实例。
自定义泛型、枚举与注释
自定义泛型
- 泛型定义可以相当复杂,包括仅定义在方法上的泛型语法,用来限制泛型可用类型的
extends与super关键字,?类型通配字符的使用以及结合三者来模拟共变性和逆变性。 - 自定义泛型时,
extends限制指定T实际类型时,必须是某类的子类
自定义枚举
- 对于枚举的学习在之前第七章的时候就有过接触了
- 定义
enum时可以自行定义构造函数,条件是不得公开构造函数,也不可以在构造函数中调用super
注释
- 可以在原始代码中使用注释,对编译程序提供额外编译提示,或提供应用程序执行时期可读取的组态信息
教材学习中的问题和解决过程
问题一
整合数据库JDBC库的安装
- 一开始代码是不通的

- 提示说找不到jdbc这个驱动,这应该是环境没有弄好的原因,所以我上网下载了jdbc驱动,并进行配置,下载好的驱动需要放在我们JDK相应的lib文件夹里
- 以下是我摸索的方法:
- 先右键工程出现选项,选择
OPEN MODULE SETTINGS
- 先右键工程出现选项,选择

- 进入页面后点击小加号添加``Import Module``

- 然后找到我们的lib文件夹进行链接

- 最后点击右侧加号将我们的工程添加进去就可以了

- 也有另外一种方法:
- 右键libraries项目,选择选项中的
Open Library Settings
- 右键libraries项目,选择选项中的

- 然后点击右侧加号,并找到自己下载的驱动放好的lib的位置,选择驱动:


- 无论是哪种方法,配置成功后会显示如下情况,现在的问题不是找不到了,是链接不上,为什么链接不上呢?因为我还没装数据库SQL……Orz

- 数据库的安装和开启在上文提到了。
代码调试中的问题和解决过程
问题一
p555 Student.java
- 这段代码中莫名其妙的略了一部分……缺少了后面函数中调用的
size(),所以就没办法运行……… 就只能自己构造了一个size()
其他(感悟、思考)
- 本周的学习任务感觉很有压力,首先需要去安装好几个新的软件,每个软件都是陌生的,还需要自己进行配置进行摸索,在配置Android的时候还好,因为相对来说和配置JDK差不多,而且内容相对简单,但是xampp、SQL和phpmyadmin的配置就很陌生,真的是耗费了我大量的时间去查阅各种资料,并进行测试排除,才勉强找到一种可以将就的办法,但是phpmyadmin的使用终究还是没有弄懂……希望老师可以解答。
- 这一周的学习感觉对代码的理解不再是难点,难点偏向于一些书上没有需要自己摸索的东西,但是不得不说,这种靠自己解决问题,然后帮助没有解决问题的人的过程,是十分有成就感和喜悦感的。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | 成为超过高级初学者的存在 |
| 第一周 | 150/150 | 1/3 | 15/15 | 第一个JAVA程序 |
| 第二周 | 150/300 | 2/5 | 20/35 | 第一次对教材代码进行自己的修改 |
| 第三周 | 400/700 | 2/7 | 20/50 | 熟练的进行代码托管 |
| 第四周 | 1210/1910 | 2/9 | 30/80 | 在敲代码的时候有自己思考 |
| 第五周 | 1083/2993 | 1/10 | 40/120 | 学习API |
| 第六周 | 1061/4054 | 2/12 | 50/170 | 了解到了输入输出与线程 |
| 第七周 | 579/4633 | 2/14 | 40/210 | 学会了测试代码 |
| 第八周 | 523/5156 | 2/16 | 40/250 | 按照老师说的一个代码一个git |
| 第九周 | 592/5748 | 2/18 | 50/300 | 学会了SQL数据库的基本使用和编写简单的APP |
参考资料



20145208 《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 ...
随机推荐
- Angularjs的My97DatePicker扩展
对于日期控件来说,My97DatePicker算得上是个优秀的东东了.好几个项目都用的它. 新项目中也是一样,不过区别是使用的Angularjs.二者不会冲突,不过以往情况下使用的 ng-model ...
- PS网页设计教程XXIV——从头设计一个漂亮的网站
作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...
- ASP.NET5 MVC6入门教学之一(自己动手)
等待微软开源大动作已经好几年了,终于ASP.NET 5发布了.今天给新手们写一个简单地教程,教你认识一下ASP.NET5 MVC6 1.安装kvm 首先,你需要以管理员权限打开cmd,执行如下的脚本: ...
- Linux gcc命令
一.简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objectiv ...
- A daemon process class in python
In everbright task schedule project, we need some daemon process to do certain work, here is a examp ...
- centos7下docker 部署javaweb
LXC linux container 百度百科:http://baike.baidu.com/link?url=w_Xy56MN9infb0hfYObib4PlXm-PW02hzTlCLLb1W2d ...
- 嵌入式开发板iTOP-4412开发板移植CAN模块
本文转自迅为:http://www.topeetboard.com 首先拷贝迅为提供的 libcanjni.tar.gz 压缩包到 android 源码的“iTop4412_ICS/device/sa ...
- Sample MultipleFileWordcount CombineFileInputFormat
在旧版本的samples中,使用的是旧的api,mapred下面的MultiFileInputFormat,现在已经过时. 现在推荐使用mapreduce下面的CombineInputFormat来处 ...
- HDU 4819 Mosaic --二维线段树(树套树)
题意: 给一个矩阵,每次查询一个子矩阵内的最大最小值,然后更新子矩阵中心点为(Max+Min)/2. 解法: 由于是矩阵,且要求区间最大最小和更新单点,很容易想到二维的线段树,可是因为之前没写过二维的 ...