发表于: 2018-03-20 08:28:45

2 523


day3 

昨天主要:

1. 学习了 mysql 安装 和 sql 语句的基础部分;

2. Java 面向对象部分;

工作量稍大,有些东西都快吃不透了,好好回顾,放缓一下速度。


今日任务:


1. SQL  - W3C 的基础部分复习,高级部分学习

2. 看一下数据库原理,到底是个什么东西(关系数据库什么的,以及数据库的底层设计是用了哪些技术

3. Java 语法部分在熟悉下,然后高级部分在看一下,找一个例子涉及多个文件的写一下

4. package interface abstract 这几个东西代码敲起来

5. Java 高级部分 - 数据结构集合框架序列化、网络编程邮件多线程

6. 异常部分


学习报告:


分三部分:Java 部分、SQL 部分、其他


第一部分: Java 高级


1. 回顾

1.1 主要部分为 接口 抽象类 包 封装这几概念的而理解,同时又撸了一遍代码,耗时 2.5 h


2. 数据结构,边学边觉得 Java 真是太邪性了,竟然搞出个数据结构,里面还有向量堆栈什么的,引的我好奇心满满,后面满满学,我要照着这些数据结构类,根据基础语法实现几个看看。这几个数据结构目前根据菜鸟教程中的例子写了一遍(耗时 1.5 h), 基本上可以掌握到根据API去猜测着使用这些封装好的类了。这些东西应该是算法中会遇到,看看找几个算法试试手。这几个东西估计都是过时的货,但是不能不看,因为这种东西很可能遗留在一些老的代码中,不做了解,后面遇到肯定懵逼,混个脸熟先。

2.1 枚举 Enumeration,这个写了代码练了下手,API不看了用的不多看了也忘;

2.2 位集合 BitSet

2.3 向量 Vector 可变数组,结合 Enumeration 进行遍历

2.4 堆栈 Stack,FILO

2.5 字典 --> map

2.6 Property - 属性

2.7 hashTable 

3. 集合框架,Java的这套集合框架确实强大,当然他底下的那层算法基石应该是精华部分了。这个集合框架有三个可以学习的方面:

3.1 最简单的部分,接口使用:

3.2 整个集合框架的设计模式

3.3 集合框架的算法基础

好的设计模式,加上稳健的算法基础支撑起了这套集合API,菜鸟教程中的示例代码不多考虑搜集


4. 序列化,应该是将对象文本化了,这样对象就可以像文件一样存储到本地或者在网络中进行传输。

5. 网络编程,这个挺有意思,后面应该会牵扯线程和缓存这些个东西。但是,菜鸟里的课程介绍的是 java.net里面的socket,一个Socket类,一个serverSocket类,然后实现通信。和我想的不太一样啊!照着例子撸了服务端和客户端两个socket小程序,然后完成对话。落差有点大

6. 邮件,就是个服务,照着例子

7. 多线程, 线程这里只是认识了下Java中创建线程的 API,跟多线程其实没多大关系,有两种方式,通过集成Thread 或者通过实现 Runnable接口,估计以后这两种方式都用不到吧,应该有更好的实现方式,我猜的,明天继续研究下线程这块

8. 泛型,泛型类,泛型方法,泛型 ... ... 看不懂,明天继续虐!

第二部分: SQL

1. 数据库原理(http://blog.jobbole.com/100349/),这篇文章信息量超大,多看两遍消化消化

2. 回顾: 昨天的SQL语句撸一遍主要是 select、insert、order by、distinct、create、drop、delete

3. SQL 高级部分:

3.1 LIMIT, 规定结果集的数量 跟在表名后面,比如限制3条。这种限制跟平台有关系,需要注意

3.2 LIKE & NOT LIKE , % 通配符

3.3 通配符: % 任意多个 _ 任意一个 [] 中的任意一个,这里的例子 []失败了,明天再看看什么原因造成的

3.4 IN , where 语句中的包含关系

3.5 BETWEEN AND ,这里注意区分数据库平台的

3.6 AS 列的别名, as 可以省略


数据库今天就到这里,留下了一个通配符的问题。明天着重看一下表的链接。


第三部分: 其他

1. 异常部分,今天还是遇到了几种异常情况,有群里的也有我自己遇到的,手懒没及时记下,不过一个是数组越界,一个是集合里存放了错误类型,倒是常见倒也无妨;

2. 今天看到书架上一本 Spring boot 实践,说实话到现在不知道这是个什么东西,于是拿着书看了前面一点,理解为:Spring boot 是 Spring 的升级版本,自动化更高,让开发者更加关注业务逻辑,看到了书上有个Groovy语言,不认识后面查查看看,如何。

3. 一会儿再去浏览下英文文档,应该有其他收获,昨天看到了一本 java in a nutshell,有时间看看再,加强下


思想汇总:


1. Java 中的高级部分相对初级来说难一些,概念比较难理解,尤其一些新的概念,有什么方式可以加快理解呢?

目前就是敲代码,后面再看看应该有其他方法;

2. Java 牵扯到后台开发,算法是逃不掉的,后面每天要加一项算法,巩固下

3. Java中的很多结构或者框架,都有涉及到相应的设计模式或者算法,注意提取,比如今天看到的集合这块东西蛮多的,其实。

4. 基础的代码敲了不少今天,明天着重敲一些新的语法,熟悉的就先不敲了,还有几个没敲完的明天再敲吧,影响不大。


问题汇总:


1. 泛型迷迷糊糊

2. SQL 中通配符有个地方试了几次都不对 --- [] 不知道是不是平台的原因,明天再查查。

3. 今天小累啊,计划又多了,明天适当减减负担

4. 思考思考


明日计划:


1. 计划要根据今天的学习进度实时调整

2. 接口和包的概念再加强下

3. Java 写个插入排序,锻炼下基础语法(数据类型、循环、判断)

4. 集合框架示例代码找找敲敲

5. 泛型 概念理解

6. 多线程

7. SQL 高级部分--join


结束


返回列表 返回列表
评论

    分享到