目录:
margin负值实现
祖父和亲爹的里应外合
换个思路 - li生了儿子帮大忙。
借助absolute方位值,实现自适应的网格布局
cloumn多栏布局
grid
display: table;
css3选择器nth-child()
除非特别说明,以下几种方式的通用html结构 如下:
除特别说明,布局中用到的css reset代码 如下:
/* 基础 */
.box{
background: #e4f7fd61;
border: 2px solid #0786ada1;
border-radius: 8px;
}
ul{
padding: 0;
}
.box li{
list-style: none;
text-align: center;
line-height: 200px;
background: rgba(146, 203, 230, 0.65);
border-radius: 8px;
}
方法一、margin负值实现
原理
原理:margin负边距
关键点
1. 最外层的包裹元素等于:li宽度*3+li右间距*2
2. 如果li是右间距,则ul的margin-right为负的li间距值。
3. 父元素ul使用overflow:hidden;形成bfc,以清除浮动带来的影响(父元素塌陷)。
4. margin-bottom和margin-top的配合,是同right的理的,消除最后一排li撑开的底边距。
5. li要浮动。外边距方向和ul设置负值的外边距方向一致。
关键代码
.box{
width: 940px;
}
ul{
overflow: hidden;
margin-right: -20px;
margin-bottom: -20px;
margin-top: 0;
}
.box li{
float: left;
width: 300px;
height: 200px;
margin-right: 20px;
margin-bottom: 20px;
}
方法二、祖父和亲爹的里应外合
原理
原理:外层box盒子overflow和ul元素宽度死值相结合
其实换一种角度和思路,又是一个解决方法,不用margin负值,我们想要li要对其ul两端效果,之所以纠结是因为li又需要margin-right,而右边最后一个li的margin又会撑开和父亲ul的距离,让我们头疼。 那既然是节外生枝,我们直接让祖父砍掉多出来的那一节不就行了?父亲ul设置宽度,坚持让儿子占他的位置,而box祖父就做一个坏人,使用overflow砍掉多余出来的一个margin-right的距离。
关键点
1. box使用overflow:hidden;无情的砍掉li的右margin
2. ul唱白脸,设置宽度坚持让三个li并排站,而不让最后一个li因为没地方挤到下一排。
3. li 做最真诚的自己
关键代码
因为做demo都在一个html里,防止类名覆盖,这里原来叫box的盒子改叫sec了
.sec{
width: 640px;
overflow: hidden;
}
ul{
width: 660px;
overflow: hidden;
margin-bottom: -20px;
margin-top: 0;
}
.sec li{
float: left;
width: 200px;
height: 200px;
margin-right: 20px;
margin-bottom: 20px;
}
方法三、换个思路 - li生了儿子帮大忙。
间距不一定要加在父元素li身上的,父元素li可以只负责流体布局,内部用padding或第一层子元素来控制和相邻元素的间距
原理
原理:图片中的红色边框,是li元素,红色边框总的深红区域是li元素内部的子元素。红边框和子元素之间的白色距离是子元素的margin生成。
关键点
1. 父元素box以前20的内边距,这次改成10,因为外孙li>div会帮忙的。
2. li不再设置margin-right来撑开多个li之间的距离
3. li内部的div设置左右margin来撑开li和li以及li和父元素之间的距离。
关键代码
这里html结构就要变化一下,除了之前的结构,li内部要多加一个div结构了,作用就是撑开间距。
里应外合-li的边距交给孩子们来做,自己只负责一排站三个人的排列工作
box{
padding: 20px 10px;
display: inline-block;
background: #ff000026;
}
ul{
overflow: hidden;
width: 600px;
margin-bottom: -10px;
margin-top: 0;
background: none;
}
li{
list-style: none;
float: left;
width: 198px;/*可以用百分比*/
height: 198px;/*可以用百分比*/
margin-bottom: 10px;
border: 1px solid red;
}
li > div{
background: rgba(255, 0, 0, 0.24);
margin: 0 10px;
border-radius: 8px;
text-align: center;
line-height: 198px;
}
去掉红色border后的效果 li与嫡长子的左边距作用于浅红和深红之间的左边距, li嫡长子的右边距和下一个li嫡长子的左边距综合 构成了两个li之间的间距。
方法四、借助absolute方位值,实现自适应的网格布局
自适应?先来一波效果图:
原理
原理:absolute+四个方位值撑开局面、float+宽度百分比实现横向排列。高度百分比实现自适应。
关键点
1. page最外层的父元素使用absolute负责占位,给子元素们把空间拉开。或者用宽高也行
2. 每一个块的父元素list利用浮动和33.33%的宽度百分比实现横向自适应排列
3. 本案例中,list元素内部用了伪元素+absolute的方式做了效果展示,实际项目中,list元素里边就可以填充自己个各式各样的业务代码了。
关键代码
html,body{
height:100%;
margin:0;
}
.page{
position:absolute;
left:0;
top:180px;
right:0;
bottom:0;
}
.list{
float:left;
height:33.3%;
width:33.3%;
position:relative;
}
.list:before{
content:'';
position:absolute;
left:10px;
right:10px;
top:10px;
bottom:10px;
border-radius:10px;
background-color:#cad5eb;
}
.list:after{
content:attr(data-index);
position:absolute;
height:30px;
left:0;
right:0;
top:0;
bottom:0;
margin:auto;
text-align:center;
font:24px/30px bold 'microsoft yahei';
}
方法五、cloumn多栏布局
原理
原理:cloumn设置三栏布局,这种还是自适应效果的
关键点
1. box依旧做了最严格的祖父,又是宽度限制,又是overflow决绝设卡。
2. ul这次挑了大梁,针对内部的li使用column多栏布局,设置为三栏显示,且每一栏之间
3. 而有了ul的操心,li则美滋滋的做起了公子哥,只管自己的宽高和下边距就好,右边距他爹都给他处理好了。
关键代码
.box{
width: 640px;
overflow: hidden;
}
ul {
/* display: flex; */
-webkit-column-count: 3;
-moz-column-count: 3;
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
margin-bottom: -20px;
margin-top: 0;
}
li {
width: 200px;
height: 200px;
/*margin-right: 20px;*/
margin-bottom: 20px;
}
方法六、grid
原理
原理:用CSS Grid 创建网格布局,是最简单也是最强大的方法。
关键点
1. 九个单元的父元素wrapper设置display为grid类型(注意兼容写法)
默认九个元素就会堆叠排序。
2. 设置每一行中单个元素的宽度: grid-template-columns,每个宽度值100px根据业务需要设置。
给三个设置了宽度就长这样了。
3. 设置每一列中单个元素的高度: grid-template-rows,每个高度值100px根据业务需要设置。
最后出现我们想要的效果:
关键代码
.wrapper{
display: grid;
grid-template-columns: 100px 100px 100px;
grid-template-rows: 100px 100px 100px;
}
.list{
background: #eee;
}
.list:nth-child(odd){
background: #999;
}
方法七、display:table;
原理
原理:其实他是table的css版本处理方式。原谅我只能想到加结构、模拟tr+td的方式实现了。
好处:也是唯一能用来安慰自己的地方就是,不用table标签少了很多reset样式~
关键点
1. 三行li,每个li里三列div(模拟表格的结构)
2. 父元素ul使用display: table(此元素会作为块级表格来显示(类似 ),表格前后带有换行符。)
3. li元素使用display: table-row(此元素会作为一个表格行显示(类似 )。)
4. li元素内部三个子元素使用display: table-cell(此元素会作为一个表格单元格显示(类似 和 ))
关键代码
html:
css:
.table {
display: table;
}
.table li {
display: table-row;
background: #beffee;
}
.disTable li:nth-child(odd) {
background: #bec3ff;
}
.table li div {
width: 200px;
line-height: 200px;
display: table-cell;
text-align: center;
}
.table li:nth-child(odd) div:nth-child(even) {
background: #beffee;
}
.table li:nth-child(even) div:nth-child(even) {
background: #bec3ff;
}
方法八、css3选择器nth-child();
原理
原理:利用css的选择器,选择对应个数的li,设置特殊样式。
不足
缺点:li必须要设置固定的宽高,且ul也要设置固定宽高,以强制似的li“归位”。
关键点
1. li.nth-child(3n):控制第3以及3的倍数的li的右边距不存在。
关键代码
ul,li{
list-style: none;
overflow: hidden;
}
ul{
width: 620px;
}
li.list{
float: left;
width: 200px;
height: 200px;
margin-right: 10px;
margin-bottom: 10px;
background: #eee;
}
li:nth-child(3n){
margin-right: 0;
}
转载于:https://www.cnblogs.com/padding1015/p/9566443.html
你可能感兴趣的:(css布局 - 九宫格布局的方法汇总(更新中...))
MySQL Buffer Pool、Undo Log、脏页详解
学堂在线
Mysql 数据库 mysql 数据库
文章目录1.BufferPool2.UndoLog3.脏页(DirtyPage)三者的协同工作常见问题总结MySQL中的BufferPool、UndoLog和脏页是InnoDB存储引擎的核心组件,共同保障了事务处理的高效性、一致性与持久性。以下是它们的详细解释及关联:1.BufferPool作用:BufferPool是InnoDB的内存缓存区域,用于缓存数据页和索引页,减少直接访问磁盘的开销,显著
养生鲜知酒世界语意合™
花间流风
琴语言学习编程实战100讲 几何学 情感分析 矩阵
养生鲜知酒世界语意合™介绍世界语意合™:无极养生鲜知酒™低代码爬虫插件生成平台,一切人文美篇都含共同的特点:鲜醇如酒,回味悠长,水不在深有龙则灵,山不在高有仙则灵,吐纳健身,诵致养生,气质达人,和气生财,平易近人,和悦泛函,慧极必伤,情深不寿,阳明心学,温文如玉,谦谦君子,神童晏殊启智音律宝典。琴生生物机械科技工业研究所国医学院医疗力量中心。云藏山鹰社会科学概论报告天下才气共一斗,云藏山鹰独占八分
【MYSQL学习】MySQL索引:删除索引的5大绝招你GET到了吗?
墨瑾轩
MySql入门~精通 mysql 学习 数据库
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣MySQL索引:删除索引的5大绝招你GET到了吗?引言❓在数据库操作中,索引是一个非常重要的概念。合理的索引设计可以显著提高查询性能,而不合理的索引则可能导致性能下降。但你知道如何有效地删除索引吗?今天,我们就来一场深入浅出的探索之旅,带你了解删除索引的5大绝
数据分析及人工智能框架汇总
xihuanyuye
机器学习
一、数据分析二、人工智能1、Tensorflow1、简介TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。Tenso
Qt如何让按钮的菜单出现在按钮的右侧
神之媛
Qt编程之路 qt 命令模式 开发语言
直接上代码,我们用到了一个eventfilter的函数功能。这个函数比较厉害和重要,大家务必经常拿出来看看。voidMainWindow::initMenu(){QMenu*menuLiXiang=newQMenu;QAction*actXiangMuZhangCheng=newQAction("项目章程");menuLiXiang->addAction(actXiangMuZhangCheng)
java实现腾讯短信云平台发送短信
AAAhxz001
java
1.首先在腾讯云控制台建立一个应用,(腾讯有活动,免费的一百条短信)我这里取名“随机”点击“随机”进入2.点击进入后可以看到相关信息,密码和AppID3.这是具体代码实现类publicclassTextDemo{publicstaticvoidmain(String[]args){execute();}privatestaticStringoperation="/industrySMS/sendS
自动化游戏测试揭秘:如何解放双手,高效提升游戏质量?
软件测试 自动化 游戏
引言随着游戏行业的快速发展,游戏测试的重要性日益凸显。从传统的手动测试到如今的自动化测试,测试方法不断演进,以适应日益复杂的游戏场景。面对多平台、多设备的兼容性挑战,以及大量的游戏逻辑、UI、网络、多玩家交互等测试需求,如何通过自动化手段高效保证游戏质量?本文将深入探讨自动化游戏测试的关键技术、工具及实践策略。一、为什么需要自动化游戏测试?相比传统的手动测试,自动化游戏测试能在以下方面带来巨大优势
【超全总结】JMeter vs K6 vs Locust,性能测试工具终极对比!
软件测试 jmeter 测试工具
引言在现代软件开发中,性能测试是保障系统稳定性和高并发能力的关键环节。然而,面对市面上众多的性能测试工具,我们该如何选择?今天,我们将对JMeter、K6、Locust进行全面对比,帮你找到最适合你的工具!1.工具概览工具语言适用场景优点缺点JMeterJava传统性能测试、WebAPI测试功能强大、插件丰富、支持GUI学习曲线陡峭,资源消耗大K6JavaScript现代DevOps、CI/CD集
qt 点击按钮弹出下拉窗口_设置Qt QPushButton弹出菜单的位置(向右)
石化橙子
qt 点击按钮弹出下拉窗口
IamwritingapopupmenuforaQtpushbuttonwidget.Wheneverthepushbuttonisclicked,amenupopsup(belowthepushbutton).Thepopupmenuisleft-sidedbelowbydefault.Arethereanywaystomakethepopupmenutopopupontherightsideb
热修复框架Tinker与Robust原理剖析
Ya-Jun
android
热修复框架Tinker与Robust原理剖析一、热修复技术概述1.1什么是热修复热修复(HotFix)是Android平台上的一种动态修复机制,它允许应用在不重新发布版本的情况下,动态修复线上bug。这种技术对于快速修复线上问题、降低用户流失率具有重要意义。1.2热修复的应用场景紧急bug修复功能动态更新A/B测试动态功能控制1.3主流热修复方案对比方案优点缺点适用场景Tinker支持全量更新、性
Flutter桌面开发(三、widget布局与表单)
左钦杨
flutter javascript android
一、流式布局横铺或者竖着铺Row或者Column这俩都是有Children的就是可以有多个子元素例子:Row(Children:[Container(),Container(),Container(),])Container类似于html中的DIV可以设置背景border和宽度高度Container(decoration:BoxDecoration(image:DecorationImage(im
495. 提莫攻击
冱洇
力扣刷题记录 leetcode 算法
提莫攻击题目描述尝试做法推荐做法题目描述在《英雄联盟》的世界中,有一个叫“提莫”的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。当提莫攻击艾希,艾希的中毒状态正好持续duration秒。正式地讲,提莫在t发起攻击意味着艾希在时间区间[t,t+duration-1](含t和t+duration-1)处于中毒状态。如果提莫在中毒影响结束前再次攻击,中毒状态计时器将会重置,在新的攻击
Vue.js 3 的设计思路:从声明式UI到高效渲染机制
前端 贾公子
vue.js ui flutter
目录一、声明式UI与虚拟DOM的灵活性二、渲染器:虚拟DOM到真实DOM的桥梁三、组件的本质与实现四、编译与运行时的协同优化五、性能与可维护性的权衡总结Vue.js3作为新一代前端框架,其设计理念在声明式UI描述、虚拟DOM优化、组件化架构以及编译与运行时协作等方面实现了显著突破。本文将从多个角度深入探讨其设计思路。一、声明式UI与虚拟DOM的灵活性Vue.js3的核心特性之一是声明式UI描述,开
QT 如何设置 QToolButton 显示图片和下拉菜单
QT 专精
qt 开发语言 c++
如何设置QToolButton以显示一个包含QAction的下拉菜单,并连接这些动作的triggered信号到槽函数://在MainWindow的构造函数或初始化函数中QAction*newAction=newQAction(QIcon(":/res/孤独.png"),"New",this);newAction->setShortcut(QKeySequence("Ctrl+N"));newAct
QT信号与槽:实现方法、技术细节、高级用法和底层机制
程序先锋
QT界面开发 qt
1.基本概念信号(signals):当对象的状态发生变化或发生特定事件时,自动触发的通知。比如PushButton常见的信号是clicked()信号。槽:接收信号并执行逻辑的成员函数。可定义在类的任何部分(public、private、protected)连接:通过QObject::connect将信号与槽绑定。connect(sender,&Sender::signal,receiver,&Re
「QT」布局类 之 QHBoxLayout 水平布局类
何曾参静谧
「QT」QT5程序设计 qt 开发语言
✨博客主页何曾参静谧的博客(✅关注、点赞、⭐收藏、转发)文章专栏「QT」QT5程序设计全部专栏(专栏会有变化,以最新发布为准)「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制开发「Py」Python程序设计「Ma
C++传递数组作为函数参数
吃瓜太狼
c++ 开发语言 后端
有两种传递方法,function(intarr[]);function(int arr);//第二种,传址调用,无需再说。第一种,数组的数据将其一一赋值浪费空间,所以数组作为参数传递给函数的只是数组首元素的地址,数据还是在内存里的,函数在需要用到后面元素时再按照这个地址和数组下标去内存查找。也就是说后面的元素根本没到函数里来。这里也不能在函数内部用sizeof求数组的大小,必须在外面算好了再传进来
C++中explicit类型转换运算符
水瓶丫头站住
C++关键字 c++ 开发语言
在C++中,explicit类型转换运算符是用于防止隐式类型转换的关键特性。它主要应用于类的类型转换运算符(如operatortype()),确保类型转换必须通过显式调用来触发,从而提高代码安全性和可读性。以下是详细解析:核心概念基本语法classMyClass{public:explicitoperatorint()const{returnvalue;}private:intvalue;};ex
使用Qt创建悬浮窗口
水瓶丫头站住
Qt Qt
在Qt中创建悬浮窗口(如无边框、可拖动的浮动面板或提示框)可以通过以下方法实现。以下是几种常见场景的解决方案:方法1:使用无边框窗口+鼠标事件拖动适用于自定义浮动工具窗口(如Photoshop的工具栏)。#include#includeclassFloatingWindow:publicQWidget{public:FloatingWindow(QWidget*parent=nullptr):QW
Mysql-InnoDB索引:普通索引、主键索引、唯一索引、组合索引
豪大大ya
mysql 数据库 java
InnoDB和MyISAM的区别事务方面InnoDB支持事务,MyISAM不支持事务。这是Mysql将默认存储引擎从MyISAM变成InnoDB的重要原因之一外键方面InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MyISAM会失败索引层面InnoDB是聚集(聚簇)索引,MyISAM是非聚集(非聚簇)索引。MyISAM支持FULLTEXT类型的全文索引。InnoDB不
谈为什么KLA和Camtech公司为什么可以做到,半导体那边,晶圆,键合可以做到不管哪款新产品进来。编程2小时,上线后准确率可以直接做到99.9%、
*Major*
机器视觉
谈为什么KLA和Camtech公司为什么可以做到,半导体那边,晶圆,键合可以做到不管哪款新产品进来。编程2小时,上线后准确率可以直接做到99.9%、这么里面的AI原理没什么,还是这些公司把AI技术层面用出花了,一是他们有公司可能比较成立时间长,数据丰富。二是像AI深度学习网络冻结,或者自适应调参,都是一些AI技巧,他们用的比较好。三什么跨层特征解耦,实现的基础是他们对半导体理解比较深刻KLA和Ca
Flutter container text 组件详解
mylgcs
flutter flutter android
Flutter文章目录Container组件是一个常用的可视化容器,可以用来包裹其他Widget,并且它可以设置自己的宽和高,边距,背景颜色等等。而Text组件则是用来显示文本的Widget,可以设置字体大小,颜色,字体样式等等。提示:如有雷同、请联系作者删除文章目录Flutter文章目录前言一、Container1.container组件详解2.用container实现一个自定义按钮二、text
3-002: MySQL 中使用索引一定有效吗?如何排查索引效果?
盖盖衍上_染染熊_代码集
00-刷题 mysql 数据库
1.索引失效的常见原因虽然索引可以加速查询,但在某些情况下,MySQL可能不会使用索引,甚至使用索引反而更慢。以下是一些常见导致索引失效的原因:①查询条件使用了!=或30时仍能利用索引。2.如何排查索引效果?可以使用EXPLAIN命令分析SQL是否走索引,以及索引的效率。①使用EXPLAIN分析SQL执行计划EXPLAINSELECT*FROMusersWHEREage=30;返回示例:idsel
4-002:如何使用 MySQL 的 EXPLAIN 语句进行查询分析?
盖盖衍上_染染熊_代码集
00-刷题 mysql 数据库
EXPLAIN是MySQL中用于分析查询性能的工具,能够帮助你理解查询的执行计划。通过EXPLAIN,你可以查看MySQL如何执行查询,包括使用的索引、表连接顺序等信息。基本用法在查询前加上EXPLAIN即可:EXPLAINSELECT*FROMyour_tableWHEREyour_column='value';输出字段说明EXPLAIN的输出包含多个字段,以下是主要字段及其含义:id:查询标识
python+flask实现360全景图和stl等多种格式模型浏览
mosquito_lover1
python
1.安装依赖pipinstallflask2.创建Flask应用创建一个基本的Flask应用,并设置路由来处理不同的文件类型。fromflaskimportFlask,render_template,send_from_directoryapp=Flask(__name__)#设置静态文件路径app.static_folder='static'@app.route('/')defindex():r
Flutter_学习记录_device_info_plus 插件获取设备信息
一人前行
flutter学习 flutter
引入三方库device_info_plus导入头文件import'package:device_info_plus/device_info_plus.dart';获取设备信息的主要代码DeviceInfoPlugindeviceInfoPlugin=DeviceInfoPlugin();BaseDeviceInfodeviceInfo=awaitdeviceInfoPlugin.deviceInf
set_clock_groups
jh你好
硬件工程
一、命令参数与工具处理逻辑核心参数定义参数定义工具行为工具兼容性-asynchronous完全异步时钟组,无任何相位或频率关系(如独立晶振、不同时钟树)工具完全禁用组间路径的时序分析,但需用户自行处理跨时钟域(CDC)问题XilinxVivado、IntelQuartus、Gowin(等效参数-Exclusive)-logically_exclusive逻辑互斥时钟组,同一时刻仅一个有效(如MUX
深入解析:构建高效单页应用(SPA)的最佳实践与示例
布兰妮甜
# Vue 单页应用 SPA Vue.js 前端
文章目录前言一、单页应用(SPA)的介绍二、单页应用(SPA)的优势三、构建单页应用(SPA)的基本步骤四、使用Vue.js构建一个简易的单页应用(SPA):任务管理器结语前言随着互联网技术的发展,用户对于网页应用的交互性和响应速度提出了更高的要求。传统的多页面应用(MPA)在每次用户交互时需要重新加载整个页面,这不仅增加了服务器的负担,也降低了用户体验。而单页应用(SinglePageAppli
MySQL 的索引数量是否越多越好
Zero_pl
Mysql基础知识 面试题 mysql 数据库
MySQL的索引并不是越多越好,索引数量需要根据查询需求合理设置。虽然索引可以提高查询效率,但过多的索引也会带来额外的开销,影响数据库的性能。✅索引的优点提高查询速度索引类似于书籍的目录,可以快速查找数据,减少查询时间。如SELECT*FROMusersWHEREemail='
[email protected] ';,如果email字段有索引,MySQL可以直接找到匹配数据,否则需要全表扫描。加速排序(
AI 之路——数据分析(1)Pandas小结与框架整理
Robin_Pi
机器学习之路 数据分析 数据分析 python 人工智能 可视化
目录1.写在前面1.1AI之路:1.2工具/技能:2.数据分析2.1数据分析的流程2.2数据的基本操作方法2.2.1Pandas概览2.2.2使用Pandas操作数据的核心(1)选择数据(2)操作数据2.2.2数据详解3.写在最后1.写在前面主要是阶段性框架总结1.1AI之路:数据分析——机器学习——深度学习——CV/NLP1.2工具/技能:Python、NumPy、Pandas、Matplotl
安装数据库首次应用
Array_06
java oracle sql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
IllegalStateException: Cannot forward a response that is already committed
Cwind
java Servlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oracle sql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
Python调试
矮蛋蛋
python pdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
spring aop实例annotation方法实现
bijian1013
java spring AOP annotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
[Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
Netty源码学习-ReadTimeoutHandler
bylijinnan
java netty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
jquery验证上传文件样式及大小(好用)
cngolon
文件上传 jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
浏览器兼容【转】
cuishikuan
css 浏览器 IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell $# $? 特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
Java 打开浏览器
hw1287789687
打开网址 open浏览器 open browser 打开url 打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chrome Google google api chrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
java DAO 设计模式 AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {