目录
W3C标准 控制浏览器三要素 ——控制浏览器发送的请求地址 ——控制浏览器发送请求方式 ——控制浏览器发送请求的携带参数 HTML编程语言 ——HTML标签属性分类 ——html标签 ————meta 标签 ————a 标签 ————图片类型 ————webp图片格式 ————base64 ————内联框架 ————引入音频 ————转义符 CSS编程语言 ——css文件 ——CSS选择器 ——伪类 ————超链接的伪类 ——伪元素 布局 ——盒子模型 ——边框三样式 ——内边距 ——外边距 ——外边距折叠 ——溢出处理 ——盒子大小 ——行内元素的盒模型 ——轮廓和阴影 ——圆角 ——浮动 ————高度塌陷 ————clear属性 ——定位 ——字体 ————图标字体 ————行高 ——文本 ——背景图片 ————渐变 ————径向渐变 ——表格 ——表单 ——transition ————动画 ————transform ————旋转 ——变量设置 ——弹性盒 ——移动端 ——响应式布局 less语言 ——变量 零散笔记
W3C标准
HTML 对应 结构
CSS 对应 表现
JavaScript 对应 行为
控制浏览器三要素
1、控制浏览器发送的请求地址
< a href = ' 请求地址' > a> :超链接标签命令,标签中间写上提示信息
< form action = ' 请求地址' > < input type = submit value = " 新浪" > < form> :
表单标签submit意为提交按钮
2、控制浏览器发送请求方式
GET请求方式
携带的请求参数数量不超过4K
请求参数一定会在地址栏上展示出来
必须将参数信息保存在Http请求协议包的请求头 中
必须要求浏览器将服务器返回的资源文件进行保存
POST请求方式
可以携带任意数量的请求参数
地址栏会隐藏参数信息,安全性高
必须将参数信息保存在Http请求协议包的请求体 中
禁止浏览器将服务器返回的资源文件进行保存
POST请求方式,就意味着可以上传自己的文件进入网站
超链接 标签命令对应的一定是GET方式
< form action = ' 请求地址' method = ' GET/POST' > :可以控制请求方式
必须使用POST方式的场景:
1.需要文件上传
2.发起登录验证请求,防止信息泄露
3.实时数据需要刷新
3、控制浏览器发送请求的携带参数
请求参数格式:请求地址?请求参数1=值&请求参数2=值
请求参数来源:
超链接 不灵活
a>
表单格式 提示用户填写相关的内容,更为灵活
< form action = ' 请求地址' method = ' GET/POST' >
< input type = ' text' name = ' userName' >
< input type = ' submit' >
form>
作为请求参数的要求:
必须要name属性,否则提交无效
必须要在 标签栏中
HTML编程语言
HTML标签属性分类
基本属性
样式属性
工作状态属性 (只存在在表单标签中) disabled:不能修改内容,并且不发送请求参数 readonly:只读,不能修改内容 checked:表示被选中 selected:表示在option标签中,被选中
监听属性
html标签
meta 标签
< meta charset = utf-8> < meta> 用来设置网页的元数据
< meta name = keyword content = 网上购物,网上吃饭>
设置了该网页的关键字为网上购物和网上吃饭
< meta name = description content = ' ' >
网页的描述信息
< meta http-equiv = “refresh” content = " 3;url=http://www.baidu.com" >
该网页3秒后自动跳转到url网址
a 标签
< a target = ' _blank' > 超链接在新的标签页打开
< a href = ' #' > 超链接回到页面顶部
< a href = ' #id' > 超链接到到达id所在的标签,id必须以字母开头
图片类型
< img src = ' ' > src可以写网页上的链接,这样就可以引入网上的图片
img标签是替换元素,介于块元素和行内元素之间
< img alt = ' ' > 默认情况下不显示,但是有些浏览器会在图片无法加载时显示
搜索引擎会根据alt来识别图片
< img title = img_name> 光标停留图片上会返回文字在光标上
webp图片格式
颜色丰富,支持动图,支持透明,占空间小
致命缺点,兼容性不好,老版本浏览器不能用
base64 对图片进行编码,转化成字符,减少空间占用
优点:可以和网站同时加载出来,速度快
内联框架 向当前界面引入一个 外部页面
< iframe src = " " width = " " height = " " frameborder = " 0" >
引入src网址,设置高宽,不显示边界
引入音频
< audio src = ' ' controls autoplay loop > audio>
controls表示允许用户来控制播放,autoplay表示自动播放,loop循环播放
< audio controls >
对不起,您的浏览器不支持该播放器
< source src = " " >
audio>
这种写法,在浏览器不支持的情况下会自动忽略aduio标签,但是文字不能被忽略 所有会返回一段文字给用户
< video src = " " > video> 属性和audio相同的
转义符
  转义为空格
