、
、
、
、
和
就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。
a{display:block;}
块级元素特点:
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。
3.元素分类--内联元素
在html中,
、
、
、
和
就是典型的内联元素(行内元素)(inline)元素。当然块状元素也可以通过代码display:inline将元素设置为内联元素。如下代码就是将块状元素div转换为内联元素,从而使 div 元素具有内联元素特点。
div{
display:inline;
}
......
我要变成内联元素
内联元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。
4.元素分类--内联块状元素
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block
就是将元素设置为内联块状元素。(css2.1新增),![]()
、
标签就是这种内联块状标签。
inline-block 元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。
5.什么是盒模型
盒模型--边框(一)
盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。
如下面代码为 div 来设置边框粗细为 2px、样式为实心的、颜色为红色的边框:
div{
border:2px solid red;
}
上面是 border 代码的缩写形式,可以分开写:
div{
border-width:2px;
border-style:solid;
border-color:red;
}
注意:
1、border-style(边框样式)常见样式有:
dashed(虚线)| dotted(点线)| solid(实线)。
2、border-color(边框颜色)中的颜色可设置为十六进制颜色,如:
border-color:#888;//前面的井号不要忘掉。
3、border-width(边框宽度)中的宽度也可以设置为:
thin | medium | thick(但不是很常用),最常还是用象素(px)。
7.盒模型--边框(二)
现在有一个问题,如果有想为 p 标签单独设置下边框,而其它三边都不设置边框样式怎么办呢?css 样式中允许只为一个方向的边框设置样式:
div{border-bottom:1px solid red;}
同样可以使用下面代码实现其它三边(上、右、左)边框的设置:
border-top:1px solid red;
border-right:1px solid red;
border-left:1px solid red;
8.盒模型--宽度和高度
盒模型宽度和高度和我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)和高(height),指的是填充以里的内容范围。
因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。
元素的高度也是同理。
比如:
css代码:
div{
width:200px;
padding:20px;
border:1px solid red;
margin:10px;
}
html代码:
文本内容
元素的实际长度为:10px+1px+20px+200px+20px+1px+10px=262px。在chrome浏览器下可查看元素盒模型,如下图:
9.盒模型--填充
元素内容与边框之间是可以设置距离的,称之为“填充”。填充也可分为上、右、下、左(顺时针)。如下代码:
div{padding:20px 10px 15px 30px;}
顺序一定不要搞混。可以分开写上面代码:
div{
padding-top:20px;
padding-right:10px;
padding-bottom:15px;
padding-left:30px;
}
如果上、右、下、左的填充都为10px;可以这么写
div{padding:10px;}
如果上下填充一样为10px,左右一样为20px,可以这么写:
div{padding:10px 20px;}
10.盒模型--边界
元素与其它元素之间的距离可以使用边界(margin)来设置。边界也是可分为上、右、下、左。如下代码:
div{margin:20px 10px 15px 30px;}
也可以分开写:
div{
margin-top:20px;
margin-right:10px;
margin-bottom:15px;
margin-left:30px;
}
如果上右下左的边界都为10px;可以这么写:
div{ margin:10px;}
如果上下边界一样为10px,左右一样为20px,可以这么写:
div{ margin:10px 20px;}
总结一下:padding和margin的区别,padding在边框里,margin在边框外。
第十二章 CSS布局
1.css布局模型
清楚了CSS 盒模型的基本概念、 盒模型类型, 我们就可以深入探讨网页布局的基本模型了。布局模型与盒模型一样都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基础之上,又不同于我们常说的 CSS 布局样式或 CSS 布局模板。如果说布局模型是本,那么 CSS 布局模板就是末了,是外在的表现形式。
CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。
在网页中,元素有三种布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)
2.流动模型(一)
先来说一说流动模型,流动(Flow)是默认的网页布局模式。也就是说网页在默认状态下的 HTML 网页元素都是根据流动模型来分布网页内容的。
流动布局模型具有2个比较典型的特征:
第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。
3.流动模型(二)
第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素这么霸道独占一行)
右侧代码编辑器中内联元素标签a、span、em、strong都是内联元素。
4.浮动模型
块状元素这么霸道都是独占一行,如果现在我们想让两个块状元素并排显示,怎么办呢?不要着急,设置元素浮动就可以实现这一愿望。
任何元素在默认情况下是不能浮动的,但可以用 CSS 定义为浮动,如 div、p、table、img 等元素都可以被定义为浮动。如下代码可以实现两个 div 元素一行显示。
div{
width:200px;
height:200px;
border:2px red solid;
float:left;
}
效果图
当然你也可以同时设置两个元素右浮动也可以实现一行显示。
div{
width:200px;
height:200px;
border:2px red solid;
float:right;
}
效果图
又有小伙伴问了,设置两个元素一左一右可以实现一行显示吗?当然可以:
div{
width:200px;
height:200px;
border:2px red solid;
}
#div1{float:left;}
#div2{float:right;}
效果图
5.什么是层模型?
什么是层布局模型?层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧。但是在网页上局部使用层布局还是有其方便之处的。下面我们来学习一下html中的层布局。
如何让html元素在网页中精确定位,就像图像软件PhotoShop中的图层一样可以对每个图层能够精确定位操作。CSS定义了一组定位(positioning)属性来支持层布局模型。
层模型有三种形式:
1、绝对定位(position: absolute)
2、相对定位(position: relative)
3、固定定位(position: fixed)
6.层模型--绝对定位
如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
如下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px。
div{
width:200px;
height:200px;
border:2px red solid;
position:absolute;
left:100px;
top:50px;
}
效果如下:
7.层模型--相对定位
如果想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
如下代码实现相对于以前位置向下移动50px,向右移动100px;
#div1{
width:200px;
height:200px;
border:2px red solid;
position:relative;
left:100px;
top:50px;
}
效果图:
什么叫做“偏移前的位置保留不动”呢?
大家可以做一个实验,在右侧代码编辑器的19行div标签的后面加入一个span标签,在标并在span标签中写入一些文字。如下代码:
偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置
效果图:
从效果图中可以明显的看出,虽然div元素相对于以前的位置产生了偏移,但是div元素以前的位置还是保留着,所以后面的span元素是显示在了div元素以前位置的后面。
8.层模型--固定定位
fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。以下代码可以实现相对于浏览器视图向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。
#div1{
width:200px;
height:200px;
border:2px red solid;
position:fixed;
left:100px;
top:50px;
}
文本文本文本文本文本文本文本文本文本文本文本
文本文本文本文本文本文本文本文本文本文本文本文本文
本文本文本文本文本文本文本文本文本文本文本。
....
9.Relative与Absolute组合使用
小伙伴们学习了12-6小节的绝对定位的方法:使用position:absolute可以实现被设置元素相对于浏览器(body)设置定位以后,大家有没有想过可不可以相对于其它元素进行定位呢?答案是肯定的,当然可以。使用position:relative来帮忙,但是必须遵守下面规范:
1、参照定位的元素必须是相对定位元素的前辈元素:
从上面代码可以看出box1是box2的父元素(父元素当然也是前辈元素了)。
2、参照定位的元素必须加入position:relative;
#box1{
width:200px;
height:200px;
position:relative;
}
3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。
#box2{
position:absolute;
top:20px;
left:30px;
}
这样box2就可以相对于父元素box1定位了(这里注意参照物就可以不是浏览器了,而可以自由设置了)。
第13章 CSS代码缩写,占用更少的带宽
1.盒模型代码简写
还记得在讲盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。具体应用在margin和padding的例子如下:
margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/
通常有下面三种缩写方法:
1、如果top、right、bottom、left的值相同,如下面代码:
margin:10px 10px 10px 10px;
可缩写为:
margin:10px;
2、如果top和bottom值相同、left和 right的值相同,如下面代码:
margin:10px 20px 10px 20px;
可缩写为:
margin:10px 20px;
3、如果left和right的值相同,如下面代码:
margin:10px 20px 30px 20px;
可缩写为:
margin:10px 20px 30px;
注意:padding、border的缩写方法和margin是一致的。
2.颜色值缩写
关于颜色的css样式也是可以缩写的,当你设置的颜色是16进制的色彩值时,如果每两位的值相同,可以缩写一半。
例子1:
p{color:#000000;}
可以缩写为:
p{color: #000;}
例子2:
p{color: #336699;}
可以缩写为:
p{color: #369;}
3.字体缩写
网页中的字体css样式代码也有他自己的缩写方式,下面是给网页设置字体的代码:
body{
font-style:italic;
font-variant:small-caps;
font-weight:bold;
font-size:12px;
line-height:1.5em;
font-family:"宋体",sans-serif;
}
这么多行的代码其实可以缩写为一句:
body{
font:italic small-caps bold 12px/1.5em "宋体",sans-serif;
}
注意:
1、使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight、font-style、font-varient、line-height)如未指定将自动使用默认值。
2、在缩写时 font-size 与 line-height 中间要加入“/”斜扛。
一般情况下因为对于中文网站,英文还是比较少的,所以下面缩写代码比较常用:
body{
font:12px/1.5em "宋体",sans-serif;
}
只是有字号、行间距、中文字体、英文字体设置。
第14章 单位和值
1.颜色值
在网页中的颜色设置是非常重要,有字体颜色(color)、背景颜色(background-color)、边框颜色(border)等,设置颜色的方法也有很多种:
1、英文命令颜色
前面几个小节中经常用到的就是这种设置方法:
p{color:red;}
2、RGB颜色
这个与 photoshop 中的 RGB 颜色是一致的,由 R(red)、G(green)、B(blue) 三种颜色的比例来配色。
p{color:rgb(133,45,200);}
每一项的值可以是 0~255 之间的整数,也可以是 0%~100% 的百分数。如:
p{color:rgb(20%,33%,25%);}
3、十六进制颜色
这种颜色设置方法是现在比较普遍使用的方法,其原理其实也是 RGB 设置,但是其每一项的值由 0-255 变成了十六进制 00-ff。
p{color:#00ffff;}
配色表:
2.长度值
长度单位总结一下,目前比较常用到px(像素)、em、% 百分比,要注意其实这三种单位都是相对单位。
1、像素
像素为什么是相对单位呢?因为像素指的是显示器上的小点(CSS规范中假设“90像素=1英寸”)。实际情况是浏览器会使用显示器的实际像素值有关,在目前大多数的设计者都倾向于使用像素(px)作为单位。
2、em
就是本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em = 14px;如果 font-size 为 18px,那么 1em = 18px。如下代码:
p{font-size:12px;text-indent:2em;}
上面代码就是可以实现段落首行缩进 24px(也就是两个字体大小的距离)。
下面注意一个特殊情况:
但当给 font-size 设置单位为 em 时,此时计算的标准以 p 的父元素的 font-size 为基础。如下代码:
html:
以这个例子为例。
css:
p{font-size:14px}
span{font-size:0.8em;}
结果 span 中的字体“例子”字体大小就为 11.2px(14 * 0.8 = 11.2px)。
3、百分比
p{font-size:12px;line-height:130%}
设置行高(行间距)为字体的130%(12 * 1.3 = 15.6px)。
第15章 css样式设置小技巧
1.水平居中设置-行内元素
我们在实际工作中常会遇到需要设置水平居中的场景,比如为了美观,文章的标题一般都是水平居中显示的。
这里我们又得分两种情况:行内元素 还是 块状元素 ,块状元素里面又分为定宽块状元素,以及不定宽块状元素。今天我们先来了解一下行内元素怎么进行水平居中?
如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的。(父元素和子元素:如下面的html代码中,div是“我想要在父容器中水平居中显示”这个文本的父元素。反之这个文本是div的子元素 )如下代码:
html代码:
我想要在父容器中水平居中显示。
css代码:
2.水平居中设置-定宽块状元素
当被设置元素为 块状元素 时用 text-align:center 就不起作用了,这时也分两种情况:定宽块状元素和不定宽块状元素。
这一小节我们先来讲一讲定宽块状元素。(定宽块状元素:块状元素的宽度width为固定值。)
满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto”来实现居中的。我们来看个例子就是设置 div 这个块状元素水平居中:
html代码:
我是定宽块状元素,哈哈,我要水平居中显示。
css代码:
也可以写成:
margin-left:auto;
margin-right:auto;
注意:元素的“上下 margin” 是可以随意设置的。
3.水平居中总结-不定宽块状元素方法(一)
在实际工作中我们会遇到需要为“不定宽度的块状元素”设置居中,比如网页上的分页导航,因为分页的数量是不确定的,所以我们不能通过设置宽度来限制它的弹性。(不定宽块状元素:块状元素的宽度width不固定。)
不定宽度的块状元素有三种方法居中(这三种方法目前使用的都很多):
加入 table 标签
设置 display: inline 方法:与第一种类似,显示类型设为 行内元素,进行不定宽元素的属性设置
设置 position:relative
和 left:50%:利用 相对定位 的方式,将元素向左偏移 50% ,即达到居中的目的
这一小节我们来讲一下第一种方法:
为什么选择方法一加入table标签? 是利用table标签的长度自适应性---即不定义其长度也不默认父元素body的长度(table其长度根据其内文本长度决定),因此可以看做一个定宽度块元素,然后再利用定宽度块状居中的margin的方法,使其水平居中。
第一步:为需要设置的居中的元素外面加入一个 table 标签 ( 包括 ``
、、 )。
第二步:为这个 table 设置“左右 margin 居中”(这个和定宽块状元素的方法一样)。
举例如下:
html代码:
css代码:
4.水平居中总结-不定宽块状元素方法(二)
除了上一节讲到的插入table标签,可以使不定宽块状元素水平居中之外,本节介绍第2种实现这种效果的方法,改变元素的display类型为行内元素,利用其属性直接设置。
第二种方法:改变块级元素的 display 为 inline 类型(设置为 行内元素 显示),然后使用 text-align:center 来实现居中效果。如下例子:
html代码:
css代码:
这种方法相比第一种方法的优势是不用增加无语义标签,但也存在着一些问题:它将块状元素的 display 类型改为 inline,变成了行内元素,所以少了一些功能,比如设定长度值。
5.水平居中总结-不定宽块状元素方法(三)
除了前两节讲到的插入table标签,以及改变元素的display类型,可以使不定宽块状元素水平居中之外,本节介绍第3种实现这种效果的方法,设置浮动和相对定位来实现。
方法三:通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中。
我们可以这样理解:假想ul层的父层(即下面例子中的div层)中间有条平分线将ul层的父层(div层)平均分为两份,ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐;而li层的css代码则是将li层的平分线与ul层的最左端(也是div层的平分线)对齐,从而实现li层的居中。
代码如下:
css代码:
这三种方法使用得都非常广泛,各有优缺点,具体选用哪种方法,可以视具体情况而定。
6.垂直居中-父元素高度确定的单行文本
我们在实际工作中也会遇到需要设置垂直居中的场景,比如好多报纸的文章标题在左右一侧时,常常会设置为垂直居中,为了用户体验性好。
这里我们又得分两种情况:父元素高度确定的单行文本,以及父元素高度确定的多行文本。
本节我们先来看第一种父元素高度确定的单行文本, 怎么设置它为垂直居中呢?
父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的。(height: 该元素的高度,line-height: 顾名思义,行高(行间距),指在文本中,行与行之间的 基线间的距离 )。
line-height 与 font-size 的计算值之差,在 CSS 中成为“行间距”。分为两半,分别加到一个文本行内容的顶部和底部。
这种文字行高与块高一致带来了一个弊端:当文字内容的长度大于块的宽时,就有内容脱离了块。
如下代码:
hi,imooc!
css代码:
7.垂直居中-父元素高度确定的多行文本(方法一)
父元素高度确定的多行文本、图片等的竖直居中的方法有两种:
方法一:使用插入 table (包括tbody、tr、td)标签,同时设置 vertical-align:middle。
css 中有一个用于竖直居中的属性 vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。下面看一下例子:
html代码:
css代码:
table td{height:500px;background:#ccc}
因为 td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了。
8.垂直居中-父元素高度确定的多行文本(方法二)
除了上一节讲到的插入table标签,可以使父元素高度确定的多行文本垂直居中之外,本节介绍另外一种实现这种效果的方法。但这种方法兼容性比较差,只是提供大家学习参考。
在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell(设置为表格单元显示),激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式, 兼容性比较差。
html代码:
看我是否可以居中。
看我是否可以居中。
看我是否可以居中。
css代码:
这种方法的好处是不用添加多余的无意义的标签,但缺点也很明显,它的兼容性不是很好,不兼容 IE6、7而且这样修改display的block变成了table-cell,破坏了原有的块状元素的性质。
9.隐性改变display类型
有一个有趣的现象就是当为元素(不论之前是什么类型元素,display:none 除外)设置以下 2 个句之一:
position : absolute
float : left 或 float:right
简单来说,只要html代码中出现以上两句之一,元素的display显示类型就会自动变为以 display:inline-block(块状元素)的方式显示,当然就可以设置元素的 width 和 height 了,且默认宽度不占满父元素。
如下面的代码,小伙伴们都知道 a 标签是 行内元素 ,所以设置它的 width 是 没有效果的,但是设置为 position:absolute 以后,就可以了。
css代码
你可能感兴趣的:(Html&CSS(二))
- 电影《八角笼中》到底有没有消费贫穷
洛家熙熙
前后筹备时间长达六年的电影《八角笼中》,终于在这个暑假跟观众见面了,这是王宝强跨行做导演的第二部电影。《八角笼中》剧照相信大家看完电影后都会生发出不同感慨,或有关于改变命运的,或有关于中国城乡贫富差距的,或有关于全力以赴抗击社会不公的,或有关于网络圣母站在舆论至高点的……是的,电影主题是多元化的。但网上也出现了一种声音,就是电影里这些贫穷的四川孩子在现实中是否真实存在?中国真有类似于电影镜头中那些
- 第二阶段-第二章—8天Python从入门到精通【itheima】-133节(SQL——DQL——基础查询)
Patrick_kafka
sqlpython数据库开发语言学习android程序人生
目录133节——DQL:基础查询1.学习目标2.基础数据查询:select3.进行过滤的基础数据查询:where4.代码演练5.小节总结6.关于MySQL和SQL的DDL、DML、DCL、DQL的最底层逻辑MySQL与SQL的底层逻辑:从磁盘到内存的数据流解析一、DDL(数据定义语言):构建数据大厦的蓝图二、DML(数据操作语言):数据流动的三重关卡三、DCL(数据控制语言):权限的多维管控四、D
- Android-jetpack之DataBinding实战应用
一、DataBinding基础配置1.启动流程在build.gradle中启用:android{dataBinding{enabled=true}}这会让编译器为每个布局文件生成对应的绑定类(如ActivityMainBinding、DetailsFragmentBinding)。2.布局文件转换将普通布局文件转换为DataBinding布局,需要在根标签外包裹标签:二、绑定基础操作1.绑定基本数
- 多线程进阶——线程安全的集合类
iナナ
java开发语言
目录一、多线程环境使用ArrayList(一)自行加锁(二)Collections.synchronizedList(newArrayList);(三)使用CopyOnWriteArrayList二、多线程环境使用哈希表(一)Hashtable(二)ConcurrentHashMap原来的集合类,大部分都不是线程安全的。Vector,Stack,HashTable,是线程安全的(不建议用),其他集
- Java IO流
目录一、IO流的分类(一)字节流1、InputStreamInputStream类中的成员方法FileInputStream的构造方法read()和read(byte[]b)代码示例:2、利用Scanner进行字符读取代码示例:3、OutputStreamOutputStream中的成员方法FileOutputStream代码示例示例一:示例二:示例三:示例四:示例五:追加写:(二)字符流1、Re
- 网上干什么可以挣钱?浅谈六个靠谱的副业赚钱方法
氧惠佣金真的高
现在很多人下班后选择做网络兼职来打发时间,那么有哪些靠谱的兼职副业可以做的呢?分享六个实用兼职让你赚零花钱的同时也能学到新的技能。一、闲鱼对于喜欢二手交易的人来说,利用闲鱼平台可以轻松地买卖二手物品,甚至可以将自己闲置的物品在闲鱼上出售获得收益。你可以在自己身边寻找一些物品,比如旧书、旧衣服、旧电器等等,然后将它们上传到闲鱼上,设置合理的价格,标题要取得得当,要突出产品的用途和质量,产品的图片也要
- 第二阶段-第二章—8天Python从入门到精通【itheima】-134节(SQL——DQL——分组聚合)
Patrick_kafka
sql数据库mysql大数据开发语言pythonpycharm
目录134节——DQL:分组聚合1.学习目标2.分组聚合3.论MySQL中GROUPBY和WHERE的异同MySQL中GROUPBY和WHERE的异同:一、相同点:都是“筛数据”的工具二、不同点:筛的时机和对象完全不一样1.作用时机不同:先筛行,再分组2.作用对象不同:筛单行vs筛分组3.不能混搭的“规矩”三、一句话总结4.小节总结编辑好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:1
- 学习Java对象的使用
颵麏
一、学习目的对象是整个面向对象程序设计的理论基础,由于面向对象程序中使用类来创建对象,所以可以将对象理解为一种新型的变量,它保存着一些比较有用的数据,但可以要求它对自身进行操作。对象之间靠互相传递消息而相互作用。消息传递的结果是启动了方法,完成一-些行为或者修改接收消息的对象的属性。学会如何使用对象对面向对象编程思想的培养有很大帮助二、学习内容1,对象创建后就可以访问对象成员访问方法是对象名.对象
- 反反复复的小明
康康的视野
问题生教育总是不断重复着过去的故事,班主任总是在与学生斗智斗勇中渡过一个又一个的工作日。今天下午本来是我们市里初二语文岗培的时间,由于抗疫,岗培改为钉钉平台上看老师的直播讲座。我开着手机,戴着耳机,边听课边改周记。第二节课上课,生物老师带了四个我班上学生来找我,其中两个是因到图书馆借书而迟到,两个上课还在打架。于是只好手机里放着视频直播课,自己处理这几个孩子违纪的事情。先逐一了解情况,小明和阿泽借
- 给史多多的第三百八十三封信
七千22
你好,这里是七千每日文字输出的第466天。你好,史多多今天大年初二了,早上五点多快六点多多就醒了,醒来不哭闹,自己左右瞅瞅,嘴里哦呜的发声。早上爸爸妈妈两个人都腰酸,哈哈就是因为三个人盖被子,爸爸妈妈在两边都是盖一半身体。今天早上多多竟然没有一早就拉臭臭,出乎我们意料呢。但是多多小弟弟的旁边红了一片,跟热疹似的,又像是淹了。说实话妈妈心疼的直接心情都不好了,直接影响着一天的心情就觉得很不开心。今天
- Secs/Gem第二讲 (基于secs4net项目的ChatGpt介绍)
好的,我们正式进入:第二讲:深入SECS4NET项目结构——主机程序是怎么搭起来的?关键词:项目结构、类图、通信类、事件处理、连接生命周期、异步机制本讲目的我们从源码入手,一步步搞懂:SECS4NET主机(Host)是如何设计通信逻辑的有哪些关键类,类之间的关系是什么通信的生命周期怎么管理怎么实现“接收消息”和“主动发送”的功能如何集成到你自己的EAP或测试程序中你将不再只是“调Sample”,而
- 《富爸爸,穷爸爸》二.掌握财务知识的重要性
西风瘦马_25c2
【今天我学到什么】1.财务知识的重要性今天学习的第一点,叫做最重要的不是你赚了多少钱,而是你留下了多少钱,而如果你想留下钱,就必须去学习财务知识。在这个时代里面,比赚钱更重要的,就是我们受的教育跟学习的能力。我应该从哪开始致富?我应该怎么样能够存更多的钱?答案是:如果你想发财,你就要学习财务知识。这是作者在这个部分一个很重要的观点,他说:“你一定要学财务知识,如果没有这些财务知识的话,你赚的钱就会
- 【C++11】lambda表达式 | 函数包装器
_宁清
C++c++lambda函数包装器bindfunctionlambda表达式
文章目录一、lambda表达式1.为什么需要lambda表达式2.lambda的定义3.lambda的语法捕捉列表4.函数对象和lambda表达式的底层原理二、函数包装器1.function包装器2.bind包装器用bind包装器绑定固定参数用bind包装器调整传参顺序无意义的绑定3.bind包装器的意义一、lambda表达式1.为什么需要lambda表达式在C++98中,如果想要对一个数据集合中
- python基础变量之---集合
暴龙胡乱写博客
python基础pythonchrome开发语言
python基础变量之—集合文章目录python基础变量之---集合一、集合1.集合介绍2.集合创建3.集合操作4.集合常见API二,可变与不可变类型1.可变2.不可变3.二者区别三,类型转换一、集合1.集合介绍在Python中,集合(set)是一种无序的、不重复的数据结构,用于存储唯一的元素,支持数学集合的一些操作,如交集、并集、差集等。集合中的元素是无序的,即不记录元素的插入顺序,且每个元素只
- Linux命令大全之reset命令
传说三哥
linuxLinux基础Linux命令
Linuxreset命令其实和tset是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变数、命令列或是其它的组态档决定目前终端机的型态。如果指定型态是'?'的话,这个程序会要求使用者输入终端机的型别。由于这个程序会将终端机设回原始的状态,除了在login时使用外,当系统终端机因为程序不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o例如不小心把二进位档用cat指
- AI周报:技术面试卷出新高度,Agent落地开启“工具觉醒”时代
哪小吒圈子
人工智能语言模型
一句话暴论:当面试官要求手搓FP16精度时,真正的考题是“你能否在硅基文明觉醒前跟上进化速度”。一、面试地狱难度实录(开发者生存指南)百度二面手搓FP16精度:考的不是浮点数,而是对硬件底层的敬畏(原文)腾讯夺命11连问:混元大模型面试暴露行业真相——懂原理已不够,得会调参、训推、修故障的“全栈炼丹师”(解析)NVIDIA四轮拷打实录:GPU厂面试竟考Attention优化!LightingAtt
- 《历史的温度:寻找历史背面的故事、热血和真性情》读书笔记(一)
选科规划与志愿填报_让梦想起航
纵观民国历史,像蔡锷这样不党不群、不要地盘不拉军队的将军,真的找不到第二个。而偏偏就是这个只念国家、不念私人的将军,对中国的进程产生了影响。无须向他道歉,当然,他也从来无须向任何人道歉。他是一个中国体育以后可能再也不会出现的运动员——不是说他的运动成就,而是他的人生遭遇:大起大落,大喜大悲,大彻大悟。他就是刘翔。在特定的大时代背景下,我们又有谁,有能力掌控自己的命运呢?我相信对于大部分男生来说,那
- 王牌对王牌7第二期:没人关注白白的高能吗?
娜娜蜀黍
王牌对王牌第七季开始更新后,瞬间就在同一时间的播出中,占据了首位,收获了相当高的收视率,虽然广告这一点让人吐槽,但是不得不说,这个综艺的嘉宾请的非常好,整个节目的环节也延续了之前的优点,整体评价没有落下。但是,我翻遍了全网,发现观众在看第二期的时候,竟然没有人注意到“白敬亭”的高能推理瞬间吗?他在里面表现的睿智又有意思,推理环节更是延续了明侦(我是明侦粉,见证了白白的蜕变),那逻辑紧密的简直让能凶
- JAVA API (三):从基础爬虫构建到带条件数据提取 —— 详解 URL、正则与爬取策略
钮祜禄.爱因斯晨
JAVA学习笔记java爬虫开发语言
个人主页-爱因斯晨文章专栏-Java学习相关文章:API(一)相关文章:API(二)持续努力中,感谢支持一、爬虫基础(一)爬虫的基本概念定义:爬虫是按照一定规则自动抓取网络信息的程序,在Java环境下,可借助URL、HttpURLConnection等API来实现。应用场景:广泛应用于数据采集,如电商平台的价格监控、各类新闻的聚合;还可用于信息分析,如舆情监测等。(二)Java实现简单爬虫的步骤建
- 贝美康健康读书会(第五期)之《吃的营养科学观》
贝美康读书会吴老师
第一天--序言+第1课:营养学--一个令人着迷的话题一、缺失一种营养,就意味着其他营养的不足,如果身体的某个组织受到损害,那么其他的组织也必然会受到损害。二、营养学是研究食物如何构建人体健康的科学。三,依照我的观点,选择任何食物都必须符合两个标准:美味,且有益于健康。四、营养学被忽视的原因:1、我们所获得的许多有关食物的信息都来源于广告;2、社会上有太多的“不应该”规范;3、人都是容易受骗的;4、
- 中原焦点团队网初21期罗超华坚持分享第3天(2021/12/07星期二)
罗超华初21
复习筑基课第八课:1、变态心理学:又叫异常的心理。我们最常遇到的情况是抑郁、焦虑,好多来访者抑郁伴焦虑,焦虑伴抑郁,它俩是伴随而生。心理咨询师干嘛要知道常见异常心理的症状?必须了解哪些属于我们咨询的范畴。2、做辅助治疗的前提:经过系统的临床治疗,病理性的症状缓解或者基本消失以后。3、抑郁的三低、三无、三自。三低:情绪低落、意志减退、乐趣丧失。三无:无用、无助、无望。三自:自责、自罪、自杀。4、心理
- 2022-6-2第443天
我是爱
联系生命中要感恩感谢的人,记录每天发生的好事:今天要感恩感谢我的同学给我制作的视频,特别好,特别喜欢,感恩她!拍到的夕阳今天上午刘老师,打微信电话没有接到,发的语音让我做分享想了想,做还是不做,做肯定就会去准备,时间精力,后来想通过自己的分享,可以影响到许多人,让更多的人看到希望,也可以梳理一下我自己的成长,我是最大的受益者,就答应了下来。下午张娜给我推荐二阶段的课程,目前我还不想买课程,的确不错
- 策划一场线上活动很难嘛?只需7步就可搞定!
原味的运营成长笔记
先思考个问题:张三为了提升店铺客单价,给每位客户发了两张优惠券,第一张是无门槛新人60元红包,第二张是全场通用7折优惠券你觉得这位张三能达到目的嘛?为什么?答案:不可能提升客单价!!客单价是每个顾客平均购买商品的金额,也就是平均交易金额,所以就满减才会提升客单价,那满减就是在消费时达到一定的金额之后,可以抵扣物品/商品的部分价格满减有2个优势:①提升客单价:为了达成满减的最低消费,用户会购买更多的
- 阅读免费小说我想我会一直孤单孟思遐邵珈宸_我想我会一直孤单孟思遐邵珈宸最新完本小说
d1932dbc5104
《我想我会一直孤单》主角:孟思遐邵珈宸简介:“爸,妈,我同意出国留学了。”听见女儿终于松口答应了,远在重洋的父母声音里满是欣慰。“思遐,你总算想明白了,爸妈心里的石头可算落地咯!这段时间你先准备一下,我和你爸爸马上安排,大概一个月后咱们一家就能团聚了。”不同于二老自在欢快的语气,孟思遐的语调很是低沉平淡。“我知道了。”寒暄几句后,电话被挂断了。窗外一片漆黑,孟思遐没有开灯,微红的眼眶里瞧不出太多情
- 生活随笔
娟恋YOU
不知从什么时期流行下一句俗语:“老二心眼多,聪明……”因为我是老大,从小到大没觉得妹妹有多少心眼,只是习惯性的疼她,向着她,即使大娘婶子的常在我耳边嘟囔妹妹心眼多。也不曾觉得妹妹有多少心眼,虽然确实妹妹比我聪明,比我审时度势,但疼她已经成为习惯,一直觉得疼她爱她是我作为姐姐应该做的事!家有俩宝,老大老实,也秉承的疼妹妹,爱妹妹的习惯,在老二还未出生之际便告诉老大,将来要好好疼爱弟弟或妹妹,老大也做
- 闲鱼监控软件
houcaihua
python
闲鱼监秒拍控软件可以根据您的需求,在您设定的价格范围内监控货架上的产品,相当于一个筛选闲鱼信息的工具,可以帮助您准确锁定卖家,尤其是专门做闲鱼生意的卖家。这个工具真的很省时省事。当你设定的目标出现时,它会帮助你自动抢购,让你再也不用担心低价好卖的产品被抢占。闲鱼监控助手是一款闲鱼出品的多关键字搜索工具应用。这个应用总体还是挺有用的,在闲鱼上找二手其实也挺有意思的。闲鱼监控助手可以方便的添加你想要关
- 从今天开始成为行动派
99巷子
我时常在想,我是不是行动派呢?十分钟决定一场旅行;偶然看见打折的机票便立即定下一次远行;看见网上短发女生好看,二话不说就出门剪了个短发……说走就走是我生活的常态。扪心自问,我和行动派一点都不沾边。想学的技能我会犹豫,怕自己没有天赋,想写内心真实想法不敢写,怕公之于众遭人耻笑,想经济独立做兼职,害怕做得不好被老板骂。在过去的两年里,我一面行动起来的速度近乎疯狂,一面又犹豫不前,一事无成。就在昨天夜里
- 扫雷游戏介绍和代码
二进制person
游戏c语言
一.介绍游戏可以通过菜单实现继续玩或者退出游戏扫雷的棋盘是9*9的格子默认随机布置10个雷可以排查雷如果位置不是雷,就显⽰周围有⼏个雷如果位置是雷,就炸死游戏结束把除10个雷之外的所有⾮雷都找出来,排雷成功,游戏结束二.界面1.初始界面2.游戏界面3.退出界面和选择错误三.代码text2.c:#define_CRT_SECURE_NO_WARNINGS1#include"game.h"voidme
- springboot集成Netty
墨_风
开发笔记springbootjavanetty
一、Netty介绍Netty的系列文章,正在更新中二、Netty集成io.nettynetty-all2.1、配置文件#netty配置netty:boss:1#boss线程数量默认为cpu线程数*2worker:4#worker线程数量默认为cpu线程数*2timeout:6000#连接超时时间默认为30sport:7000#服务器主端口默认7000portSalve:7001#服务器备用端口默认
- 闲鱼监控助手:挖掘隐藏的宝藏商品
如何通过闲鱼监控助手挖掘隐藏的宝藏商品概述:在闲鱼这个二手交易平台上,有许多隐藏的宝藏商品等待着我们的发现。而要有效地挖掘这些宝藏商品,我们可以借助闲鱼监控助手。本文将详细介绍如何使用闲鱼监控助手来寻找并购买隐藏的宝藏商品。1.安装并设置闲鱼监控助手首先,我们需要在手机上安装并打开闲鱼监控助手应用。然后,在应用内的设置页面中,我们可以根据自己的需求进行一些个性化设置。例如,设置关键词、价格范围、筛
- 关于旗正规则引擎规则中的上传和下载问题
何必如此
文件下载压缩jsp文件上传
文件的上传下载都是数据流的输入输出,大致流程都是一样的。
一、文件打包下载
1.文件写入压缩包
string mainPath="D:\upload\"; 下载路径
string tmpfileName=jar.zip; &n
- 【Spark九十九】Spark Streaming的batch interval时间内的数据流转源码分析
bit1129
Stream
以如下代码为例(SocketInputDStream):
Spark Streaming从Socket读取数据的代码是在SocketReceiver的receive方法中,撇开异常情况不谈(Receiver有重连机制,restart方法,默认情况下在Receiver挂了之后,间隔两秒钟重新建立Socket连接),读取到的数据通过调用store(textRead)方法进行存储。数据
- spark master web ui 端口8080被占用解决方法
daizj
8080端口占用sparkmaster web ui
spark master web ui 默认端口为8080,当系统有其它程序也在使用该接口时,启动master时也不会报错,spark自己会改用其它端口,自动端口号加1,但为了可以控制到指定的端口,我们可以自行设置,修改方法:
1、cd SPARK_HOME/sbin
2、vi start-master.sh
3、定位到下面部分
- oracle_执行计划_谓词信息和数据获取
周凡杨
oracle执行计划
oracle_执行计划_谓词信息和数据获取(上)
一:简要说明
在查看执行计划的信息中,经常会看到两个谓词filter和access,它们的区别是什么,理解了这两个词对我们解读Oracle的执行计划信息会有所帮助。
简单说,执行计划如果显示是access,就表示这个谓词条件的值将会影响数据的访问路径(表还是索引),而filter表示谓词条件的值并不会影响数据访问路径,只起到
- spring中datasource配置
g21121
dataSource
datasource配置有很多种,我介绍的一种是采用c3p0的,它的百科地址是:
http://baike.baidu.com/view/920062.htm
<!-- spring加载资源文件 -->
<bean name="propertiesConfig"
class="org.springframework.b
- web报表工具FineReport使用中遇到的常见报错及解决办法(三)
老A不折腾
finereportFAQ报表软件
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、repeated column width is largerthan paper width:
这个看这段话应该是很好理解的。比如做的模板页面宽度只能放
- mysql 用户管理
墙头上一根草
linuxmysqluser
1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为:
- 关于使用Spring导致c3p0数据库死锁问题
aijuans
springSpring 入门Spring 实例Spring3Spring 教程
这个问题我实在是为整个 springsource 的员工蒙羞
如果大家使用 spring 控制事务,使用 Open Session In View 模式,
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.
- 百度词库联想
annan211
百度
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS</title&g
- int数据与byte之间的相互转换实现代码
百合不是茶
位移int转bytebyte转int基本数据类型的实现
在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来;
主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029
int转byte;
byte转int;
/**
* 字节转成int,int转成字节
* @author Administrator
*
- 简单模拟实现数据库连接池
bijian1013
javathreadjava多线程简单模拟实现数据库连接池
简单模拟实现数据库连接池
实例1:
package com.bijian.thread;
public class DB {
//private static final int MAX_COUNT = 10;
private static final DB instance = new DB();
private int count = 0;
private i
- 一种基于Weblogic容器的鉴权设计
bijian1013
javaweblogic
服务器对请求的鉴权可以在请求头中加Authorization之类的key,将用户名、密码保存到此key对应的value中,当然对于用户名、密码这种高机密的信息,应该对其进行加砂加密等,最简单的方法如下:
String vuser_id = "weblogic";
String vuse
- 【RPC框架Hessian二】Hessian 对象序列化和反序列化
bit1129
hessian
任何一个对象从一个JVM传输到另一个JVM,都要经过序列化为二进制数据(或者字符串等其他格式,比如JSON),然后在反序列化为Java对象,这最后都是通过二进制的数据在不同的JVM之间传输(一般是通过Socket和二进制的数据传输),本文定义一个比较符合工作中。
1. 定义三个POJO
Person类
package com.tom.hes
- 【Hadoop十四】Hadoop提供的脚本的功能
bit1129
hadoop
1. hadoop-daemon.sh
1.1 启动HDFS
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
通过这种逐步启动的方式,比start-all.sh方式少了一个SecondaryNameNode进程,这不影响Hadoop的使用,其实在 Hadoop2.0中,SecondaryNa
- 中国互联网走在“灰度”上
ronin47
管理 灰度
中国互联网走在“灰度”上(转)
文/孕峰
第一次听说灰度这个词,是任正非说新型管理者所需要的素质。第二次听说是来自马化腾。似乎其他人包括马云也用不同的语言说过类似的意思。
灰度这个词所包含的意义和视野是广远的。要理解这个词,可能同样要用“灰度”的心态。灰度的反面,是规规矩矩,清清楚楚,泾渭分明,严谨条理,是决不妥协,不转弯,认死理。黑白分明不是灰度,像彩虹那样
- java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
bylijinnan
java
public class PrintMatrixClockwisely {
/**
* Q51.输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
例如:如果输入如下矩阵:
1 2 3 4
5 6 7 8
9
- mongoDB 用户管理
开窍的石头
mongoDB用户管理
1:添加用户
第一次设置用户需要进入admin数据库下设置超级用户(use admin)
db.addUsr({user:'useName',pwd:'111111',roles:[readWrite,dbAdmin]});
第一个参数用户的名字
第二个参数
- [游戏与生活]玩暗黑破坏神3的一些问题
comsci
生活
暗黑破坏神3是有史以来最让人激动的游戏。。。。但是有几个问题需要我们注意
玩这个游戏的时间,每天不要超过一个小时,且每次玩游戏最好在白天
结束游戏之后,最好在太阳下面来晒一下身上的暗黑气息,让自己恢复人的生气
&nb
- java 二维数组如何存入数据库
cuiyadll
java
using System;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
namespace WindowsFormsApplication1
{
- 本地事务和全局事务Local Transaction and Global Transaction(JTA)
darrenzhu
javaspringlocalglobaltransaction
Configuring Spring and JTA without full Java EE
http://spring.io/blog/2011/08/15/configuring-spring-and-jta-without-full-java-ee/
Spring doc -Transaction Management
http://docs.spring.io/spri
- Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
dcj3sjt126com
linuxalias
用途说明
设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问 题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh登录【见示例三】,使长命令变短,使常 用的长命令行变短,强制执行命令时询问等。
常用参数
格式:alias
格式:ali
- yii2 restful web服务[格式响应]
dcj3sjt126com
PHPyii2
响应格式
当处理一个 RESTful API 请求时, 一个应用程序通常需要如下步骤 来处理响应格式:
确定可能影响响应格式的各种因素, 例如媒介类型, 语言, 版本, 等等。 这个过程也被称为 content negotiation。
资源对象转换为数组, 如在 Resources 部分中所描述的。 通过 [[yii\rest\Serializer]]
- MongoDB索引调优(2)——[十]
eksliang
mongodbMongoDB索引优化
转载请出自出处:http://eksliang.iteye.com/blog/2178555 一、概述
上一篇文档中也说明了,MongoDB的索引几乎与关系型数据库的索引一模一样,优化关系型数据库的技巧通用适合MongoDB,所有这里只讲MongoDB需要注意的地方 二、索引内嵌文档
可以在嵌套文档的键上建立索引,方式与正常
- 当滑动到顶部和底部时,实现Item的分离效果的ListView
gundumw100
android
拉动ListView,Item之间的间距会变大,释放后恢复原样;
package cn.tangdada.tangbang.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import andr
- 程序员用HTML5制作的爱心树表白动画
ini
JavaScriptjqueryWebhtml5css
体验效果:http://keleyi.com/keleyi/phtml/html5/31.htmHTML代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" >
<ti
- 预装windows 8 系统GPT模式的ThinkPad T440改装64位 windows 7旗舰版
kakajw
ThinkPad预装改装windows 7windows 8
该教程具有普遍参考性,特别适用于联想的机器,其他品牌机器的处理过程也大同小异。
该教程是个人多次尝试和总结的结果,实用性强,推荐给需要的人!
缘由
小弟最近入手笔记本ThinkPad T440,但是特别不能习惯笔记本出厂预装的Windows 8系统,而且厂商自作聪明地预装了一堆没用的应用软件,消耗不少的系统资源(本本的内存为4G,系统启动完成时,物理内存占用比
- Nginx学习笔记
mcj8089
nginx
一、安装nginx 1、在nginx官方网站下载一个包,下载地址是:
http://nginx.org/download/nginx-1.4.2.tar.gz
2、WinSCP(ftp上传工
- mongodb 聚合查询每天论坛链接点击次数
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 18 */
{
"_id" : ObjectId("5596414cbe4d73a327e50274"),
"msgType" : "text",
"sendTime" : ISODate("2015-07-03T08:01:16.000Z"
- java术语(PO/POJO/VO/BO/DAO/DTO)
Luob.
DAOPOJODTOpoVO BO
PO(persistant object) 持久对象
在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.
VO(value object) 值对象
通
- 算法复杂度
Wuaner
Algorithm
Time Complexity & Big-O:
http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o
http://bigocheatsheet.com/
http://www.sitepoint.com/time-complexity-algorithms/
|