—— XHTML MP and WCSS
一、WAP的常识(省略)
二、XHTML MP
(一)XHTML MP 介绍
XHTML MP(eXtensible HyperText Markup Language Mobile Profile)
WAP2.0
与WCSS(WAP CSS /WAP Cascading Style Sheet)配套使用
是XHTML的子集
XHTML Basic (XHTML子集)+另外的一些XHTML的元素和属性
WAP浏览器与互联网之间
以前WAP网站(WML and WMLScript )
更多的展示表现(presentation control )
(一)XHTML MP 介绍
优势:开发的站点可以在WEB和无线上都可以使用,也可以用任何Web浏览器访问WAP2.0应用
向后兼容:XHTML MP / WCSS 和 WML / WMLScript
(二)无线标记语言发展
HTML:WAP发展的首要任务——移动电话,PDA等访问互联网。WAP standard (WML and XHTML Mobile Profile) 类似HTML
WML(Wireless Markup Language) 1.x:WAP 1.x 规范中规定的标记语言,无线设备的第一个标记语言。Openwave、Nokia 和 Ericsson 很早都有自己的标记语言。WML规范是WAP Forum(97)创建的。而现在,很多的WAP站点依然使用的是WML。
XHTML:结构比HTML更简洁和严格。这对于无线设备(例:移动电话)很重要,对于有限的处理能力。
XHTML Basic :是XHTML的一个简化版本。为处理
能力和性能有限的设备设计的(移动电话,PDA,呼机等)
(二)无线标记语言发展
但是不包含XHTML特性。例如CSS,frames和Scripting。是由W3C定义的。
XHTML MP: 在WAP2.0说明中指定的官方标记语言。WAP Forum 基于 XHTML Basic创造,并从XHTML的完整版本中增加了一些元素和属性。例如,,,和
。XHTML MP支持一个简单的CSS版本,即WCSS/WAP CSS。
WCSS/WAP CSS: CSS2的一个简化版本,增加了WAP特有的扩展。可以很简单的改变XHTML MP页面的布局和风格。
WML2.0: WAP站点开发者不需要顾虑WML2.0。WML2.0向后兼容,并且对于WAP站点开发者还不可用。
(三)XHTML MP的优点
最大优点:开发者可用相同的技术开发适用于WEB和WAP的站点。
有HTML、XHTML、CSS基础即可入门。
同样的开发工具可以用来开发WEB和WAP站点。
开发过程中一般的WEB浏览器可以浏览你的WAP站点。
HTML/XHTML页面可以通过较小的修改成XHTML MP,甚至不用修改(注意:布局是否适应小屏幕,文件大小是否出最大)。
支持WCSS。移动设备有很多不同的特征,比如屏幕大小,只需写一次结构,使用不同的WCSS文件即可。
更多的表现控制。
(四) 不支持的WML 特性
XHTML MP 不支持和标签。
在XML中,一个文件可以包含一个或更多的card,所有的card组合成一个deck,并在无线设备中一同被下载。WAP浏览器每次只显示一个card,可以通过锚链接访问其他的card。通过这些,减少了服务器的往返的访问。对性能的提高是有意义的。在XHTML MP中要实现类似的特性,可以使用multipart messages(多个文档放到一个请求)另外一个方式是使用目标锚(一个页面的不同位置)。
XHTML MP 不支持标签
元素10秒后告诉WAP浏览器URL。
注意点:WML timer 仅当进入card,而HTML refresh timer当进入XHTML MP页面。
(四) 不支持的WML 特性
3. XHTML MP 不支持事件。
WML支持四个事件(ontimer,onenterbackward,onenterforward,onpick),除ontimer其他事件无法模拟。如要使用,需使用WML1.X。
4. XHTML MP 不支持变量。
在XML,可以声明变量,并赋值,拥有全局作用域。可以在任何的deck和card中使用。XHML MP放在服务器端处理(必须发送并保存)。
5. XHTML MP 不支持客户端脚本。
在XML,你可以使用客户端脚本(WMLScript)。JavaScript的简化版,常用来验证数据。放在服务器短处理。将来的版本将会支持客户端脚本(ECMAScript MP),支持所有的WMLScript功能。
(四) 不支持的WML 特性
6. XHTML MP 不支持可编程序软键(Programmable SoftKeys)。
WML的一个最大特征。通过标签使用。在XHML MP中可以使用 accesskey 属性。锚链接和提交按钮支持这个属性:
XHTML MP Tutorial Part 1 WCSS中的-wap-accesskey属性也可以用来定义:a.wcss_class_1 {-wap-accesskey: 1}
7. XHTML MP 不支持标签。
在XML,用来在一些文字下添加下划线。可以用WCSS中的text-decoration属性。
8. XHTML MP 不支持Input框的format属性。
在XML,可以定义类型和字数限制。可以使用WCSS中的-wap-input-format属性,语法一致。比如限制5个数字字符:input {-wap-input-format:”5N”}
(四) 不支持的WML 特性
9. XHTML MP 不支持锚链接传输数据。
姓名:
提交
(五) 语法规则
标签必须完全闭合。
标签和属性必须小写。
属性值必须包含在引号标记内。
不允许无属性值存在。
标签必须完全嵌套。
(六)MIME 类型和文件扩展名
MIME类型: application/vnd.wap.xhtml+xml、application/xhtml+xml 、text/html。
动态生成MIME类型。获得HTTP请求中的accept header信息。
文件扩展名:.xhtml、.html、.htm
(七)文档结构
必须包含, , 和<body> 元素。 <br><br><?xml version="1.0"?><br><!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"><br><html xmlns="http://www.w3.org/1999/xhtml"><br><head><br> <title>Hello world
Hello world. Welcome to taobao.com.
(七)文档结构
XML声明和字符编码:
UTF-8/16编码可省略。XML声明也不是必须的,但如果忽略在许多WAP浏览器中出错。
必须有DOCTYPE声明。在XML声明和元素之间。
、、、、<body><br><p>元素,align属性已经去除,可以通过WAP CSS的text-align属性来设置。<br>(八)通用的元数据<br>使用<meta/>标签,包含在<head>内<br>WAP浏览器如果不理解则忽略。<br>比如添加作者:<meta name="author" content=“yuanxin"/> <br>Cache Control:<meta/>标签的一个应用是控制XHTML MP文件在Cache中的存在周期:<br> <meta http-equiv="Cache-Control" content="no-cache"/> <br> <meta http-equiv="Cache-Control" content="max-age=0"/><br> 注意点:与设备相关。一些使用不相的方法,一些没有Cache机制。还有一些不支持<meta/>但识别Cache-Control:no-cache的<br> HTTP头。也可应用于图片的缓存。<br>(八)通用的元数据<br>周期性刷新。必须配合使用。不是所有浏览器都支持。<br> <meta http-equiv="Cache-Control" content="no-cache"/> <br> <meta http-equiv="refresh" content="15;URL=yuanxin.xhtml"/> <br>(九)常用标签介绍<br>注释:<!-- -- >,和HTML和WML1.X相同。<br>换行:<br/> ,和HTML和WML1.X相同。<br>水平线:<hr/>。不能包含在<p></p>标签之内。<br>标题:<h1>-<h6>(不同的大小和样式),有些设备看起来一样的。<br> <br>(九)常用标签介绍<br>字体样式:XML可以使用标签来改变字体样式( <b>、<i>、<small>、<big>等)。但一些浏览器只支持其中的部分,不支持的忽略,不会出错。 WCSS 控制字体格式。<br>与格式化文本:在XHTML MP中,标签间空白不显示,此外,段落中2个或更多的空白只显示一个,如果想保持文字的格式,可使用<pre>。 <br>列表:<ul>、<ol>、<li>。对于<ol>元素,可以用属性 start 指定数字开始的序列。还可以用WCSS来做更精确的控制。<br>显示图片:<img>标签用来显示图片。和HTML一样。如果文件没发现或者图片格式不支持,显示alt属性文本。Height和width属性来指定图片显示区域的高度和宽度<br><br>(九)常用标签介绍<br>除了老的WBMP图片格式,WAP2.0还支持WEB上的图片格式(gif, jpg和PNG),但WAP2.0无线设备支持上面图片格式的某些。GPRS-gif,CDMA-png。可以通过accept HTTP header判断设置。 <br> 关于大图片的发布:很多WAP浏览器都没有水平滚动功能。如果宽度大于显示屏,很多的WAP浏览器会裁切图片。图片的按比例缩小不能帮助提升性能。大图片还会造成访问站点用户的费用。<br> 优化图片:1、用制图软件按比例缩小图片;2、如果是gif图片,减少颜色,但降低了图片质量,权衡。3、如果是jpg图片,保存一定的压缩比例,依然是权衡。<br> 使用multipart messages,先下载的XHTML MP文档,<br>(九)常用标签介绍<br>后请求图片,产生多个请求。该方式可以使文档和图片在一个请求,意味着一个页面只有一个请求。减少服务器的压力。<br>表格:创建表格,需要使用<table>、<tr>、<td>标签,默认表格没有边线。属性有rowspan和colspan。<br>锚链接:一般用在导航。标签为<a></a>。属性href定义指定的URL。当前页面位置的跳转:先设置目标链接,通过id属性设置;再设置锚链接的URL为#id名称。<br> 对锚链接设置快捷键:<a>标签的accesskey属性,有效的值为:*,#,0-9。还可以用-wap-accesskey设置。<br>(九)常用标签介绍<br>选择列表:选择列表使用<select>标签,包含一个或更多的<option>标签。<select>标签的name属性定义选择列表的名字。name用来取得被选择的item的值(option的value属性定义)。<br> 1. 多重选择列表:Option的selected属性用来设置默认的option。如果想设置多重选择列表,可使用<select>标签的multiple属性,只有一个唯一值‘multiple’。<br> 2. Option分组:使用<optgroup>标签,label属性定义option组的名称。<br>(九)常用标签介绍<br>选择列表<br>(九)常用标签介绍<br>输入元素:Text field、Password fireld、Checkbox、Radio button、Hidden field。通过<input>元素创建。传输数据到服务器,<input>元素必须和<form>一起使用。Type属性用来定义input元素的类别。Name属性用来定义名称,方便取得用户数据。<br> <input type="text" name=“taobao" maxlength="16" value=“yuanxin"/> <br> input { -wap-input-format: "10N"} <br> <input type="password" name=“taobao"/> <br> <input type="checkbox" name=“taobao" value=“yuanxin" checked="checked"/> <br> <input type="radio" name=“taobao" value=“yuanxin" checked="checked"/> <br> <input type="hidden" name=“taobao" value=“yuanxin"/> <br><br>(九)常用标签介绍<br>13. form元素:<input>、<select>等元素不能直接包含在form元素下,XHMTL MP标准规定必须有块级元素。如果有non-ASCII字符,需使用POST方法来避免编码问题。<br> <form method="get" action=“yuanxin.asp"> <p> <input ...> <select ...> </p> </form> <br>14. 提交按钮:所有的表单都必须包含一个提交按钮。<input>元素用来创建一个提交按钮。而type属性被定义为’submit’。<br> <input type="submit" value="OK"/> <br>(九)常用标签介绍<br>15. 重置按钮:并不是必须的。<input>元素用来创建一个重置按钮。而type属性被定义为’reset’。<br> <input type="reset" value="Default"/><br>16. Div和Span。 <br><br>三、WCSS/WAP CSS<br>(一)WCSS 介绍<br>WCSS/WAP CSS/Wireless CSS/Wireless Profile CSS(WAP Cascading Style Sheet )<br>是CSS2的子集+一些WAP特有的扩展<br>目的:定义文档的风格和布局,从文档内容中分离。<br>重要性:不同的手机设备有多样的特征,比如屏幕大小。<br>WML不支持WCSS<br>W3C CSS Mobile Profile和WAP CSS 不同。<br>(二)使用WCSS的优势<br>主要:学习成本降低,可用相同的开发工具,可用WEB浏览器浏览。<br>表现和结构的分离:匹配不同无线设备的特征(屏幕大小)、不同客户端代理(PC、PDA、手机);降低维护成本(新手机);改变视觉和布局仅需CSS;重复使用CSS;便于工作细分。<br>比WML更好的控制表现:可以定义元素的color,font,background,border,margin,padding等属性。<br>移动设备第一次访问站点下载样式(Cache)。<br>使用外部WCSS,XHTML MP的文档大小变小,提高下载时间。<br><br>(三)使用WCSS的劣势<br>不同的WAP浏览器对WCSS的支持不同,可能一个属性在这个WAP浏览器上支持,而另外一个不支持。<br>外部的WAP CSS可能增加第一次访问页面的请求时间。原因:外部WCSS不存在于手机的Cache,必须从服务器下载;XHTML MP文档和外部的WCSS下载是不同的请求,增加了服务器压力;如果使用一个WCSS定义WAP站点的所有表现,该文件大小可能很大;WAP浏览器需要解析WCSS到XHTML MP文档。<br>(四)MIME 类型和文件扩展名<br>MIME类型: text/css。<br>文件扩展名:.css<br><br>(五)WCSS的语法规则<br>WCSS声明:selector {property: property_value} <br>多个属性允许的,用’;’分隔。<br>多个选择器也是允许的,用‘,’分隔。<br>注释:/*orz*/,WAP浏览器将忽略这些内容。<br>(六)如何在XHTML MP文档中应用<br>链接外部WCSS(推荐),放置在文档的head部分,用style属性定义WCSS样式 <br><link href=“url” rel=“stylesheet” type=“text/css”/>,可以多个,无需修改rel和type属性。<br><style type="text/css"> some WCSS statements </style> <br><hr style="color: blue"/><br>(七)不同的选择器<br>类型选择器:h1 { font-style: italic} 元素名称必须小写。 <br>Class选择器: .class { color:blue} 对应标签的class属性,还可以联合元素名称使用 h1.class {color:blue}。<br>ID选择器:#id {color:red} 对应标签的id属性也可联合元素名称。<br>通用选择器:* { color:blue} ,所有的标签。注意:在某些WAP浏览器上会使样式渲染变慢。(建议不要用)<br>(八)常用的属性值<br>长度:%,px,em,ex,cm,mm,in,pt,pc(值和单位之间不允许有空格:margin-top:1px而不是margrin-top:1 px)。 <br>颜色:rgb(r%;g%,b%)、rgb(r,g,b)、#rrggbb、#rgb、red(16种)。<br>URL:ul {list-style-image: url(bullet.gif)} 无引号、双引号、单引号均可。<br>(九)字体和文本属性<br>字体名称:p {font-family: “Times New Roman”} 名称中有空格或多个单词必须用引号包含。<br>字体大小:p {font-size:12px},也可以用xx-small,x-samll,small,medium,large,x-large,xx-large<br>字体样式:斜体、粗体和下划线(font-style,font-weight和text-decoration)。<br>设置文本对齐:text-align和float。WAP中float(left,right,none)常用在img和table标签<br>(十)列表属性<br>改变无序列表的图标(list-style-type ):默认disc,其他值:circle,square,none。可以应用在ul和li元素上。<br>改变有序列表的次序:默认decimal,其他值:upper-alpha(A),lower-alpha(a),upper-raman(I),lower-raman(i),none<br>3. 使用图片文件作为小图标:list-style-image: url(bullet.gif) 。注:Openware WAP浏览器本地保存了一些icon,可以使用这些作为小图标,例如:ul {list-style-image: localsrc("rightarrow1")} <br>(十)列表属性<br>(十一)颜色属性和border属性<br>设置前景和背景颜色:color、background-color属性。<br>设置border样式:border-style(border-top-style等)属性,值有很多,但只有none和solid被WAP浏览器广泛支持。table {border-style: solid} <br>设置border宽度:border-width(同上)属性,值为数值,还接受thin、medium和thick。注:值设置border-width,border并不可见,必须设置border-style非none值。<br>设置border颜色:border-color(同上)属性。注意点同上。<br>设置border属性的快捷方式:table {border: 2px solid black} <br> 顺序自由。<br>(十二)WAP特有的CSS扩展<br>快捷键:-wap-accesskey ,用来指定XHTML MP元素的快捷键。<br>Input:定义文本框是否可以留空,什么类型,可以输入多少字符<br>Marquee:在屏幕上滚动一些内容。<br>(十二.1)WCSS快捷键扩展<br>给元素定义快捷键:-wap-accesskey属性<br>可用的属性值*,#,0,1,2,3,4,5,6,7,8,9<br> input.wcss_class {-wap-accesskey: 4} <br>直接定义*和#违反CSS2语法。需要使用Unicode转义字符/2a和/23。但是有些WAP浏览器(Sony Ericsson WAP 浏览器 )要求使用/2a 和 /23,一些(Openwave 手机浏览器) 要求使用* 和#。<br>与元素的accesskey属性同效,如同时定义,显示该属性值。<br>只用于四个元素a, input,label,textarea,其他定义也无效。<br> <br><br><br>(十二.2)WCSS输入扩展<br>由两个属性组成:-wap-input-famat和-wap-input-required,对应于WML中<input>元素的format(定义类型和字符数量)和emptyok(是否可以留空)属性。<br>早些的移动设备上WAP浏览器不支持,但支持format和emptyok属性作为XHTML MP的扩展。为了更好的兼容性,建议WCSS和WML都使用。<br> <input type="text" format="N" style='-wap-input-format: "N"'/> <br>控制文本框的类型和字符数量:-wap-input-format。需应用在<input type=“text”>, <input type=“password”>和<textarea> 标签上,如应用在其他标签无效。格式字符(大小写敏感):a(小<br> 写字母或符号),A(大写字母或符号),n(数字或符号)<br><br>(十二.2)WCSS输入扩展<br>N(数字),x(小写字母或数字或符号),X(大写字母或数字或符号),m(任何字符,默认小写字母输入模式,可换大写模式),M(任何字符,默认大写字母输入模式,可换小写模式)。属性值必须包含在引号内,由于部分Openwave 手机浏览器不支持单引号,建议使用双引号(<input type=“text” style=‘-wap-input-format: “N”’/> )<br> -wap-input-format: “2N” (最多两个数字) -wap-input-format: “NN” (两个数字) -wap-input-format: “*N” (无限个数字)<br> -wap-input-format: “A*a” (第一个大写字母或符号,0-n个小写字母或符号) -wap-input-format :“*M”(默认)<br> 格式字符前使用数字或*的原则:1、只允许一次;2、在最后<br><br><br><br><br>(十二.2)WCSS输入扩展<br>如果值语法错误,则WAP浏览器忽略该属性。<br> 也可以包含转义字符:’/’在WCSS中是特殊字符,使用’//’。<br>控制文本框是否可以留空:-wap-input-required(值为:false和true ),帮助控制文本框是否可以空白。使用元素同上。<br> 当-wap-input-format和-wap-input-required冲突时,以required优先。<br><br><br><br>(十二.3)WCSS Marquee扩展<br>可以在屏幕上滚动一些内容(一行文字,一个图片,一个链接等),但一些WAP浏览器只支持滚动文字。当内容超过屏幕时很有用。<br>包含四个属性和一个属性值:-wap-marquee属性值(display属性的值),-wap-marquee-dir属性(指定marquee的方向,值:ltr,rtl-默认),-wap-marquee-loop属性(指定marquee重复的时间,infinite永远,大多数默认为1),-wap-marquee-speed属性(指定marquee的速度,值:slow,normal-默认,fast),-wap-marquee-style(指定marquee在屏幕上如何滚动,有三个值:scroll-默认,slide,alternate)<br> <br><br><br>(十二.3)WCSS Marquee扩展<br><br> <br><br><br>二、WAP2.0设计原则<br>WAP2.0设计原则<br>设计站点前的准备工作<br> 界面设计、挑选核心服务、WAP设备特性统计(浏览器等)<br>关注导航模型<br> 一致易学的导航模型。简洁精确且快速的信息。尽可能减少输入(考虑选择列表、复选框或单选按钮等。-wap-input-format:*N;避免模式转换。首字母。 )<br>设计导航层次<br> 导航模型一致、少用‘返回’链接、避免深度太深(4-5)、返回首页或目录<br> <br><br><br>WAP2.0设计原则<br>考虑小尺寸屏幕的设计<br> 确保内容可见、<title>少于14个字符、一致的样式、减少水平滚动、利用对齐属性增加可读性(1-3)、充分利用空间(图文)、避免过多使用文本样式属性、使用短小精确的词语、避免使用过多的颜色并保持一致、不用名字描述颜色。<br>保持较短的文档大小:内存有限,不支持WML的多card,使用锚链接等<br> 不要包含长注释、去除缩进或空格、尽量少用id和class<br>6. 用户任务流流畅和图片合理使用<br> 图片不是用户目的尽少使用、避免使用大表格。<br> <br><br><br>WAP2.0设计原则<br>7. 页面上提供足够信息<br> 首屏常用导航链接、搜索域、登录屏幕和大量信息;上下滚动困难,表单交互要简短。<br>为用户操作提供信息反馈<br> 对用户操作、错误和问题情况提供正确的反馈。<br>9. 尽可能减少图片数量和减小图像容量大小<br> 每张图片都是一个请求,降低页面显示的速度,且内容可能重排序,占用时间和资源,全站规划相同图片。<br>定义图像的高度和宽度属性<br> 定义了预占位,改善用户体验,<br> <br><br><br>WAP2.0设计原则<br>11. 谨慎使用表格<br> 单元格宽度使用绝对宽度;嵌套层数增加,页面复杂度和处理时间增加;表格边框避免太粗。<br>12. 考虑添加样式定义选项<br> 权衡!<br>使用Unicode字符编写XHTML MP内容 <br>进行可用性测试 </p>
<p> </p>
<p> </p>
<p> <br>附录<br>1. 常用WAP模拟器<br>WinWAP、OpenWave、Opera<br><br>2. 常用WAP网站<br>www.wapforum.org<br>www.spforum.net<br>www.csdn.com<br>www.blueidea.com</p>
</div>
</div>
</div>
</div>
</div>
<!--PC和WAP自适应版-->
<div id="SOHUCS" sid="1304591323965198336"></div>
<script type="text/javascript" src="/views/front/js/chanyan.js"></script>
<!-- 文章页-底部 动态广告位 -->
<div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
</div>
<div class="col-md-3">
<div class="row" id="ad">
<!-- 文章页-右侧1 动态广告位 -->
<div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
<div class="youdao-fixed-ad" id="detail_ad_1"> </div>
</div>
<!-- 文章页-右侧2 动态广告位 -->
<div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
<div class="youdao-fixed-ad" id="detail_ad_2"></div>
</div>
<!-- 文章页-右侧3 动态广告位 -->
<div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
<div class="youdao-fixed-ad" id="detail_ad_3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Java)</h4>
<div id="paradigm-article-related">
<div class="recommend-post mb30">
<ul class="widget-links">
<li><a href="/article/1891685807576641536.htm"
title="Spring Boot01(注解、)---java八股" target="_blank">Spring Boot01(注解、)---java八股</a>
<span class="text-muted">凉漠</span>
<a class="tag" taget="_blank" href="/search/java%E5%85%AB%E8%82%A1/1.htm">java八股</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
<div>SpringBoot中常用注解及其底层实现1、@SpringBootApplication注解:@SpringBootApplication注解:这个注解标识了一个SpringBoot工程,它实际上是另外三个注解的组合,这三个注解是:a@SpringBootConfiguration:这个注解实际就是一个@Configuration,表示启动类也是一个配置类b@EnableAutoConfigur</div>
</li>
<li><a href="/article/1891683409340723200.htm"
title="Vue.js 组件开发:构建高效、可重用的用户界面" target="_blank">Vue.js 组件开发:构建高效、可重用的用户界面</a>
<span class="text-muted">m1chiru</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
<div>Vue.js组件开发:构建高效、可重用的用户界面Vue.js是一个流行的JavaScript框架,它致力于通过简单的API和高度响应的设计,帮助开发者构建高效、动态的前端应用。在Vue.js中,组件是构建用户界面的核心单元。它们使得应用的结构更加模块化、可维护且易于重用。在这篇博客中,我们将深入探讨Vue.js组件的开发方法,包括组件的基本概念、创建、传递数据、事件处理以及组件之间的通信等关键内容</div>
</li>
<li><a href="/article/1891681384909565952.htm"
title="用数组实现栈(java)" target="_blank">用数组实现栈(java)</a>
<span class="text-muted">JD_LONG</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%A0%88/1.htm">栈</a>
<div>数据结构与算法学习(java)-栈题目一:用数组实现栈要求:*用数组形式实栈的基本功能,入栈,出栈及显示栈元素功能思路:1.准备一个数组int[]stack;需要变量maxSize表示栈的大小2.入栈(push):需要一个变量(top)来表示栈顶,初始化为-1;当有数据入栈时,top增加,同时将数据传递给stack[top].3.出栈(pop):需要定义变量来接住stack[top],然后top减</div>
</li>
<li><a href="/article/1891679368745381888.htm"
title="一些流行的拖拽化和低代码平台(汇总)" target="_blank">一些流行的拖拽化和低代码平台(汇总)</a>
<span class="text-muted">视频砖家</span>
<a class="tag" taget="_blank" href="/search/%E6%96%87%E7%AB%A0%E5%AD%98%E6%A1%A3/1.htm">文章存档</a><a class="tag" taget="_blank" href="/search/%E4%BD%8E%E4%BB%A3%E7%A0%81/1.htm">低代码</a><a class="tag" taget="_blank" href="/search/%E4%BD%8E%E4%BB%A3%E7%A0%81%E5%B9%B3%E5%8F%B0/1.htm">低代码平台</a>
<div>一些流行的拖拽化和低代码平台,这些工具可以帮助用户快速构建应用程序,无需深入的编程知识:1.开源拖拽库dragula:一款强大且兼容性极好的拖拽排序库,支持多种框架,如vanillaJavaScript、Angular、React等。Interact.js:提供拖拽、调整尺寸和多点触摸手势功能,适用于现代浏览器。react-dnd:React组件库,用于实现拖拽功能。Sortable:适用于多种框</div>
</li>
<li><a href="/article/1891673814002102272.htm"
title="python异常处理链与自定义异常体系设计" target="_blank">python异常处理链与自定义异常体系设计</a>
<span class="text-muted">懒大王爱吃狼</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python%E5%AD%A6%E4%B9%A0/1.htm">python学习</a><a class="tag" taget="_blank" href="/search/Python%E5%9F%BA%E7%A1%80/1.htm">Python基础</a>
<div>在Python中,异常处理链和自定义异常体系是两个重要的概念,它们有助于更好地管理程序中的错误和异常情况。异常处理链异常处理链指的是在捕获一个异常后,能够将其信息保留并传递给另一个异常或日志系统。这在多层调用或复杂系统中尤其有用,因为它允许你追踪异常最初发生的位置,同时也可以在每一层添加额外的上下文信息。Python本身并不直接支持异常链的某些高级特性(如Java中的initCause方法),但你</div>
</li>
<li><a href="/article/1891665366816452608.htm"
title="蓝桥杯 Java B 组之总结与模拟题练习" target="_blank">蓝桥杯 Java B 组之总结与模拟题练习</a>
<span class="text-muted">计算机小白一个</span>
<a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a>
<div>蓝桥杯JavaB组-第七天:周总结与模拟题练习Day7:周总结与模拟题练习在这一周的学习中,我们已经接触了动态规划的基本概念和常见应用。今天,我们将通过刷一些蓝桥杯的模拟题,来熟悉并巩固所学的知识,特别是动态规划的问题。一、模拟题:Fibonacci数列求余题目描述:给定正整数n,求斐波那契数列的第n项,并计算其对一个数m的余数。即:f(n)f(n)%m例如:输入n=10,m=100输出:f(10</div>
</li>
<li><a href="/article/1891660445232721920.htm"
title="Java CopyOnWriteArrayList 源码分析及使用案例" target="_blank">Java CopyOnWriteArrayList 源码分析及使用案例</a>
<span class="text-muted">铁甲小宝摸鱼</span>
<a class="tag" taget="_blank" href="/search/Java%E9%9D%A2%E8%AF%95%E5%85%AB%E8%82%A1%E6%96%87/1.htm">Java面试八股文</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
<div>CopyOnWriteArrayList是Java中一种线程安全的List实现,它通过在每次修改时复制底层数组来实现线程安全。本文将详细分析CopyOnWriteArrayList的源码,并结合具体使用案例来展示其使用场景和优缺点。一、CopyOnWriteArrayList简介CopyOnWriteArrayList是java.util.concurrent包中的一个类,适用于读多写少的场景。它</div>
</li>
<li><a href="/article/1891660441889861632.htm"
title="智能图像处理平台:技术融合与实践的结晶" target="_blank">智能图像处理平台:技术融合与实践的结晶</a>
<span class="text-muted">顾北辰20</span>
<a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86%E5%B9%B3%E5%8F%B0/1.htm">智能图像处理平台</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/1.htm">图像处理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
<div>目录项目目标项目功能用户模块图像处理模块异步任务模块技术栈数据库设计核心功能实现方式图片上传图片处理异步任务项目扩展近日DeepSeek很火,我让他给我出了个小项目练练手,带大家一起做一下,可做为毕业设计参考。在当今数字化时代,图像处理技术广泛应用于各个领域,从医学影像到社交媒体,其重要性不言而喻。本文将介绍一个智能图像处理平台的练手项目,旨在巩固Java、MySQL、SpringBoot、Red</div>
</li>
<li><a href="/article/1891653255944007680.htm"
title="前端构建工具——Webpack和Vite的主要区别" target="_blank">前端构建工具——Webpack和Vite的主要区别</a>
<span class="text-muted">像素检测仪</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/webpack/1.htm">webpack</a>
<div>目录1.设计理念2.性能表现3.使用场景4.配置复杂度5.生态系统6.性能对比总结7.选择建议1.设计理念Webpack设计理念:Webpack是一个通用的模块打包工具,它将项目中的各种资源(如JavaScript、CSS、图片等)视为模块,并通过loader和plugin进行处理和打包。适用范围:适用于复杂项目,支持高度定制化,适合需要精细控制构建过程的场景。Vite设计理念:Vite(法语“快</div>
</li>
<li><a href="/article/1891652750807199744.htm"
title="ffmpeg-cli-wrapper操作ffmpeg的工具" target="_blank">ffmpeg-cli-wrapper操作ffmpeg的工具</a>
<span class="text-muted">NaughtyBo</span>
<a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%26amp%3B%E6%B5%81%E5%AA%92%E4%BD%93/1.htm">视频&流媒体</a><a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a>
<div>学习链接ffmpeg-cli-wrapper-内部封装了操作ffmpeg命令的java类库,它提供了一些类和方法,可以方便地构建和执行ffmpeg命令,而不需要直接操作字符串或进程。并且支持异步执行和进度监听springboot-ffmpeg-m3u8-convertor-gitee代码-springboot+ffmpeg,将视频转换为m3u8格式。支持.mp4|.flv|.avi|.mov|.w</div>
</li>
<li><a href="/article/1891648965829521408.htm"
title="利用javaCV 将视频转为m3u8格式" target="_blank">利用javaCV 将视频转为m3u8格式</a>
<span class="text-muted">daqinzl</span>
<a class="tag" taget="_blank" href="/search/%E6%B5%81%E5%AA%92%E4%BD%93/1.htm">流媒体</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E9%9F%B3%E9%A2%91/1.htm">视频音频</a><a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a><a class="tag" taget="_blank" href="/search/javacv/1.htm">javacv</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E8%BD%ACm3u8/1.htm">视频转m3u8</a>
<div>参考链接https://blog.csdn.net/laow1314/article/details/128797915</div>
</li>
<li><a href="/article/1891648643631476736.htm"
title="百万架构师第三十九课:RabbitMq:Linux安装RabbitMq|JavaGuide" target="_blank">百万架构师第三十九课:RabbitMq:Linux安装RabbitMq|JavaGuide</a>
<span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
<div>来源:https://javaguide.netRPM包安装RabbitMQRabbitMQ的安装非常简单,由于RabbitMQ依赖于Erlang,所以需要先安装Erlang,解决依赖关系后,就可以安装RabbitMQ了。注意,在安装Erlang前,需要先安装socat安装socat[root@nogeek]#yum-yinstallsocat下载RPM包RabbitMQ:http://www.r</div>
</li>
<li><a href="/article/1891647201361326080.htm"
title="在IntelliJIDEA中使用Gradle创建Web项目的步骤" target="_blank">在IntelliJIDEA中使用Gradle创建Web项目的步骤</a>
<span class="text-muted">大G哥</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a>
<div>1.打开IntelliJIDEA启动IntelliJIDEA。2.创建新项目点击File>New>Project。在弹出的窗口中,选择Gradle作为项目类型。确保Java被选中。点击Next。3.配置项目GroupId:输入你的组织或项目组ID(例如:com.example)。ArtifactId:输入项目名称(例如:mywebapp)。点击Next。4.配置项目名称和位置Projectname</div>
</li>
<li><a href="/article/1891647193283096576.htm"
title="Java 基于 SpringBoot+Vue 的动漫平台(附源码,文档)" target="_blank">Java 基于 SpringBoot+Vue 的动漫平台(附源码,文档)</a>
<span class="text-muted">程序员徐师兄</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%BC%AB%E5%B9%B3%E5%8F%B0/1.htm">动漫平台</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%BC%AB%E7%BD%91%E7%AB%99/1.htm">动漫网站</a>
<div>博主介绍:✌程序员徐师兄、8年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战*✌文末获取源码联系精彩专栏推荐订阅不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅Java项目精品实战案例《500套》Java微信小程序项目实战《200套》Python项目实战《200套</div>
</li>
<li><a href="/article/1891644920318455808.htm"
title="学习笔记分享-快速掌握前端-html进阶(利用telnet发送json请求、利用telnet发送multipart请求)" target="_blank">学习笔记分享-快速掌握前端-html进阶(利用telnet发送json请求、利用telnet发送multipart请求)</a>
<span class="text-muted">2301_81243975</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
<div>前言图片上面的personal表示只有图片上面的一行语句是解释图片内容的、local表示这个图片所在标题下的所有语句都是解释图片内容的、global表示有多个标题下的所有语句都是解释图片内容的我是一名大二的学生,学了差不多一年java技术栈了,想记录一下自己对知识点的心得,目前还是个小白,期望大佬们可以指出我笔记中的不足之处、对知识点的认知错误、笔记结构的混乱等这些图片内容都是在观看黑马课程时的视</div>
</li>
<li><a href="/article/1891644918196137984.htm"
title="学习笔记分享-数据结构与算法-图-Dijkstra(算法描述、算法实现)" target="_blank">学习笔记分享-数据结构与算法-图-Dijkstra(算法描述、算法实现)</a>
<span class="text-muted">2301_81243975</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
<div>前言图片上面的personal表示只有图片上面的一行语句是解释图片内容的、local表示这个图片所在标题下的所有语句都是解释图片内容的、global表示有多个标题下的所有语句都是解释图片内容的我是一名大二的学生,学了差不多一年java技术栈了,想记录一下自己对知识点的心得,目前还是个小白,期望大佬们可以指出我笔记中的不足之处、对知识点的认知错误、笔记结构的混乱等这些图片内容都是在观看黑马课程时的视</div>
</li>
<li><a href="/article/1891642776697761792.htm"
title="Webpack 基础入门" target="_blank">Webpack 基础入门</a>
<span class="text-muted">懒羊羊我小弟</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%8C%96/1.htm">前端工程化</a><a class="tag" taget="_blank" href="/search/webpack/1.htm">webpack</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/es6/1.htm">es6</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a>
<div>一、Webpack是什么Webpack是一款现代JavaScript应用程序的静态模块打包工具。在Web开发中,我们的项目会包含各种类型的文件,如JavaScript、CSS、图片等。Webpack可以将这些文件打包成一个或多个文件,以便在浏览器中高效加载。它就像是一个超级管家,把项目中的各种资源整理打包,让它们能更好地协同工作。二、为什么要使用Webpack代码拆分:可以将代码拆分成多个块,实现</div>
</li>
<li><a href="/article/1891638113210527744.htm"
title="【Java线程中断】线程中断后为什么要调用interrupt()?" target="_blank">【Java线程中断】线程中断后为什么要调用interrupt()?</a>
<span class="text-muted">星星点点洲</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
<div>我们在处理中断异常时InterruptedException,往往会调用Thread.currentThread().interrupt(),你知道这么做的目的和用处吗?这是Java多线程编程中一个重要的实践,主要原因有以下:interrupt为了继续传递中断信号1.恢复中断状态当线程在阻塞方法(如sleep()、wait()、join())中被中断时,JVM会做两件事:抛出Interrupted</div>
</li>
<li><a href="/article/1891636600232800256.htm"
title="Maven 构建分发包与依赖管理" target="_blank">Maven 构建分发包与依赖管理</a>
<span class="text-muted">drebander</span>
<a class="tag" taget="_blank" href="/search/Maven/1.htm">Maven</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
<div>Maven是Java开发中广泛使用的构建和依赖管理工具,它不仅能帮助开发者高效地构建项目,还提供了强大的依赖管理和版本控制功能。通过Maven,你可以轻松地构建并发布JAR、WAR等分发包,并管理不同版本的依赖。本文将讲解如何使用Maven构建并发布JAR/WAR包,以及如何管理不同的发布版本,包括如何配置发布仓库、版本号管理和依赖范围。1.Maven构建分发包(JAR/WAR)1.1JAR包构建</div>
</li>
<li><a href="/article/1891635085023703040.htm"
title="validation 实现参数校验" target="_blank">validation 实现参数校验</a>
<span class="text-muted">程序员老王wd</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
<div>简述在Java中,参数校验是非常重要的,因为它可以确保方法或函数在执行时接收到的参数是合法的,有效的,从而提高代码的健壮性和安全性。参数校验可以防止无效的输入导致的异常或错误,同时也能减少因为无效参数导致的安全漏洞Java中的参数校验可以通过手动编写校验逻辑来实现,但这样会增加代码的复杂度和重复性。为了简化参数校验的实现,可以使用ValidationAPI,它是JavaEE平台的一部分,提供了一套</div>
</li>
<li><a href="/article/1891632686712287232.htm"
title="Java 编码系列:集合框架(List、Set、Map 及其常用实现类)" target="_blank">Java 编码系列:集合框架(List、Set、Map 及其常用实现类)</a>
<span class="text-muted">pjx987</span>
<a class="tag" taget="_blank" href="/search/java%E7%BC%96%E7%A0%81/1.htm">java编码</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a>
<div>引言在Java开发中,集合框架是不可或缺的一部分,它提供了存储和操作一组对象的工具。Java集合框架主要包括List、Set和Map接口及其常用的实现类。正确理解和使用这些集合类不仅可以提高代码的可读性和性能,还能避免一些常见的错误。本文将深入探讨Java集合框架的底层原理,并结合大厂的最佳实践,帮助读者掌握这些核心概念。1.List接口及其常用实现类1.1基本概念List接口表示一个有序的集合,</div>
</li>
<li><a href="/article/1891629412164628480.htm"
title="Java程序设计(五):基于SpringBoot+Vue的苗族文化分享平台的设计与实现" target="_blank">Java程序设计(五):基于SpringBoot+Vue的苗族文化分享平台的设计与实现</a>
<span class="text-muted">人工智能_SYBH</span>
<a class="tag" taget="_blank" href="/search/2025%E5%B9%B4java%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/1.htm">2025年java程序设计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
<div>1.引言随着互联网技术的发展,文化传承与传播方式发生了巨大的变革。传统文化的传承不再仅依赖于线下活动,而是越来越多地通过数字化平台进行传播。为了促进苗族文化的传承与推广,本文设计并实现了一个基于SpringBoot和Vue的苗族文化分享平台。该平台通过现代化的技术架构,提供了多种功能模块,包括公告管理、文化遗产管理、资源管理、活动管理、跨文化交流等,既为管理员提供便捷的管理工具,也为普通用户提供了</div>
</li>
<li><a href="/article/1891629034090065920.htm"
title="Elasticsearch【复合搜索、结果排序、分页查询、高亮查询、SQL查询】(四)-全面详解(学习总结---从入门到深化)" target="_blank">Elasticsearch【复合搜索、结果排序、分页查询、高亮查询、SQL查询】(四)-全面详解(学习总结---从入门到深化)</a>
<span class="text-muted">童小纯</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6%E5%A4%A7%E5%85%A8---%E5%85%A8%E9%9D%A2%E8%AF%A6%E8%A7%A3/1.htm">中间件大全---全面详解</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a>
<div>目录Elasticsearch搜索文档_复合搜索Elasticsearch搜索文档_结果排序Elasticsearch搜索文档_分页查询Elasticsearch搜索文档_高亮查询Elasticsearch搜索文档_SQL查询原生JAVA操作ES_搭建项目原生JAVA操作ES_索引操作Elasticsearch搜索文档_复合搜索GET/索引/_search{"query":{"bool":{//必</div>
</li>
<li><a href="/article/1891626631714369536.htm"
title="探索Node.js的原生插件新境界:使用`node-gyp`" target="_blank">探索Node.js的原生插件新境界:使用`node-gyp`</a>
<span class="text-muted">洪新龙</span>
<div>探索Node.js的原生插件新境界:使用node-gypnode-gypNode.jsnativeaddonbuildtool项目地址:https://gitcode.com/gh_mirrors/no/node-gyp在Node.js的生态系统中,将高性能的C/C++代码融入到JavaScript世界已经成为提升应用性能的关键手段。今天,我们要向大家隆重推荐一个不可或缺的工具——node-gyp</div>
</li>
<li><a href="/article/1891624613050380288.htm"
title="_05JavaScript" target="_blank">_05JavaScript</a>
<span class="text-muted">The_era_achievs_hero</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a>
<div>第五次网课1.JavaScript的书写位置内部JS//页面弹出警示框alert('你好,js~')外部JS(最多)内联(行内)(以后vue框架会用这种模式)点我月薪过万2.JavaScript的注释与结束符单行注释符号://ctrl+/多行注释符号:/**/shift+alt+a结束符用;表示结束可写可不写,要么全都写,要么全不写vue.js不加分号3.JavaScript的输入输出语法输出中文</div>
</li>
<li><a href="/article/1891621713746128896.htm"
title="Java 集成MySQL+MyBatis实战(含代码)" target="_blank">Java 集成MySQL+MyBatis实战(含代码)</a>
<span class="text-muted">C_V_Better</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
<div>在Java开发中,MyBatis是一个功能强大的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs映射成数据库中的记录。本文将通过实战案例,详细展示如何使用MyBatis集成MySQL,实现对数据库的增删改查操作。一、环境准备在开始编写代码</div>
</li>
<li><a href="/article/1891621461437771776.htm"
title="Java 移除List中的元素,这玩意讲究!" target="_blank">Java 移除List中的元素,这玩意讲究!</a>
<span class="text-muted">2401_86401508</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
<div>接着看。循环+remove(Objecto)/remove(Indexi):没错,我们可以配合循环,把list里面的“C”元素都移除。循环自然有分while循环和for循环(包含foreach)。先看foreach方式:不得行!切记!for(Stringstr:list){if(“C”.equals(str)){list.remove(str);}}代码看似没问题,但是在foreach使用list</div>
</li>
<li><a href="/article/1891620830958383104.htm"
title="Windows环境下构建本地多节点Elasticsearch集群" target="_blank">Windows环境下构建本地多节点Elasticsearch集群</a>
<span class="text-muted">静谧星光c</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
<div>Windows环境下构建本地多节点Elasticsearch集群在大数据领域,Elasticsearch是一个经常使用的分布式搜索和分析引擎。本文将介绍如何在Windows操作系统下搭建一个本地的多节点Elasticsearch集群。通过搭建本地集群,我们可以在单一系统上模拟出多个节点,从而加深对Elasticsearch集群内工作原理的理解。准备工作首先,确保你的系统已经安装了Java开发环境(</div>
</li>
<li><a href="/article/1891610738670235648.htm"
title="使用TimerTask实现定时任务" target="_blank">使用TimerTask实现定时任务</a>
<span class="text-muted">Yvonne978</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
<div>实现定时任务,需要解决三个问题:1.任务是什么,即干什么?2.如何执行?什么时候开始执行?执行频率?3.使用什么框架执行?这里使用轻量Spring自带的TimerTask进行实现一、编写任务新建一个类如MyThread,继承TimerTask,重写run方法packagecom.icfcc.cnaps2.thread;importjava.util.TimerTask;publicclassMyT</div>
</li>
<li><a href="/article/1891604280536788992.htm"
title="初识redux" target="_blank">初识redux</a>
<span class="text-muted">未命名小孩</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E7%9F%A5%E8%AF%86/1.htm">前端知识</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a>
<div>Redux是一个用于管理JavaScript应用程序状态的可预测状态容器核心概念1.单一数据源整个应用的状态被存储在一个单一的对象树(store)中,这个对象树位于唯一的store里。创建store:conststore=createStore(reducer)2.状态是只读的唯一改变状态的方法是触发一个action,action是一个描述状态变化的纯对象。这保证了所有的状态变化都是可追踪的。一个</div>
</li>
<li><a href="/article/126.htm"
title="插入表主键冲突做更新" target="_blank">插入表主键冲突做更新</a>
<span class="text-muted">a-john</span>
<div>有以下场景:
用户下了一个订单,订单内的内容较多,且来自多表,首次下单的时候,内容可能会不全(部分内容不是必须,出现有些表根本就没有没有该订单的值)。在以后更改订单时,有些内容会更改,有些内容会新增。
问题:
如果在sql语句中执行update操作,在没有数据的表中会出错。如果在逻辑代码中先做查询,查询结果有做更新,没有做插入,这样会将代码复杂化。
解决:
mysql中提供了一个sql语</div>
</li>
<li><a href="/article/253.htm"
title="Android xml资源文件中@、@android:type、@*、?、@+含义和区别" target="_blank">Android xml资源文件中@、@android:type、@*、?、@+含义和区别</a>
<span class="text-muted">Cb123456</span>
<a class="tag" taget="_blank" href="/search/%40%2B/1.htm">@+</a><a class="tag" taget="_blank" href="/search/%40/1.htm">@</a><a class="tag" taget="_blank" href="/search/%3F/1.htm">?</a><a class="tag" taget="_blank" href="/search/%40*/1.htm">@*</a>
<div>一.@代表引用资源
1.引用自定义资源。格式:@[package:]type/name
android:text="@string/hello"
2.引用系统资源。格式:@android:type/name
android:textColor="@android:color/opaque_red"</div>
</li>
<li><a href="/article/380.htm"
title="数据结构的基本介绍" target="_blank">数据结构的基本介绍</a>
<span class="text-muted">天子之骄</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E6%95%A3%E5%88%97%E8%A1%A8/1.htm">散列表</a><a class="tag" taget="_blank" href="/search/%E6%A0%91%E3%80%81%E5%9B%BE/1.htm">树、图</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%80%A7%E7%BB%93%E6%9E%84/1.htm">线性结构</a><a class="tag" taget="_blank" href="/search/%E4%BB%B7%E6%A0%BC%E6%A0%87%E7%AD%BE/1.htm">价格标签</a>
<div>数据结构的基本介绍
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。
经典的数据结构大致如下:
一:线性数据结构
(1):列表
a</div>
</li>
<li><a href="/article/507.htm"
title="通过二维码开放平台的API快速生成二维码" target="_blank">通过二维码开放平台的API快速生成二维码</a>
<span class="text-muted">一炮送你回车库</span>
<a class="tag" taget="_blank" href="/search/api/1.htm">api</a>
<div> 现在很多网站都有通过扫二维码用手机连接的功能,联图网(http://www.liantu.com/pingtai/)的二维码开放平台开放了一个生成二维码图片的Api,挺方便使用的。闲着无聊,写了个前台快速生成二维码的方法。
html代码如下:(二维码将生成在这div下)
? 1
&nbs</div>
</li>
<li><a href="/article/634.htm"
title="ImageIO读取一张图片改变大小" target="_blank">ImageIO读取一张图片改变大小</a>
<span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/IO/1.htm">IO</a><a class="tag" taget="_blank" href="/search/image/1.htm">image</a><a class="tag" taget="_blank" href="/search/BufferedImage/1.htm">BufferedImage</a>
<div>
package com.demo;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @Description 读取一张图片改变大小
* @author FuJianyon</div>
</li>
<li><a href="/article/761.htm"
title="myeclipse集成svn(一针见血)" target="_blank">myeclipse集成svn(一针见血)</a>
<span class="text-muted">7454103</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a>
<div> &n</div>
</li>
<li><a href="/article/888.htm"
title="装箱与拆箱----autoboxing和unboxing" target="_blank">装箱与拆箱----autoboxing和unboxing</a>
<span class="text-muted">darkranger</span>
<a class="tag" taget="_blank" href="/search/J2SE/1.htm">J2SE</a>
<div>4.2 自动装箱和拆箱
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。
4.2.1 autoboxing和unboxing
在Java中,所有要处理的东西几乎都是对象(Object)</div>
</li>
<li><a href="/article/1015.htm"
title="ajax传统的方式制作ajax" target="_blank">ajax传统的方式制作ajax</a>
<span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
<div>//这是前台的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+</div>
</li>
<li><a href="/article/1142.htm"
title="只用jre的eclipse是怎么编译java源文件的?" target="_blank">只用jre的eclipse是怎么编译java源文件的?</a>
<span class="text-muted">avords</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
<div>eclipse只需要jre就可以运行开发java程序了,也能自动 编译java源代码,但是jre不是java的运行环境么,难道jre中也带有编译工具? 还是eclipse自己实现的?谁能给解释一下呢问题补充:假设系统中没有安装jdk or jre,只在eclipse的目录中有一个jre,那么eclipse会采用该jre,问题是eclipse照样可以编译java源文件,为什么呢?
&nb</div>
</li>
<li><a href="/article/1269.htm"
title="前端模块化" target="_blank">前端模块化</a>
<span class="text-muted">bee1314</span>
<a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%9D%97%E5%8C%96/1.htm">模块化</a>
<div>背景: 前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。 JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所</div>
</li>
<li><a href="/article/1396.htm"
title="处理百万级以上的数据处理" target="_blank">处理百万级以上的数据处理</a>
<span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E8%AF%A2/1.htm">查询</a>
<div>一.处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o</div>
</li>
<li><a href="/article/1523.htm"
title="mac 卸载 java 1.7 或更高版本" target="_blank">mac 卸载 java 1.7 或更高版本</a>
<span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a>
<div>卸载 java 1.7 或更高
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
成功执行此命令后,还可以执行 java 与 javac 命令
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
成功执行此命令后,还可以执行 java </div>
</li>
<li><a href="/article/1650.htm"
title="【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析" target="_blank">【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析</a>
<span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a>
<div>第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中
第二部,Spark Streaming读取Kafka中的数据,进行实时分析
本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接 1. Flume配置
1. 下载Flume和Kafka集成的插件,下载地址:https://github.com/beyondj2ee/f</div>
</li>
<li><a href="/article/1777.htm"
title="Erlang vs TNSDL" target="_blank">Erlang vs TNSDL</a>
<span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a>
<div>
TNSDL是Nokia内部用于开发电信交换软件的私有语言,是在SDL语言的基础上加以修改而成,TNSDL需翻译成C语言得以编译执行,TNSDL语言中实现了异步并行的特点,当然要完整实现异步并行还需要运行时动态库的支持,异步并行类似于Erlang的process(轻量级进程),TNSDL中则称之为hand,Erlang是基于vm(beam)开发,</div>
</li>
<li><a href="/article/1904.htm"
title="非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个" target="_blank">非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个</a>
<span class="text-muted">ljy325</span>
<a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a>
<div> 非常希望有一个预防疲劳的java软件,我看新闻和网站,国防科技大学的科学家累死了,太疲劳,老是加班,不休息,经常吃药,吃药根本就没用,根本原因是疲劳过度。我以前做java,那会公司垃圾,老想赶快学习到东西跳槽离开,搞得超负荷,不明理。深圳做软件开发经常累死人,总有不明理的人,有个软件提醒限制很好,可以挽救很多人的生命。
相关新闻:
(1)IT行业成五大疾病重灾区:过劳死平均37.9岁
</div>
</li>
<li><a href="/article/2031.htm"
title="读《研磨设计模式》-代码笔记-原型模式" target="_blank">读《研磨设计模式》-代码笔记-原型模式</a>
<span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
<div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* Effective Java 建议使用copy constructor or copy factory来代替clone()方法:
* 1.public Product copy(Product p){}
* 2.publi</div>
</li>
<li><a href="/article/2158.htm"
title="配置管理---svn工具之权限配置" target="_blank">配置管理---svn工具之权限配置</a>
<span class="text-muted">chenyu19891124</span>
<a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a>
<div>今天花了大半天的功夫,终于弄懂svn权限配置。下面是今天收获的战绩。
安装完svn后就是在svn中建立版本库,比如我本地的是版本库路径是C:\Repositories\pepos。pepos是我的版本库。在pepos的目录结构
pepos
component
webapps
在conf里面的auth里赋予的权限配置为
[groups]</div>
</li>
<li><a href="/article/2285.htm"
title="浅谈程序员的数学修养" target="_blank">浅谈程序员的数学修养</a>
<span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%8B%9B%E8%81%98/1.htm">招聘</a>
<div>
浅谈程序员的数学修养 </div>
</li>
<li><a href="/article/2412.htm"
title="批量执行 bulk collect与forall用法" target="_blank">批量执行 bulk collect与forall用法</a>
<span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/bulk+collect/1.htm">bulk collect</a><a class="tag" taget="_blank" href="/search/forall/1.htm">forall</a>
<div>BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、
FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。
有关FORALL语句的用法请参考:批量SQL之 F</div>
</li>
<li><a href="/article/2539.htm"
title="Linux下使用rsync最快速删除海量文件的方法" target="_blank">Linux下使用rsync最快速删除海量文件的方法</a>
<span class="text-muted">dongwei_6688</span>
<a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a>
<div>1、先安装rsync:yum install rsync
2、建立一个空的文件夹:mkdir /tmp/test
3、用rsync删除目标目录:rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
</div>
</li>
<li><a href="/article/2666.htm"
title="Yii CModel中rules验证规格" target="_blank">Yii CModel中rules验证规格</a>
<span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/rules/1.htm">rules</a><a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a><a class="tag" taget="_blank" href="/search/validate/1.htm">validate</a>
<div>Yii cValidator主要用法分析:
yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError
</div>
</li>
<li><a href="/article/2793.htm"
title="基于vagrant的redis主从实验" target="_blank">基于vagrant的redis主从实验</a>
<span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/vagrant/1.htm">vagrant</a>
<div>平台: Mac
工具: Vagrant
系统: Centos6.5
实验目的: Redis主从
实现思路
制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box
制作sentos6.5+redis的box
mkdir vagrant_redis
cd vagrant_</div>
</li>
<li><a href="/article/2920.htm"
title="Memcached(二)、Centos安装Memcached服务器" target="_blank">Memcached(二)、Centos安装Memcached服务器</a>
<span class="text-muted">frank1234</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
<div>一、安装gcc
rpm和yum安装memcached服务器连接没有找到,所以我使用的是make的方式安装,由于make依赖于gcc,所以要先安装gcc
开始安装,命令如下,[color=red][b]顺序一定不能出错[/b][/color]:
建议可以先切换到root用户,不然可能会遇到权限问题:su root 输入密码......
rpm -ivh kernel-head</div>
</li>
<li><a href="/article/3047.htm"
title="Remove Duplicates from Sorted List" target="_blank">Remove Duplicates from Sorted List</a>
<span class="text-muted">hcx2013</span>
<a class="tag" taget="_blank" href="/search/remove/1.htm">remove</a>
<div>Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&</div>
</li>
<li><a href="/article/3174.htm"
title="Spring4新特性——JSR310日期时间API的支持" target="_blank">Spring4新特性——JSR310日期时间API的支持</a>
<span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a>
<div>Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新</div>
</li>
<li><a href="/article/3301.htm"
title="浅谈enum与单例设计模式" target="_blank">浅谈enum与单例设计模式</a>
<span class="text-muted">247687009</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a>
<div>在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。
第一种
package singleton;
public class Singleton {
//导出全局成员
public final static Singleton INSTANCE = new S</div>
</li>
<li><a href="/article/3428.htm"
title="使用switch条件语句需要注意的几点" target="_blank">使用switch条件语句需要注意的几点</a>
<span class="text-muted">openwrt</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/break/1.htm">break</a><a class="tag" taget="_blank" href="/search/switch/1.htm">switch</a>
<div>1. 当满足条件的case中没有break,程序将依次执行其后的每种条件(包括default)直到遇到break跳出
int main()
{
int n = 1;
switch(n) {
case 1:
printf("--1--\n");
default:
printf("defa</div>
</li>
<li><a href="/article/3555.htm"
title="配置Spring Mybatis JUnit测试环境的应用上下文" target="_blank">配置Spring Mybatis JUnit测试环境的应用上下文</a>
<span class="text-muted">schnell18</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a>
<div>Spring-test模块中的应用上下文和web及spring boot的有很大差异。主要试下来差异有:
单元测试的app context不支持从外部properties文件注入属性
@Value注解不能解析带通配符的路径字符串
解决第一个问题可以配置一个PropertyPlaceholderConfigurer的bean。
第二个问题的具体实例是:
</div>
</li>
<li><a href="/article/3682.htm"
title="Java 定时任务总结一" target="_blank">Java 定时任务总结一</a>
<span class="text-muted">tuoni</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a><a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a><a class="tag" taget="_blank" href="/search/timertask/1.htm">timertask</a>
<div> Java定时任务总结 一.从技术上分类大概分为以下三种方式: 1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务; 说明: java.util.Timer定时器,实际上是个线程,定时执行TimerTask类 &</div>
</li>
<li><a href="/article/3809.htm"
title="一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法" target="_blank">一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法</a>
<span class="text-muted">yangshangchuan</span>
<a class="tag" taget="_blank" href="/search/rank/1.htm">rank</a><a class="tag" taget="_blank" href="/search/%E7%9B%B8%E4%BC%BC%E5%BA%A6%E8%AE%A1%E7%AE%97/1.htm">相似度计算</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%9C%AC%E7%9B%B8%E4%BC%BC%E5%BA%A6/1.htm">文本相似度</a><a class="tag" taget="_blank" href="/search/%E8%AF%8D%E8%A2%8B%E6%A8%A1%E5%9E%8B/1.htm">词袋模型</a><a class="tag" taget="_blank" href="/search/%E4%BD%99%E5%BC%A6%E7%9B%B8%E4%BC%BC%E5%BA%A6/1.htm">余弦相似度</a>
<div>本文描述了一种在ITEYE博客频道上面出现的新型的商业广告形式及其应对方法,对于其他的用户生成内容站点类型也具有同样的适用性。
最近在ITEYE博客频道上面出现了一种新型的商业广告形式,方法如下:
1、注册多个账号(一般10个以上)。
2、从多个账号中选择一个账号,发表1-2篇博文</div>
</li>
</ul>
</div>
</div>
</div>
<div>
<div class="container">
<div class="indexes">
<strong>按字母分类:</strong>
<a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
</div>
</div>
</div>
<footer id="footer" class="mb30 mt30">
<div class="container">
<div class="footBglm">
<a target="_blank" href="/">首页</a> -
<a target="_blank" href="/custom/about.htm">关于我们</a> -
<a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
<a target="_blank" href="/sitemap.txt">Sitemap</a> -
<a target="_blank" href="/custom/delete.htm">侵权投诉</a>
</div>
<div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
</div>
</div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>
</body>
</html>