> 转义为小于号
< 转义为大于号
CSS编程语言
用于定位浏览器中HTML标签并对定位的HTML标签中的样式属性进行统一管理
css文件
外部的css文件,可以使用到浏览器缓存机制,从而加快网页的加载速度
1.写一个.css文件 2.在 head 标签中引入
其中 stylesheet 意为样式表
CSS语法
CSS的注释符号 : /* 注释内容*/ 声明块里的语句需要以 " ; " 结尾
CSS选择器
元素选择器
标签名 { }
id选择器
#id { }
类选择器
.class { }
class 也是一个属性标签,与 id 相似,但是 class 可以重复 并且一个标签可以有多个class,如:class=“abc bcd”
通配选择器
* { }
交集选择器
div.red { }
必须以元素选择器开头
选择器分组
h1,span { }
同时使用多个选择器,给相同的赋值
父子选择器
div > span { }
span是直接子标签
div span { }
span是后代元素
p * span { }
span是兄弟
p ~ span { }
p的所有的span兄弟
属性选择器
p[属性名] { }
p中有该属性的元素
p[属性名 ^= abc] { }
^= 意思是以 abc 为开头,同样 $= 意为以 abc 结尾, *= 意为包含 abc 就可以了
伪类
li:first-child { } 第一个子元素
li:last-child { } 最后一个子元素
li : nth-child ( i) 第i个子元素
li : nth-child ( 2n) 偶数元素
li : first-of-type 只在type类型里的第一个
li : not ( ) 否定伪类
超链接的伪类
a:link { } link表示正常的链接
a:visitied { } visited表示访问过的链接
由于隐私问题,visited只能设置颜色
a:hover { } 表示光标停留的链接
a:active { } 表示点击那一时刻的链接
伪元素
表示页面中一些并不真实存在的元素,即特殊的位置
p::first-letter { } 首字母
p::first-line { } 首行
p::selection { } 选中的内容
p::before { } 元素开始前的位置
p::after { } 元素结尾的位置
布局
盒子模型
边框三样式(宽度,颜色,样式)
border-width : 10px, 20px, 30px, 40px; 边框为上,右,下,左
border-color : red;
border-style : solid; 实线
dotted 点状虚线
dashed 虚线
double 双线
border: 10px red solid; 简写
border-right:none; 右边不需要边框
内边距
padding : 10px, 10px, 10px, 10px;
外边距
margin : 10px, 10px, 10px, 10px;
外边距折叠
兄弟关系的div垂直方向的margin会重叠
子标签的margin大于父标签的,则取子标签的margin,这叫做外边距的折叠现象
溢出处理
overflow : visible/hidden/scroll/auto;
默认可视,隐藏,生成滚动条(两条),自动生成滚动条
overflow-x, overflow-y 水平和垂直方向上的溢出处理
盒子大小
box-sizing : border-box/content-box;
设置盒子大小由(内容区+边缘)/(内容区)来决定
行内元素的盒模型
display : inline / block/inline-block/table/none
行内元素,块元素,行内块元素, 表格,隐藏
visibility : visible/hidden;
设置为显示,隐藏(这个隐藏,位置还是会保留)
轮廓和阴影
outline : 10px red solid; 轮廓不会影响到可见框的大小
box-shadow : 20px 20px 10px 10px rgba ( 0, 0, 0, .5) ;
阴影水平偏移量 垂直偏移量 水平阴影模糊半径 垂直阴影模糊半径 颜色
圆角
boerder-top-left-radius : 50px 20px; 圆角水平半径 垂直半径
boerder-radius : 50px 50px 50px 50px; 简写
浮动
网页的最下面一层就是文档流,是网页的基础
float : left/right/none;
图片浮动之后,文字不会被覆盖(脱离文档流 ),而是文字环绕图片的效果
浮动之后,不需要再区分块元素和行内元素
高度塌陷
父元素中子元素浮动后,导致父元素没有子元素撑开,导致高度塌陷
BFC ( Block Formatting Context ) 块级格式化环境
开启BFC的元素不会被浮动元素覆盖
子元素和父元素外边距不会重叠
可以包含浮动的子元素
开启BFC的方法
设置浮动
将元素设置为行内块
overflow设置为非visible(最常用)
clear属性
clear : left/right/both;
both清除两侧中大的那一侧的影响
.clearfix::before,
.clearfix::after {
content : '' ;
display : table;
clear : both;
}
可以 同时解决 高度塌陷 和 外边距重叠 的问题
定位
position : static/relative/absolute/fixed/sticky;
未开启定位/相对定位/绝对定位/固定定位/粘滞定位
relative
坐标原点是元素本身,即参照物是元素未移动前的位置
absolute
开启后,元素会脱离文档流,并且不分块和行内元素
参照物 是开启了定位的 最近的祖先元素
fixed
与绝对定位唯一区别是参照物是网页本身
固定定位元素不会随滚动条移动
sticky
较新的定义方式,兼容性不高
和相对定位基本一样,区别在元素到达某一固定位置后就不动了
层级
z-index : i;
i越大,层级越大
字体
网页中字体大小最小为12px,除非大小是0
font-family:serif 衬线字体/sans-serif 非衬线字体/monospace 等宽字体
@font-face {
font-family : ' ' ;
src : url ( ' ' ) ;
}
可以引入服务器中的字体,其中font-family为字体取的名字,src为字体的路径
图标字体
引入 css 和 webfonts 文件夹到项目下
或者 编码
行高
line-height : 2; 如果直接填写数字,意为当前字体大小的整数倍
font-style : italic/normal; 斜体/正常
font : 字体大小/行高 字体族 简写
默认行高1.3333
文本
text-align : center/justify; 居中对齐/两端对齐
vertical-align : baseline/top/bottom/middle;
vertical-align : 100px; 垂直调整
text-decoration : none/underline/line-through/overline color;
无、下划线、删除线、上划线 颜色
white-space : nowrap/pre; 不换行、保留空白
white-space : nowrap;
overflow : hidden;
text-overflow : ellipsis; 打出省略号(三个属性缺一不可)
背景图片
background-image : url ( '' ) ;
background-repeat : repeat-x/repeat-y/no-repeat;
背景图片横向重复,纵向重复,不重复
background-position : top center; 背景图片位置
background-position : 10px 30px;
background-clip : border-box/padding-box/content-box;
( 默认) 背景出现在边框下/背景在内容区和内边距/背景只出现在内容区
background-origin : padding-box/content-box/border-box;
背景图片的原点在内边距( 默认) /内容区/边界
background-size : 10px 10px/cover/contain;
设置背景图片大小/比例不变平铺/比例不变下完全显示
background-attachment : scroll/fixed;
背景图片跟随元素移动/不跟随移动
渐变
background-image : linear-gradient ( to right, red, yellow) ; 向右线性渐变
background-image : linear-gradient ( 45deg, red, yellow) ; 45度线性渐变
background-image : linear-gradient ( red, yellow, green, blue) ; 多色线性渐变
background-image : linear-gradient ( red 50px, yellow) ; 从50px位置开始渐变
background-image : repeating-linear-gradient ( red, yellow) ; 平铺渐变
径向渐变
background-image : radial-gradient ( 100px 100px at 0 0, red, yellow) ;
径向渐变, 100px为渐变半径, ( 0, 0) 是原点
background-image : radial-gradient ( farthest-side at 0 0, red, yellow) ;
渐变到最远的一条边为半径
background-image : radial-gradient ( closest-side at 0 0, red, yellow) ;
渐变到最近的一条边为半径
background-image : radial-gradient ( closest-corner at 0 0, red, yellow) ;
渐变到最近的角为半径
表格
表格行
单元格
单元格占n行
单元格占n列
表格可以分为三个部分:thead头部 / tbody主体 / tfoot底部
不是的子元素,而是的子元素
border-spacing : 0px; 指定边框之间的距离
border-collapse:collapse; 边框合并
tr:nth-child(2n+1) {
background-color : green;
} 控制表格单数行的颜色
display : table-cell;
vertical-align : middle; 将元素设置为单元格,可以直接设置垂直居中
表单
action为表单提交的地址
"submit" value="" > value中为按钮显示的文字
"">
双目的按钮标签,功能更加的多,可以在里面放入图片作为标签样式
autocomplete='off' /'on' 开启/关闭自动补全
autofocus 自动获取光标焦点( 不常用)
表单域标签分类
第一种
< input type = text> 文本框
< input type = submit> 提交按钮
< input type = password> 密码框
< input type = radio name = NAME value = ' value' > 一组单选框,单选框以name来识别分组
< input type = checkbox name = NAME value = ' value' > 多选框
< input type = file name = NAME> 文件选择框
< input type = reset> 重置按钮
第二种
< select> select> 下拉标签
< select name = NAME>
< option value = ' bj' > 北京 option>
< option value = ' sh' > 上海 option>
select>
第三种
< textarea name = NAME rows = 10 cols = 10> textarea> 多行文本框
transition
transition-property : all/width/height; 变换的部位
transition-duration : 1000ms/1s;
transition-timing-function : ease/linear/ease-in/ease-out/ease-in-out;
先加速后减速/匀速运动/加速运动/减速运动/先加速后减速
transition-timing-function : cubic-bezier ( ) ;
https : //cubic-bezier.com 时序函数网址
transition-timing-function : steps ( 3, end/start) ;
分步执行, 在时段结束/开始是执行
transition-delay : 2s; 延时
transition : margin-left 3s; 简写
overflow : hidden; 可以一起联用
动画
@keyframes test{
from {
margin-left : 0;
}
to {
margin-left : 100;
}
} 定义动画
animation-name : test; 调用动画
animation-duration : 2s;
独特属性
animation-iteration-count : 20/infinite; 循环20/无限次
animation-direction : reverse/alternate/alternate-reverse;
倒播/正反来回播放/开始先反,后正反循环
animation-play-state : paused/running; 暂停/运行
animation-fill-mode : forwards/backwards/both;
动画播放完毕停止在to位置/在延时等待是就进入from状态/结合两者
transform
transition : transform 0.3s; 开启平移变化
transform : translateX ( ) ; x轴平移
html {
perspective : 800px;
}
transform : translateZ ( ) ; z轴平移
旋转
transform : rotateZ ( 360deg) ; 沿着Z轴旋转
backface-visibility : hidden; 背面不显示
transform-style : preserve-3d; 开启3D效果
transform : scaleY ( 2) ; 沿Y轴放大两倍
transform : scale ( 2) ; XY轴都放大两倍
transform : scaleZ ( ) ; 必须开启3D效果
transform-origin : 20px 20px; 变形原点
变量设置(兼容性不高)
html {
--color : red;
} 定义变量
var ( --color) ; 调用变量
clac ( 220px*2) ; 自动计算
弹性盒(flex)
主轴:元素排列的方向
弹性容器的直接子元素才是弹性元素
display : flex/inline-flex; 设置弹性容器
flex-direction : column/column-reverse/row/row-reverse
设置弹性元素在容器中的排列方式( 自上向下、自下向上、默认、自右向左)
主轴元素
flex-basis : 100px; 元素基础长度
flex-grow : m; 当父元素有剩余空间时,将空间分到m/n, n为元素个数
flex-shrink : m; 当父元素空间不足是,按m的比例进行收缩
flex-wrap : wrap; 沿辅轴自动换行
flex-wrap : wrap-reverse; 沿辅轴反向换行
主轴空白
justify-content : flex-start/ 靠着开始位置
flex-end/center/ 靠着结束位置
space-around/ 居中
space-evenly/ 平均分配到两侧
space-between; 平均分配到每一个元素两侧,平均分配在两元素之间
辅轴元素
align-items : stretch/flex-start/center/baseline;
所有元素设置为一样长,不会拉长并且沿开始位置对齐,居中对齐,基线对齐
辅轴空白
align-content : 和主轴相同
align-self : 用来设置当前元素的align属性
order : 1; 当前元素在元素中排第一个
flex-flow : 是wrap 和 direction 的简写属性
移动端
'viewport' content='width=100px' > 设置像素比
'viewport' content='device-width,initial-scale=1.0' >
device-width设备完美视口,initial-scale初始化缩放为1倍
vw单位
100vw=视口宽度 永远相对于视口宽度来计算,而不是父元素
响应式布局
媒体查询
@media all, print, screen, speech{
//所有设备, 打印机, 显示器, 屏幕阅读器
}
@media ( width : 500px) {
//当视口宽度为500px时
}
@media ( min-width : 100px) and ( max-width : 200px) { }
less语言
// 这种注释不会被放入css源文件中
/**/ 这种注释会被解析到css文件中
数值(像素)可以直接运算
变量
@a : 100px;
@c : box1;
$width; 可以直接对属性进行应用
& 表示外层的父元素本身
.p2:extend(.p1) { } 继承p1的属性样式
.p3 {
.p1 ( ) ;
} 对p1的样式进行复制
.p ( @w ) {
width : @w ; //创建一个mixins ( 通用样式模块)
} //可以给w传值
.@ { c} {
//类变量调用
}
average ( red, yellow, bule) ; 算颜色的平均值,颜色混合
darken ( yellow, 20%) ; 颜色加深20%
@import "syntax2.less" 引入模块
零散笔记
ul {
list-style : none
} 可以把点去掉
text-decoration : none; 去除下划线
min-width : 100px; 最小宽度,当视口小于该宽度,网页内容不会再被缩小
opacity : 0.7; 透明度
'icon' href='./favicon.ico' > 链接网页图标
! important 加在样式后面,会获得最高优先权
em 是相对于 字体大小 来计算的 rem 根据 根的字体 大小 来确定的
RGBA可以用来调透明度
(0,0,0,1)为完全不透明 (0,0,0,0)为完全透明 (0,0,0,.5)为半透明
你可能感兴趣的:(前端,html,java,css)
Long类型前后端数据不一致
igotyback
前端
响应给前端的数据浏览器控制台中response中看到的Long类型的数据是正常的到前端数据不一致前后端数据类型不匹配是一个常见问题,尤其是当后端使用Java的Long类型(64位)与前端JavaScript的Number类型(最大安全整数为2^53-1,即16位)进行数据交互时,很容易出现精度丢失的问题。这是因为JavaScript中的Number类型无法安全地表示超过16位的整数。为了解决这个问
LocalDateTime 转 String
igotyback
java 开发语言
importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;publicclassMain{publicstaticvoidmain(String[]args){//获取当前时间LocalDateTimenow=LocalDateTime.now();//定义日期格式化器DateTimeFormatterformat
swagger访问路径
igotyback
swagger
Swagger2.x版本访问地址:http://{ip}:{port}/{context-path}/swagger-ui.html{ip}是你的服务器IP地址。{port}是你的应用服务端口,通常为8080。{context-path}是你的应用上下文路径,如果应用部署在根路径下,则为空。Swagger3.x版本对于Swagger3.x版本(也称为OpenAPI3)访问地址:http://{ip
Linux下QT开发的动态库界面弹出操作(SDL2)
13jjyao
QT类 qt 开发语言 sdl2 linux
需求:操作系统为linux,开发框架为qt,做成需带界面的qt动态库,调用方为java等非qt程序难点:调用方为java等非qt程序,也就是说调用方肯定不带QApplication::exec(),缺少了这个,QTimer等事件和QT创建的窗口将不能弹出(包括opencv也是不能弹出);这与qt调用本身qt库是有本质的区别的思路:1.调用方缺QApplication::exec(),那么我们在接口
html 中如何使用 uniapp 的部分方法
某公司摸鱼前端
html uni-app 前端
示例代码:Documentconsole.log(window);效果展示:好了,现在就可以uni.使用相关的方法了
四章-32-点要素的聚合
彩云飘过
本文基于腾讯课堂老胡的课《跟我学Openlayers--基础实例详解》做的学习笔记,使用的openlayers5.3.xapi。源码见1032.html,对应的官网示例https://openlayers.org/en/latest/examples/cluster.htmlhttps://openlayers.org/en/latest/examples/earthquake-clusters.
DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理
STU学生网页设计
网页设计 期末网页作业 html静态网页 html5期末大作业 网页设计 web大作业
️精彩专栏推荐作者主页:【进入主页—获取更多源码】web前端期末大作业:【HTML5网页期末作业(1000套)】程序员有趣的告白方式:【HTML七夕情人节表白网页制作(110套)】文章目录二、网站介绍三、网站效果▶️1.视频演示2.图片演示四、网站代码HTML结构代码CSS样式代码五、更多源码二、网站介绍网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程
【华为OD机试真题2023B卷 JAVA&JS】We Are A Team
若博豆
java 算法 华为 javascript
华为OD2023(B卷)机试题库全覆盖,刷题指南点这里WeAreATeam时间限制:1秒|内存限制:32768K|语言限制:不限题目描述:总共有n个人在机房,每个人有一个标号(1<=标号<=n),他们分成了多个团队,需要你根据收到的m条消息判定指定的两个人是否在一个团队中,具体的:1、消息构成为:abc,整数a、b分别代
【加密社】Solidity 中的事件机制及其应用
加密社
闲侃 区块链 智能合约 区块链
加密社引言在Solidity合约开发过程中,事件(Events)是一种非常重要的机制。它们不仅能够让开发者记录智能合约的重要状态变更,还能够让外部系统(如前端应用)监听这些状态的变化。本文将详细介绍Solidity中的事件机制以及如何利用不同的手段来触发、监听和获取这些事件。事件存储的地方当我们在Solidity合约中使用emit关键字触发事件时,该事件会被记录在区块链的交易收据中。具体而言,事件
关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript
二挡起步
web前端期末大作业 javascript html css 旅游 风景
⛵源码获取文末联系✈Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业|游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作|HTML期末大学生网页设计作业,Web大学生网页HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScrip
HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动
二挡起步
web前端期末大作业 web设计网页规划与设计 html css javascript dreamweaver 前端
Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作HTML期末大学生网页设计作业HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScript:做与用户的交互行为文章目录前端学习路线
webpack图片等资源的处理
dmengmeng
需要的loaderfile-loader(让我们可以引入这些资源文件)url-loader(其实是file-loader的二次封装)img-loader(处理图片所需要的)在没有使用任何处理图片的loader之前,比如说css中用到了背景图片,那么最后打包会报错的,因为他没办法处理图片。其实你只想能够使用图片的话。只加一个file-loader就可以,打开网页能准确看到图片。{test:/\.(p
node.js学习
小猿L
node.js node.js 学习 vim
node.js学习实操及笔记温故node.js,node.js学习实操过程及笔记~node.js学习视频node.js官网node.js中文网实操笔记githubcsdn笔记为什么学node.js可以让别人访问我们编写的网页为后续的框架学习打下基础,三大框架vuereactangular离不开node.jsnode.js是什么官网:node.js是一个开源的、跨平台的运行JavaScript的运行
Java 重写(Override)与重载(Overload)
叨唧唧的
Java重写(Override)与重载(Overload)重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如:父类的一个方法申明了一个检查异常IOExceptio
简单了解 JVM
记得开心一点啊
jvm
目录♫什么是JVM♫JVM的运行流程♫JVM运行时数据区♪虚拟机栈♪本地方法栈♪堆♪程序计数器♪方法区/元数据区♫类加载的过程♫双亲委派模型♫垃圾回收机制♫什么是JVMJVM是JavaVirtualMachine的简称,意为Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统(如:JVM、VMwave、VirtualBox)。JVM和其他两个虚拟机
1分钟解决 -bash: mvn: command not found,在Centos 7中安装Maven
Energet!c
开发语言
1分钟解决-bash:mvn:commandnotfound,在Centos7中安装Maven检查Java环境1下载Maven2解压Maven3配置环境变量4验证安装5常见问题与注意事项6总结检查Java环境Maven依赖Java环境,请确保系统已经安装了Java并配置了环境变量。可以通过以下命令检查:java-version如果未安装,请先安装Java。1下载Maven从官网下载:前往Apach
Java企业面试题3
马龙强_
java
1.break和continue的作用(智*图)break:用于完全退出一个循环(如for,while)或一个switch语句。当在循环体内遇到break语句时,程序会立即跳出当前循环体,继续执行循环之后的代码。continue:用于跳过当前循环体中剩余的部分,并开始下一次循环。如果是在for循环中使用continue,则会直接进行条件判断以决定是否执行下一轮循环。2.if分支语句和switch分
JVM、JRE和 JDK:理解Java开发的三大核心组件
Y雨何时停T
Java java
Java是一门跨平台的编程语言,它的成功离不开背后强大的运行环境与开发工具的支持。在Java的生态中,JVM(Java虚拟机)、JRE(Java运行时环境)和JDK(Java开发工具包)是三个至关重要的核心组件。本文将探讨JVM、JDK和JRE的区别,帮助你更好地理解Java的运行机制。1.JVM:Java虚拟机(JavaVirtualMachine)什么是JVM?JVM,即Java虚拟机,是Ja
Java面试题精选:消息队列(二)
芒果不是芒
Java面试题精选 java kafka
一、Kafka的特性1.消息持久化:消息存储在磁盘,所以消息不会丢失2.高吞吐量:可以轻松实现单机百万级别的并发3.扩展性:扩展性强,还是动态扩展4.多客户端支持:支持多种语言(Java、C、C++、GO、)5.KafkaStreams(一个天生的流处理):在双十一或者销售大屏就会用到这种流处理。使用KafkaStreams可以快速的把销售额统计出来6.安全机制:Kafka进行生产或者消费的时候会
白骑士的Java教学基础篇 2.5 控制流语句
白骑士所长
Java 教学 java 开发语言
欢迎继续学习Java编程的基础篇!在前面的章节中,我们了解了Java的变量、数据类型和运算符。接下来,我们将探讨Java中的控制流语句。控制流语句用于控制程序的执行顺序,使我们能够根据特定条件执行不同的代码块,或重复执行某段代码。这是编写复杂程序的基础。通过学习这一节内容,你将掌握如何使用条件语句和循环语句来编写更加灵活和高效的代码。条件语句条件语句用于根据条件的真假来执行不同的代码块。if语句‘
python语法——三目运算符
HappyRocking
python python 三目运算符
在java中,有三目运算符,如:intc=(a>b)?a:b表示c取两者中的较大值。但是在python,不能直接这样使用,估计是因为冒号在python有分行的关键作用。那么在python中,如何实现类似功能呢?可以使用ifelse语句,也是一行可以完成,格式为:aifbelsec表示如果b为True,则表达式等于a,否则等于c。如:c=(aif(a>b)elseb)同样是完成了取最大值的功能。
ArrayList 源码解析
程序猿进阶
Java基础 ArrayList List java 面试 性能优化 架构设计 idea
ArrayList是Java集合框架中的一个动态数组实现,提供了可变大小的数组功能。它继承自AbstractList并实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量capacity,表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添
Java爬虫框架(一)--架构设计
狼图腾-狼之传说
java 框架 java 任务 html解析器 存储 电子商务
一、架构图那里搜网络爬虫框架主要针对电子商务网站进行数据爬取,分析,存储,索引。爬虫:爬虫负责爬取,解析,处理电子商务网站的网页的内容数据库:存储商品信息索引:商品的全文搜索索引Task队列:需要爬取的网页列表Visited表:已经爬取过的网页列表爬虫监控平台:web平台可以启动,停止爬虫,管理爬虫,task队列,visited表。二、爬虫1.流程1)Scheduler启动爬虫器,TaskMast
Java:爬虫框架
dingcho
Java java 爬虫
一、ApacheNutch2【参考地址】Nutch是一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。Nutch致力于让每个人能很容易,同时花费很少就可以配置世界一流的Web搜索引擎.为了完成这一宏伟的目标,Nutch必须能够做到:每个月取几十亿网页为这些网页维护一个索引对索引文件进行每秒上千次的搜索提供高质量的搜索结果简单来说Nutch支持分
python怎么将png转为tif_png转tif
weixin_39977276
发国外的文章要求图片是tif,cmyk色彩空间的。大小尺寸还有要求。比如网上大神多,找到了一段代码,感谢!https://www.jianshu.com/p/ec2af4311f56https://github.com/KevinZc007/image2Tifimportjava.awt.image.BufferedImage;importjava.io.File;importjava.io.Fi
springboot+vue项目实战一-创建SpringBoot简单项目
苹果酱0567
面试题汇总与解析 spring boot 后端 java 中间件 开发语言
这段时间抽空给女朋友搭建一个个人博客,想着记录一下建站的过程,就当做笔记吧。虽然复制zjblog只要一个小时就可以搞定一个网站,或者用cms系统,三四个小时就可以做出一个前后台都有的网站,而且想做成啥样也都行。但是就是要从新做,自己做的意义不一样,更何况,俺就是专门干这个的,嘿嘿嘿要做一个网站,而且从零开始,首先呢就是技术选型了,经过一番思量决定选择-SpringBoot做后端,前端使用Vue做一
JavaScript 中,深拷贝(Deep Copy)和浅拷贝(Shallow Copy)
跳房子的前端
前端面试 javascript 开发语言 ecmascript
在JavaScript中,深拷贝(DeepCopy)和浅拷贝(ShallowCopy)是用于复制对象或数组的两种不同方法。了解它们的区别和应用场景对于避免潜在的bugs和高效地处理数据非常重要。以下是对深拷贝和浅拷贝的详细解释,包括它们的概念、用途、优缺点以及实现方式。1.浅拷贝(ShallowCopy)概念定义:浅拷贝是指创建一个新的对象或数组,其中包含了原对象或数组的基本数据类型的值和对引用数
JAVA·一个简单的登录窗口
MortalTom
java 开发语言 学习
文章目录概要整体架构流程技术名词解释技术细节资源概要JavaSwing是Java基础类库的一部分,主要用于开发图形用户界面(GUI)程序整体架构流程新建项目,导入sql.jar包(链接放在了文末),编译项目并运行技术名词解释一、特点丰富的组件提供了多种可视化组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、下拉列表(JComboBox)等,可以满足不同的界面设计
WebMagic:强大的Java爬虫框架解析与实战
Aaron_945
Java java 爬虫 开发语言
文章目录引言官网链接WebMagic原理概述基础使用1.添加依赖2.编写PageProcessor高级使用1.自定义Pipeline2.分布式抓取优点结论引言在大数据时代,网络爬虫作为数据收集的重要工具,扮演着不可或缺的角色。Java作为一门广泛使用的编程语言,在爬虫开发领域也有其独特的优势。WebMagic是一个开源的Java爬虫框架,它提供了简单灵活的API,支持多线程、分布式抓取,以及丰富的
博客网站制作教程
2401_85194651
java maven
首先就是技术框架:后端:Java+SpringBoot数据库:MySQL前端:Vue.js数据库连接:JPA(JavaPersistenceAPI)1.项目结构blog-app/├──backend/│├──src/main/java/com/example/blogapp/││├──BlogApplication.java││├──config/│││└──DatabaseConfig.java
算法 单链的创建与删除
换个号韩国红果果
c 算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
zeus持久层spring事务单元测试
deng520159
java DAO spring jdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
Rss 订阅 开发
周凡杨
html xml 订阅 rss 规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
highCharts柱状图
布衣凌宇
hightCharts 柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
spring mvc Spring 教程 spring3 教程 Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
TLS java简单实现
antlove
java ssl keystore tls secure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
Zip解压压缩文件
百合不是茶
Zip格式解压 Zip流的使用 文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
underscore.js 学习(一)
bijian1013
JavaScript underscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
java jvm jstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
[JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
单一功能原则
dcj3sjt126com
面向对象的程序设计 软件设计 编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
POJO、VO和JavaBean区别和联系
fanmingxing
VO POJO javabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
scala如何读取和写入文件内容?
qindongliang1922
java jvm scala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
C语言算法之百元买百鸡
qiufeihu
c 算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,