这一周我学习了什么(一)

这一周我学习了什么,接下来打算学什么?好,先把标题写好,然后去洗澡,等我回来再接着写!温故而知新,可以为师矣。通过回顾之前学的知识,希望一方面加深记忆,另一方面也能激发我继续学习的热情。

为了应付考试吧,也算了解了点东西。考了四门技能点,类设计、数据库设计、ssh高级,html&css实践基础。

看类设计之前首先看了uml类图,常见的有以下几种关系,按照强弱顺序依次为 ——

泛化=实现>组合>聚合>关联>依赖

其实泛化和继承说的是同一件事儿,但泛化描述的是自下而上的,抽象化,而继承描述的是自上而下,具体化。这里面泛化和实现都是纵向的关系,而组合、聚合、关联、依赖是横向的关系。带三角箭头的实线,箭头指向父类。

实现就是指实现接口,这里顺便补一下接口的知识吧,先来点基础知识,源自百度:接口与类属于同一层次,实际上,接口是一种特殊的抽象类一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。类必须实现接口中的方法,否则其为一抽象类。java语言为了弥补只能单继承的缺陷,就通过实现多个接口来实现多继承。我想问为什么要搞这么复杂??好吧我们从无所不知的度娘那里寻找答案。基本上的说法都是如果C同时继承A和B类的话,如果A和B中有同名的方法,容易产生冲突,使用起来比较复杂。而接口就不存在这个问题,因为接口中的方法都是要实现的,同名方法只需要实现一次即可,不存在冲突问题。恩恩,大概明白了~画法是带三角箭头的虚线,箭头指向接口。

然后是组合,聚合,这个就比较好理解,组合中个体是不能离开整体单独存在的,聚合中个体可以离开整体单独存在的,用那个经典的例子,组合是翅膀与大雁的关系,聚合是大雁与雁群的关系。聚合和组合都是菱形和带箭头的实线,菱形指向整体,箭头指向个体,区别是组合是实心菱形,聚合是空心菱形。

关联,可以是单向的或者双向的,双向的两个箭头或没有箭头,单向的一个箭头,实线,指向被拥有者。关联是一种拥有关系,使一个类知道另一个类的属性和方法,是一种强依赖关系。

依赖,是一种使用关系,即一个类的 实现需要另一个类的协助,所以尽量不要使用双向的互相依赖。带箭头的虚线,指向被使用者。

说了一大堆uml的东西,其实类设计方面,没看什么书,了解的也特别少,只知道几个基本的原则,像单一职责原则、接口隔离原则、开放封闭原则、依赖倒置、Liskov替换原则。说白了我也就是个刚写了一年代码的菜鸟,还没上升到需要做设计的地步吧,所以就先了解一下,具体怎么用等时机成熟再详细学习吧。数据库设计……呃呃呃,了解了一点索引方面的东西,E-R图也忘得差不多了。哪些字段需要建索引,一般来说就是表的主键和外键,经常用来查询的字段,参考了下百度的答案,具体如下:

1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。

然后就是html&css实践基础,一共四道题,我从20:00点看到半夜2点,也是醉了,只能说基础太差了,所谓实践,还差得远远的呢。这个大概是要重点攻克一下的知识,毕竟每天都在用的东西,四道题分别是文字排版、布局、图片展现、看代码写布局草图。样式这种东西真能让人吐血……

比如html前面要声明的文档类型

<!DOCTYPE html>
比如中文乱码,要用 <meta> 标签声明字符集

<meta http-equiv="Content-type" content="text/html"; charset="utf-8">

比如段落间距、行高,line-height:20px;比如同一行居右,float:right;

比如关于超链接,默认和访问过的状态,没有下划线,鼠标划过加下划线,

a:link,a:visited{
			text-decoration:none;
			color: #006cfe;
		}
a:hover{
			text-decoration:underline;
			color: #ff8400;
}


比如插入背景图片,图片定位在右下角,没有图片的位置用#f5f5f5填充

.bg {
		width: 560px;
		background-color: #f5f5f5;
		position:relative;
 		background: #f5f5f5 url(logo.jpg) no-repeat; 
		background-position: right bottom; 
	}

还有图片的绝对定位,相对于灰色区域bg定位,就先把bg设置成相对的,再把图片设置成绝对的,这个还需要详细了解,也是晕晕乎乎的

.img3 {
		position:absolute;
		top: 10px;
  		right: 10px;
  		width: 30px;
  		
	}
还有把图片和文字显示到同一行,并且居中对齐,无论怎么样就是实现不了,之后再研究研究

.img1_div *{
		vertical-align:middle;
	}
还有一个,都不知道干啥的。。。
clear:both;
虽然应付了考试,也不知道给不给过,但是自己会不会只有自己最清楚,革命尚未成功,同志仍需努力啊!

写了这么大一长篇,接下来就先把html&css实践这块给研究一下吧,看的东西那么多,就是记不住,那可不行啊。所以一方面理论要结合实现,另外也要反复加强记忆,还是多记录,多总结。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值