2019年最全面最新200+道JavaScript基础面试题(上)

在此之前,我也跟大家分享过很多的面试题,今天我要跟大家分享的这个JavaScript的面试一共有200多道,适用于前端学习与前端求职者,面试刷题,里面涵盖的内容比较广,今天只是整理了部分面试题,希望对你们有所帮助

01、JavaSript有哪些垃圾回收机制?

标记清除( mark and sweep )
这是JavaScr i pt 最常见的垃圾回收方式。当变量进入执行环境的时候,比如在函数中声明一个变量,垃圾回收器将其标记为“进入环境” 。
当变量离开环境的时候(函数执行结束),将其标记为“离开环境”。
垃圾回收器会在运行的时候给存储在内存中的所有变量加上标记,然后去掉环境中的变量,以及被环境中变量所引用的变量(闭包)的标记。在完成这些之后仍然存在的标记就是要删除的变量。
引用计数( reference counting)
在低版本的IE 中经常会发生内存泄漏,很多时候就是因为它采用引用计数的方式进行垃圾回收。引用计数的策略是跟踪记录每个值被使用的次数。当声明了一个变量并将一个引用类型赋值给该变量的时候, 这个值的引用次数就加1 。如果该变量的值变成了另外一个,则这个值的引用次数就减1 。
当这个值的引用次数变为0 的时候,说明没有变量在使用,这个值没法被访问。
因此, 可以将它占用的空间回收,这样垃圾回收器会在运行的时候清理引用次数为0 的值占用的空间。
在IE中虽然JavaScript 对象通过标记清除的方式进行垃圾回收,但是BOM 与DOM 对象是用引用计数的方式回收垃圾的。也就是说, 只要涉及BOM 和DOM , 就会出现循环引用问题。

02、列举几种类型的DO M 节点
有以下几类DOM 节点。
• 整个文档是一个文档( Document )节,点。
• 每个HTML 标签是一个元素( E l ement )节点。
• 每一个HTML 属性是一个属性( Attribute )节点。. 包含在HTML 元素中的文本是文本( Text )节点。

03、谈谈JavaSript 标签中defer 和async 属性的区别。
( 1 ) defer 属性规定是否延迟执行脚本,直到页面加载为止。async 属性规定脚本一旦可用,就异步执行。
( 2) defer 并行加载JavaScript 文件, 会按照页面上script 标签的顺序执行。async 并行加载JavaScript 文件,下载完成立即执行,不会按照页面上JavaScript 标签的顺序执行。

04、说说你对闭包的理解。
使用闭包主要是为了设计私有的方法和支量。闭包的优点是可以避免全局变量
的污染;缺点是闭包会常驻内存, 增加内存使用量,使用不当很容易造成内存泄漏。在JavaScript 中,函数即闭包,只有函数才会产生作用域。
闭包有3 个特性。
( I )函数嵌套函数。
( 2 )在函数内部可以引用外部的参数和支量。
( 3 )参数和变量不会以垃圾回收机制回收。

05、解释一下unshift ()方法。
该方法在数组启动时起作用,与push ()不同。它将参数成员添加到数组的顶部。
下面给出一段示例代码。
var name= [ ” ] ohn ” ]
name unshift (”char lie”);
name unshi ft ( ” ] oseph”,” Jane " ) ;
cons ole log (name );
输出生口下所示。
[ ” joseph H ,” Jane ”,” char lie ”,” john ” ]

06、encodeURI ()和decodeURI ()的作用是什么?
encodeURI()用于将URL 转换为十六进制编码。而decodeURI()用于将编码的URL
转换回正常URL 。

07、为什么不建议在JavaScript 中使用innerHTML?
通过innerHTML 修改内容, 每次都会刷新,因此很慢。在innerHTML 中没有验证的机会, 因此更容易在文档中插入错误代码,使网页不稳定。

08、如何在不支持JavaScript 的旧浏览器中隐藏JavaScrpit 代码?
在<script>标签之后的代码中添加“<!一” , 不带引号。
在</script>标签之前添加“刀…>”,代码中没有引号。
旧浏览器现在将JavaScript 代码视为一个长的HTML 注释, 而支持JavaScript 的浏览器则将“< !一” 和“// …>” 作为一行注释。

09、在DOM 操作中怎样创建、添加、移除、替换、插入和查找节点?
具体方法如下。
( 1 ) 通过以下代码创建新节点。
createDocurnentFragrnent () // 创建一个DOM 片段
createElernent() // 创建一个具体的元素
creat eTextNode( ) //创建一个文本节点

( 2 ) 通过以下代码添加、移除、替换、插入节,点。
appendChild()
removeChild ( )
replaceChild ()
insertBefore () //并没有inse r tAf t er ()

( 3 )通过以下代码查找节点。
getElernentsByTagNarne() //通过标签名称查找节点
getE l erne 口tsByNarne () //通过元素的name 属性的值查找节点( IE 容错能力较强, 会得到一个数
//组, 其中包括id 等于name 值的节点)
getElernentByid() //通过元素 Id 查找节点, 具有唯一性

10、如何实现浏览器内多个标签页之间的通信?
调用Jocalstorge 、cookie 等数据存储通信方式。

11、null 和undefined 的区别是什么?
null 是一个表示“无”的对象, 转为数值时为O; undefined 是一个表示“元”
的原始千直, 转为主丈千直时为NaN 。
当声明的变量还未初始化时,变量的默认值为undefined ,null 用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
undefined 表示“缺少值”, 即此处应该有一个值,但是还没有定义,典型用法是如下。
( 1 )如果变量声明了,但没有赋值,它就等于undefined 。
( 2 )当调用函数时,如果没有提供应该提供的参数,该参数就等于undefined 。
( 3 )如果对象没有赋值,该属性的值为undefined 。
( 4 )当函数没有返回值时, 默认返回undefined 。
null 表示“ 没有对象” , 即此处不应该有值,典型用法是如下。
( 1 )作为函数的参数, 表示该函数的参数不是对象。
( 2 )作为对象原型链的终点。

12、new 操作符的作用是什么?
作用如下。
( l )创建一个空对象。
( 2 )由this 变量引用该对象。
( 3 )该对象继承该函数的原型(更改原型链的指向)。
( 4 )把属性和方法加入到thi s 引用的对象中。
( 5 )新创建的对象由this 引用,最后隐式地返回this ,过程如下。
var obj = {};
obj.proto=Base.prototype;
Base.call(obj);

13、JavaScript 延迟加载的方式有哪些?
包括defer 和async 、动态创建DOM (创建script , 插入DOM 中,加载完毕后
回调、按需异步载入JavaScript 。

14、call()和apply ()的区别和作用是什么?
作用都是在函数执行的时候,动态改变函数的运行环境( 执行上下文)。
call 和apply 的第一个参数都是改变运行环境的对象。
区别如下:
call 从第二个参数开始,每一个参数会依次传递给调用函数;apply 的第二个参数是数组,数组的每一个成员会依次传递给调用函数。
如:
func . call(funcl , varl , var2, var3)
对应的apply 写法为:
func . apply(funcl, [varl, var2 , var3])

15、哪些操作会造成内存泄漏?
内存泄漏抬不再拥有或需要任何对象( 数据)之后,它们仍然存在于内存中。
提示:垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为0 (没有其他对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象占用的内存立即被回收。
如果setTimeout 的第一个参数使用字符串而非函数,会引发内存泄漏。
闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)等会造内存泄漏。

16、列举I E 与finefox 的不同之处。
不同之处如下。
( 1 ) IE 支持currentStyle; Firefox 使用getComputStyle 。
( 2) IE 千史用innerText· Firefox 千史用textContent 。
( 3 )在透明度滤镜方面, IE 使用自lter:alpha(opacity= num); Firefox 使用-moz-opacity:num。
( 4 )在事件方面, IE 使用a ttachEv ent: Firefox 使用addEventListener。
( 5 )对于鼠标位直:IE 使用event.clientX; Firefox 使用event.pageX 。
( 6) IE 千史用event.srcElement· Firefox 千史用event . target 。
( 7) 要消除list 的原点, IE 中仅须使margin:O 即可达到最终效果;Firetox 中需要设直
margin:O 、padding:O 和list” style:none 。
( 8 ) css 圆角:IE7 以下不支持圆角。

17、讲解一下JavaScript 对象的几种创建方式。
有以下创建方式。
( 1 ) Object 构造函数式。
( 2 )对象字面量式。
( 3 )工厂模式。
( 4 )安全工厂模式。
( 5 )构造函数模式。
( 6 )原型模式。
( 7) 混合构造函数和原型模式。
( 8 )动态原型模式。
( 9 )寄生构造函数模式。
( 10 )稳妥构造函数模式。

18、如何实现异步编程?
具体方法如下。
方法1 ,通过回调函数。优点是简单、容易理解和部署· 缺点是不利于代码的阅读和维护,各个部分之间高度相合( Coupling ),流程混乱,而且每个任务只能指定一个回调函数。
方法2 ,通过事件监听。可以绑定多个事件,每个事件可以指定多个回调函数,而且可以“去搞合”( Decoupling ),有利于实现模块化;缺点是整个程序都要变成事件驱动型,运行流程会变得很不清晰。
方法3 ,采用发布/订阅方式。性质与“事件监听”类似, 但是明显优于后者。
方法4 ,通过Promise 对象实现。Promise 对象是CommonJS 工作组提出的一种规范,旨在为异步编程提供统一接口。它的思想是,每一个异步任务返回一个Promise 对象,该对象有一个then 方法,九许指定回调函数。

19、请解释一下JavaScript的同源策略。
同源策略是客户端脚本(尤其是JavaScript )的重要安全度量标准。它最早出自Netscape Navigator 2.0 ,目的是防止某个文档或脚本从多个不同源装载。这里的同源策略指的是协议、域名、端口相同。同源策略是一种安全协议。指一段脚本只能读取来自同一来源的窗口和文档的属性。

20、为什么要有同源限制?
我们举例说明。比如一个黑客, 他利用I frame 把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名、密码登录时,他的页面就可以通过JavaScript 读取到你表羊上input 中的内容,这样黑客就会轻松得到你的用户名和密码。

21、在JavaScript中,为什么说函数是第一类对象?
第一类函数即JavaScript 中的函数。这通常意味着这些函数可以作为参数传递给其他函数,作为其他函数的值返回,分配给变量,也可以存储在数据结构中。

22、什么是事件?I E 与F irefo×的事件机制有什么区别?如何阻止冒泡?
事件是在网页中的某个操作(有的操作对应多个事件)。例如,当羊击一个按钮时, 就会产生一个事件,它可以被JavaScr巾t 侦测到。
在事件处理机制上, IE 支持事件冒泡;F i refox 同时支持两种事件模型,也就是捕获型事件和冒泡型事件。
阻止方法是ev. stopPropagation () 。注意旧版IE 中的方法ev. ca n ce!Bub bl e =true.

23、函数声明与函数表达式的区别?
在JavaScript 中,在向执行环境中加载数据时, 解析器对函数声明和函数表达式
并非是一视同仁的。解析器会首先读取函数声明,并使它在执行任何代码之前可用(可以访问)。至于函数表达式,则必须等到解析器执行到它所在的代码行, 才会真正解析和执行它。

24、如何删除一个cookie?
为了删除cookie ,要修改exp i res ,代码如下。
document . cookie = user=icketang ; expires = '+new Date(0 )

25、编写一个方法,求一个字符串的长度( 单位是字节)
假设一个英文字符占用一字节, 一个中文字符占用两字节:
function GetBytes (str ) {
var len = str . length ;
var bytes = len ;
for (var i=0 ; i if ( str . charCodeAt ( 工) > 255 ) bytes++ ;
}
retu rn bytes ;
}
alert(GetBytes ( ” hello 爱创课堂!” ) );

26、对于元素, attribute 和 property 的区别是什么?
attribute 是DOM 元素在文档中作为HTML 标签拥有的属性;property 就是DOM元素在JavaScr中t 中作为对象拥有的属性。
对于HTML 的标准属性来说, attribute 和property 是同步的,会自动更新,但是对于自定义的属性来说,它们是不同步的。

27、解释延迟脚本在JavaScript 中的作用。
默认情况下,在页面加载期间, HTML 代码的解析将暂停, 直到脚本停止执行。
这意味着,如果服务器速度较慢或者脚本特别“沉重”,则会导致网页延迟。在使用
Deferred 时,脚本会延迟执行,直到HTML 解析器运行。这缩短了网页的加载时间,并
且它们的显示速度更快。

28、什么是闭包( closure ) ?
为了说明闭包,创建一个闭包。

function hello () {   //函数执行完毕, 变量仍然存在
var num = 100 ;
var showResu l t= function ( ) { alert (num ); }
num++ ;
return showResult ;
}
var showResult= hello ();
showResult ( )// 执行结果: 弹出10 1

执行hello ()后, hello ()闭包内部的变量会存在,而闭包内部函数的内部变量不会存在,使得JavaScript 的垃圾回收机制不会收回hello ()占用的资源,因为h e llo ()中内部函数的执行需要依赖hello ()中的变量。

29、如何判断一个对象是否属于某个类?
使用instanceof 关键字,判断一个对象是否是类的实例化对象;使用constructor
属性,判断一个对象是否是类的构造函数。

30、JavaScript 中如何使用事件处理程序?
事件是由用户与页面的交互(例如羊击链接或填写表单) 导致的操作。需要一
个事件处理程序来保证所有事件的正确执行。事件处理程序是对象的额外属性。此属性包括事件的名称和事件发生时采取的操作。

31、在JavaScript中有-个函数,执行直接对象查找时,它始终不会查找
原型,这个函数是什么?
hasOwnPrope。

32、在JavaScript中如何使用DOM?
DOM 代表文档对象模型,并且负责文档中各种对象的相王文互。DOM 是开发网页所必需的,其中包括诸如段落、链接等对象。可以操作这些对象,如添加或删除等。为此, DOM 还需要向网页添加额外的功能。

33、documen.wn怡和innerHTML 的区别是什么?
document.write 重绘整个页面;innerHTML 可以重绘页面的一部分。

34、在JavaScript中读取文件的方法是什么?
可以通过如下方式读取服务器中的文件内容。

function read.P.jaxFile (url) {
//创建xhr
var xhr = new XMLHttpRequest() ;
//监听状态
xhr . onreadysta techange = function () {
//监听状态值是4
if (xhr . readyState === 4 晶晶xhr.status === 200) {
console . log(xhr . responseText)
       }
}
//打开请求
xhr . open ( ’ GET ', url , true)
// 发送数据
xhr . send(null) 
}

可以通过如下方式读取本地计算机中的内容。
function readinputFile (id) {
var file= document . getElementByid(id) . files[O] ;
// 实例化FileReader
var reader= new FileReader ();
// 读取文件
reader . readAsText(file)
// 监听返回
reader . on load = function (data) {
console . log(data , this . result)
     }
}

35、如何分配对象属性?
将属性分配给对象的方式与赋值给变量的方式相同。例如,表羊对象的操作值
以下列方式分配给” submit ”:docume nt.form.action = ” submit ” 。

36、请说几条书写JavaSc 「ipt 语句的基本规范。
基本规范如下。
( 1 )不要在同一行声明多个变量。
( 2 )应使用===/ !==来比较t rue /false 或者数值。
( 3 )使用对象字面量替代n ew Array 这种形式。
( 4 )不要使用全局函数。
( 5 ) switch 语句必须带有defau lt 分支。
( 6 )函数不应该有时有返回值,有时没有返回值。
( 7 ) for 循环必须使用大括号括起来。
( 8 ) i f 语句必须使用大括号括起来。
( 9 ) for-in 循环中的变量应该使用var 关键字明确限定的作用域,从而避免作用域污染。

37、eval 的功能是什么?
它的功能是把对应的字符串解析成JavaScript 代码并运行。
应该避免使用eval ,它会造成程序不安全,非常影响性能(执行两次, 一次解析成JavaScript 语句, 一次执行)。

38、[“1”,“2”,“3”] . map(parselnt)的执行结果是多少?
[1, NaN, NaN] ,因为parselnt 需要两个参数( val, radix ), 其中radix 表示解析时用的基数(进制); map 传递了3 个参数( item, index, array ),对应的radix 不合法导致解析失败。

39、谈谈你对this 对象的理解。
this 是JavaScript 的一个关键字,随着函数使用场合的不同, this 的值会发生变化。但是有一个总原则, 即this 指的是调用函数的那个对象。
一般情况下, this 是全局对象Global , 可以作为方法调用。

40、web-garden 和web-farm 有什么不同?
web-garden 和web-farm 都是网络托管系统。唯一的区别是web-garden 是在单个服务器中包含许多处理器的设直,而web ”farm 是使用多个服务器的较大设置。

41、说一下document.write ()的用法。
docume旺write()方法可以用在两个地方,页面载入过程中用实时脚本创建页面内容,以及用延时脚本创建本窗口或新窗口的内容。
document. write 只能重给整个页面, innerHTML 可以重给页面的一部分。

42、在JavaScript中什么是类(伪) 数组?如何将类(伪) 数组转化为标准数组?
典型的类(伪)数组是函数的argument 参数, 在调用getE lementsByTagName和docum e nt.childNodes 方法时,它们返回的NodeList 对象都属于伪数组。可以使用Array.prototype.slice.call ( fakeArray )将数组转化为真正的Array 对象。

43、JavaScript 中callee 和caller的作用是什么?
品:caller 返回一个关于函数的引用,该函数调用了当前函数;callee 返回正在执行的函数,也就是指定的function 对象的正文。

44、讲一下手写数组快速排序的步骤。
“快速排序”的思想很简单,整个排序过程只需要3 步。
( 1 )在数据集之中,选择一个元素作为“基准”( pivot ) 。
( 2 )将所有小于“基准”的元素,都移到“基准”的左边;将所有大于“基准”的元素,都移到“基准”的右边。
( 3 )对“基准”左边和右边的两个子集, 不断重复第( 1 )步和第( 2 )步, 直到所有子集只剩下一个元素为止。

45、如何统计字符串飞aaabbbccccddfgh ”中字母的个数或统计最多的字母数?
具体代码如下。

var str = ” aaaabbbccccddfgh ”;
function dealStr (str) {
var obj = {) ;
for (var i = 0 ; i < str. l ength; i++ ) {
var v = str . charAt {i );
if (obj[v] && ob][ v) . value===v ) {
++ob][ v] . count
) else {
obj[v] = {
count : 1 ,
value : v
                     }
      }
return obj ;
}
var obj= dealStr (str) ;
for (key in obj) {
console . log(obj[key) . value + ’ = ’ + obj [key] . count)
}

46、写一个function ,清除字符串前后的空格(兼容所有浏览器) 。
具体代码如下。

function trim(str) {
if (str && typeof str == =” s tring ” ){
return str . replace ( /^\ s+ l \s +$/ g , ”” ) ;
//去除前后空白符
}
}

47、列出不同浏览器中关于JavaScript 兼容性的两个常见问题。
( 1 )事件绑定兼容性问题。
IE8 以下的浏览器不支持用addEventListener 来绑定事件,使用attach event 可以解决这个问题。
( 2 ) stopPropagation 兼容性问题。
IE8 以下的浏览器不支持用巳.stopPropagation () 来阻止事件传播,使用e .return Value =false 可以解决这个问题。

48、闭包的优缺点是什么?
优点:不产生全局变量,实现属性私有化。
缺点:是闭包中的数据会常驻内存,在不用的时候需要删除,否则会导致内存溢出(内存泄漏) 。

49、用JavaScript 实现一个数组合并的方法(要求去重)。
代码如下

var arrl = ['a ' ];
var arr2 = [ ' b ' ,'c' ] ;
var arr3 = [ 'C ', [ 'd ' ] ,' e ' , undefined , null];
var concat = (function () {
// 去重合并arrl 和arr2
var concat = function (arrl , arr2) {
for (var i = 0, len = arr2 . length J 工< len ; i++) {
~arrl . indexOf (arr2 [ i]) || arrl . push (arr2 [i])
}
// 返回数组去重合并方法
return function () {
var result = [] ;
for (var i = 0 , len = arguments length ; i < len; i++) {
_concat(result , arguments[i])
}
return result
}
})()
执行co ncat (arrl, arr2 , arr3 )后, 会返回[' a ', null, undefined,' e ',[’d '],'c ' , 'b'] 。

50、说明正则表达式给所有string 对象添加去除首尾空白符的方法( trim 方法)。
代码如下

prototype . trim = function () {
return this . replace (/^\s+ | \s+$/g ,"" ) ;

51、说明用JavaScrpit 实现一个提取电话号码的方法
代码如下

var str = ” 12345678901 010 - 12345678 爱创课堂0418 - 1234567 13812345678 ”;
var reg=/(l\d{lO)) I (0\d{2 , 3)\ - \d{7 , 8J)/g ;
alert(str . match(reg) ;
测试“ 1234567890 1 010- 12345678 爱创课堂0418-1234567 13812345678 ”,得到的结果应该是:[ 12345678901 , 010-12345678, 0418-1234567, 13812345678 ] 。

52、JavaScript 中常用的逻辑运算符有哪些?
“and”(&&)运算符、“or”( ||) 运算符和“not”(!)运算符,它们可以在JavaScript中千史用。

53、什么是事件代理(事件委托)?
事件代理( Event Delegation ),又称为事件委托,是JavaScript 中绑定事件的常用技巧。顾名忠义,“事件代理”就是把原本需要绑定的事件委托给父元素,让父元素负责事件监听。事件代理的原理是DOM 元素的事件冒泡。使用事件代理的好处是可以提高性能。

54、什么是JavaScript?
JavaScript 是客户端和服务器端的脚本语言,可以插入HTML 页函中, 并且是目前较热门的Web 开发语言。同时, JavaScript 也是面向对象的编程语言。

55、列举Java 和JavaScript的不同之处。
Java 是一门十分完整、成熟的编程语言。相比之下, JavaScript 是一个可以被引入HTML 页面的编程语言。这两种语言并不完全相互依赖,而是针对不同的意图而设计的。Java 是一种面向对象编程( OOP )或结构化编程语言,类似的语言有C ++;而JavaScript是客户端脚本语言,它称为非结构化编程。

56、JavaScript 和ASP 脚本相比,哪个更快?
JavaScript 史快。JavaScript 是一种客户端语言,因此它不需要Web 服务器的协助就可以执行;ASP 是服务器端语言,因此它总是比JavaScript 慢。值得注意的是,JavaScript 现在也可用于服务器端语言( Node .js ) 。

57、什么是负无穷大?
Infinity 代表了超出JavaScript 处理范围的数值。也就是说, JavaScript 无法处理的数值都是In白nity , 实践证明, JavaScript 所能处理的最大值( N umber.MAX_VALUE )是1.797 693 134 862 315 7e+308 ,超过该数则为正无穷大;而最小值( Number.MIN VALUE)是如-324 ,小于该数则为0 。所以负无穷大代表的是小于-Number.MAX VALUE 的数字,JavaScript 中对应静态变量Number.NEGATIVE一卧JFINITY ,

58、如何将JavaSc 「ipt 代码分解成几行?
在字符串语句中可以通过在第一行末尾使用反斜杠“ \ ”来完成’例如,
document. writ巳(“This is \a program”) 。
如果不是在字符串语句中更改为幸斤行,那么JavaScript 会忽略行中的断点。下面的代码是完美的,但并不建议这样做,因为阻碍了调试。
var x=l, y=2 ,
z=
x+y ;

59、什么是未声明和未定义的变量?
未声明的变量是程序中不存在且未声明的变量。如果程序尝试读取未声明变量的值,则会在运行时遇到错误。未定义的变量是在程序中声明但尚未给出任何值的变量。如果程序尝试读取未定义变量的值, 则返回未定义的值。

60、如何编写可动态添加新元素的代码?
下面给出一段示例代码。

< ! DOCTYPE html>




</head>
<body>
<p id= " ickt ">ickt</p>
<script type=” text/javascript ">
function addNode () {
var p = document . createElement ( 'p ’ );
var textNode = document . createTextNode ( ’ 爱创课堂’ );
p . appendChild(textNode) ;
document . getElementByid ( ’ ickt ') . appendCh 工ld(p)
addNode ()
</script>
</body>
</html>
</code></pre> 
  <p><em><strong>61、什么是全局变量?这些变量如何声明?使用全局变量有哪些问题?</strong></em><br> 全局变量是整个代码中都可用的变量, 也就是说,这些变量没有任何作用域。var 关键字用于声明局部变量, 如果~-略var 关键字,则声明一个全局变量。使用全局变量面临的问题是局部交量和全局变量名称的冲突。此外,很难调试和测试依赖于全局变量的代码。</p> 
  <p><em><strong>62、解释JavaScript 中定时器的工作,并说明使用定时器的缺点</strong></em><br> 定时器用于在设定的时间执行一段代码, 或者在给定的时间间隔内重复该代码。这通过使用函数setTi meout 、setlnterval 和clearinterval 来完成。<br> setTimeout (如nction , delay )函数用于启动在所属延迟之后调用特定功能的定时器。<br> setlnterval ( function , delay )函数用于在捉到的延迟中重复执行给定的功能,只有在取消时才停止。<br> cl earl nte r飞1 al ( id )函数指示定时器停止。<br> 定时器在一个线程内运行,因此事件可能需要排队等待执行。</p> 
  <p><em><strong>63、ViewState 和SessionState 有什么区别?</strong></em><br> ViewState 特定于会话中的页面;Session State 特定于可在Web 应用程序中的所有页面上访问的用户特定数据。</p> 
  <p><em><strong>64、什么是===运算符?</strong></em><br> ===称为严格等式运算符,当两个操作数具有相同的值和类型时,该运算符返回true 。</p> 
  <p><em><strong>65、说明如何使用JavaScript 提交表单。</strong></em><br> 要使用JavaScript 提交表羊,可以使用以下代码。<br> document . form [0] submit ();</p> 
  <p><em><strong>66、元素的样式/类如何改变?</strong></em><br> 可以通过以下方式改变元素的样式。<br> document . getElementByid (”myText ” ) . style . fontSize = "20? ;<br> 可以通过以下方式改变元素的类。<br> document . getElementByid (”myText ”) . c l assName = ”anyclass ”;</p> 
  <p><em><strong>67、JavaScript 中的循环结构都有哪些?</strong></em><br> for 、while 、do … wh il e 、for_in, for of ( E创新增的)。</p> 
  <p><em><strong>68、如何在JavaScript 中将base 字符串转换为integer?</strong></em><br> parseint()函数解析一个字符串参数,并返回一个指定基数的整数。parselnt()将要转换的字符串作为其第一个参数,第二个参数是给定字符串的转换进制基数。为了将4F (基数16 )转换为整数,可以使用代码parselnt ("4F ",16)。</p> 
  <p><em><strong>69、说明“= = ”和“ === ”的区别。</strong></em><br> "=="仅检查值相等性,而"==="用于更严格的等式判定。如果两个变量的值或类型不同,则后者返回false 。</p> 
  <p><em><strong>70、3 + 2 +“ 7”的结果是什么?</strong></em><br> 由于3 和2 是整数,它们将直接相加,同时由于“ 7”是一个字符串,将会被直接连接, 因此结果将是57 。</p> 
  <p><em><strong>71、如何检测客户端机器上的操作系统?</strong></em><br> 为了检测客户端机器上的操作系统,应使用navigator.叩pVersion 字符串(属性)。</p> 
  <p><em><strong>72、JavaScript 中的null 表示什么?</strong></em><br> null 用于表示无值或无对象。它意味着没有对象或空字符串,没有有效的布尔值,没有数值和数组对象。</p> 
  <p><em><strong>73、delete 操作符的功能是什么?</strong></em><br> delete 操作符用于删除对象中的某个属性,但不能删除变量、函数等。</p> 
  <p><em><strong>74、JavaScript 中有哪些类型的弹出框?</strong></em><br> alert 、confirm 和prompt 。</p> 
  <p><em><strong>75、void ( 0 )的作用是什么?</strong></em><br> void 操作符使表达式的运算结果返回undefined ,<br> void ( 0 )用于防止页面刷新,并在调用时传递参数“。” 。<br> void ( 0 )用于调用另一种方法而不刷新页面。</p> 
  <p><em><strong>76、如何强制页面加载JavaScript 中的其他页面?</strong></em><br> 必须插入以下代码才能达到预期效果。</p> 
  <pre><code><script language=" JavaScript" type=" text/javascript ">
< 1-- location . href =" http : //newhost/newpa th/newfile . htm l " ; //-- >
</script>
</code></pre> 
  <p><em><strong>77、转义字符是用来做什么的?</strong></em><br> 当使用特殊字符(如羊引号、双引号、撒号和&符号)时,将使用特义字符(反斜杠) 。在字符前放置反斜杠,使其显示。<br> 下面给出两个示例。</p> 
  <pre><code>document . write " I m a " good " boy "
document . write " I m a \ " good \ "boy "
</code></pre> 
  <p><em><strong>78、什么是JavaScript cookie?</strong></em><br> cookie 是存储在访问者计算机中的变量。每当一台计算机通过浏览器请求某个页面时,就会发送这个cookie , 可以使用JavaScript 来创建和获取cook ie 的值。</p> 
  <p><em><strong>79、解释JavaScript中的pop()方法。</strong></em><br> pop ()方法与shift ()方法类似, 但不同之处在于shift ()方法在数组的开头工作。此外, pop ()方法将最后一个元素从给定的数组中取出并返回,然后改变被调用的数组。<br> 例如:</p> 
  <pre><code>var colors = [ "red ","blue ","green" ] ;
colors . pop ();
// colors : [ " red ","blue" ]
</code></pre> 
  <p><em><strong>80、在JavaScript中使用innerHTML 的缺点是什么?</strong></em><br> 缺点如下:<br> ( 1 )内容随处可见。<br> ( 2 )不能像“追加圭1J innerHTML ” 一样使用。<br> ( 3 )即使使用+=,如“ innerHTML = inner HTML + ‘ html ’”,旧的内容仍然会被HTML替换。<br> ( 4 ) 整个innerHTML 内容被重新解析并构建成元素, 因此它的速度要使得多。<br> ( 5 ) inn e rHTML 不提供验证,因此可能会在文档中插入具有破坏性的HTML 并将其中断。</p> 
  <p><em><strong>81、break 和continue 语句的作用是什么?</strong></em><br> break 语句从当前循环中退出;continue 语句继续下一个循环语句。</p> 
  <p><em><strong>82、在JavaScript 中, datatypes 的两个基本组是什么?</strong></em><br> 两个基本组是原始类型和引用类型。<br> 原始类型包括数字和布尔类型。引用类型包括更复杂的类型,如字符串和日期。</p> 
  <p><em><strong>83、如何创建通用对象?</strong></em><br> 通用对象可以通过以下代码创建。<br> var o =new Object () 。</p> 
  <p><em><strong>84、typeof 是用来做什么的?</strong></em><br> typeof 是一个运算符,用于返回变量类型的字符串描述。</p> 
  <p><em><strong>85、哪些关键字用于处理异常?</strong></em><br> try… catch … finally 用于处理JavaScript 中的异常。<br> try{ <br> 执行代码<br> ) catch (exp ) { <br> 抛出错误提示信息<br> ) finally { <br> 无论try /catch 的结果如何都会执行<br> }</p> 
  <p><em><strong>86、JavaScript 中不同类型的错误有几种?</strong></em><br> 有3 种类型的错误。<br> Load time errors ,该错误发生于加载网页时,例如出现语法错误等状况,称为加载时间错误,并且会动态生成错误。<br> Run time errors , 由于在HTML 语言中滥用命令而导致的错误。<br> Logical Errors ,这是由于在具有不同操作的函数上执行了错误逻辑而发生的错误。</p> 
  <p><em><strong>87、在JavaScript 中, push 方法的作用是什么?</strong></em><br> pu sh 方法用于将一个或多个元素添加或附加到数组的末尾。使用这种方法,可以通过传递多个参数来附加多个元素。</p> 
  <p><em><strong>88、在JavaScript中, unshift 方法的作用是什么?</strong></em><br> unshift 方法就像在数组开头工作的push 方法。该方法用于将一个或多个元素添加到数组的开头。</p> 
  <p><em><strong>89、如何为对象添加属性?</strong></em><br> 为对象添加属性有两种常用语法。<br> 中括号语法,比如obj [" class "] = 12 。<br> 点语法, 比如obj.class= 12 。</p> 
  <p><em><strong>90、获得CheckBox 状态的方式是什么?</strong></em><br> alert ( docurnent.getElementByld (’checkbox l’ ) .checked) ;<br> 如果CheckBox 选中, 此警告将返回TRUE 。</p> 
  <p><em><strong>91、解释一下window. onload 和onDocumentReady 。</strong></em><br> 在载入页面的所有信息之前,不运行window.on load 。这导致在执行任何代码之前会出现延迟。<br> window.onDocumentReady 在加载DOM 之后加载代码。这九许代码史早地执行(早于window.onlonad ) 。</p> 
  <p><em><strong>92、如何理解JavaScript 中的闭包?</strong></em><br> 闭包就是能够读取其他函数内部变量的函数。<br> 闭包的用途有两个, 一是可以读取函数内部的变量,二是让这些变量的值始终保持在内存中。</p> 
  <p><em><strong>93、如何把一个值附加到数组中?</strong></em><br> 可以在数纽末尾处添加成员arr [arr.length] = value;或者调用push 方法arr.push(value) 。</p> 
  <p><em><strong>94、解释一下for-in 循环。</strong></em><br> for-in 循环用于循环对象的属性。<br> for-in 循环的语法如下。<br> f or (var iable name 工n obje c t) { )<br> 在每次循环中,来自对象的一个属性与变量名相关联, 循环继续,直到对象的所有属性都被迫历。</p> 
  <p><em><strong>95、描述一下JavaScript 中的匿名函数。</strong></em><br> 被声明为没有任何命名标识符的函数称为匿名函数。一般来说,匿名函数在声<br> 明后无法访问。<br> 匿名函数声明示例如下。<br> var anon=function( ) { <br> a lert ( ’ I am a nonymous ’);<br> }<br> a non();</p> 
  <p><em><strong>96、IE 和DOM 事件流的区别是什么?</strong></em><br> 区别如下。<br> ( 1 )执行顺序不一样。<br> ( 2 )参数不一样。<br> ( 3 ) 事件名称是否加o n 不一样。<br> ( 4 ) t hi s 指向问题不一样。</p> 
  <p><em><strong>97、阐述一下事件冒泡。</strong></em><br> JavaScript 九许DOM 元素嵌套在一起。在这种情况下,如果单击子级的处理程序,父级的处理程序也将执行同样的工作。</p> 
  <p><em><strong>98、JavaScript 里函数参数arguments是数组吗?</strong></em><br> 在函数代码中,使用特殊对象arguments , 开发者无须明确指出参数名,使用下标就可以访问相应的参数。<br> arguments 虽然有数组的性质,但其并非真正的数组。它只是一个类数组对象,并没有数组的方法,不能像真正的数纽那样调用.join ()、.con cat () 、. pop ()等方法。</p> 
  <p><em><strong>99、什么是构造函数?它与普通函数有什么区别?</strong></em><br> 构造函数是一种特殊的方法,主要用来创建对象时初始化对象,经常与new 运算符一起使用,创建对象的语句中构造函数的名称必须与类名完全相同。与普通函数相比,区别如下。<br> ( I )构造函数只能由new 关键字调用。<br> ( 2 )构造函数可以创建实例化对象。<br> ( 3 )构造函数是类的标志。</p> 
  <p><em><strong>100、请解释一下JavaScript 和css 阻塞。</strong></em></p> 
  <pre><code>JavaScript 的阻塞特性是所有浏览器在下载JavaScript 代码的时候, 会阻止其他一切活动,比如其他资源的下载, 内容的呈现等,直到JavaScript 代码下载、解析、执行完毕后才开始继续并行下载其他资源并渲染内容。
为了提高用户体验, 新一代浏览器都支持并行下载JavaScript 代码,但是Java Script 代码的下载仍然会阻塞其他资源的下载(例如图片、css 文件等) 。
为了防止JavaScript 修改DOM 树,浏览器需要重新构建DOM 积仁所以就会阻塞其他资源的下载和渲染。
嵌入的JavaScr ipt 代码会阻塞所有内容的呈现,而外部JavaScript 代码只会阻塞其后内容的显示,两种方式都会阻塞其后资源的下载。也就是说,外部脚本不会阻塞外部脚本的力口载,但会阻塞外部脚本的执行。
css 本来是可以并行加载的,但是当css 后面跟着嵌入的JavaScript 代码的时候,该css 就会阻塞后面资源的下载。
而当把嵌入的JavaScript 代码放到 css 前面时,就不会出现阻塞的情况了(在IE6 下css 都会阻塞加载)。
根本原因是因为浏览器会维持HTML 中css 和JavaScript 代码的顺序,样式表必须在嵌入的JavaScript 代码执行前先加载、解析完。
而嵌入的JavaScript 代码会阻塞后面的资源力口载,所以就会出现css 阻塞资源、加载的情况。
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1306114174039920640"></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">你可能感兴趣的:(js常用案例,javascript面试题)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1903025553070419968.htm"
                           title="金融、教育等行业如何高效利用wangEditor实现word文档网页化编辑?" target="_blank">金融、教育等行业如何高效利用wangEditor实现word文档网页化编辑?</a>
                        <span class="text-muted">2501_90699850</span>
<a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a><a class="tag" taget="_blank" href="/search/umeditor%E7%B2%98%E8%B4%B4word/1.htm">umeditor粘贴word</a><a class="tag" taget="_blank" href="/search/ueditor%E7%B2%98%E8%B4%B4word/1.htm">ueditor粘贴word</a><a class="tag" taget="_blank" href="/search/ueditor%E5%A4%8D%E5%88%B6word/1.htm">ueditor复制word</a><a class="tag" taget="_blank" href="/search/ueditor%E4%B8%8A%E4%BC%A0word%E5%9B%BE%E7%89%87/1.htm">ueditor上传word图片</a><a class="tag" taget="_blank" href="/search/ueditor%E5%AF%BC%E5%85%A5word/1.htm">ueditor导入word</a>
                        <div>要求:开源,免费,技术支持编辑器:wangEditor前端:vue2,vue3,vue-cli,html5后端:java,jsp,springboot,asp.net,php,asp,.netcore,.netmvc,.netform群体:学生,个人用户,外包,自由职业者,中小型网站,博客,场景:数字门户,数字中台,站群,内网,外网,信创国产化环境,web截屏行业:医疗,教育,建筑,政府,党政,国</div>
                    </li>
                    <li><a href="/article/1903023152464719872.htm"
                           title="亿级分布式系统架构演进实战(五)- 横向扩展(缓存策略设计)" target="_blank">亿级分布式系统架构演进实战(五)- 横向扩展(缓存策略设计)</a>
                        <span class="text-muted">power-辰南</span>
<a class="tag" taget="_blank" href="/search/java%E6%8A%80%E6%9C%AF%E6%9E%B6%E6%9E%84%E5%B8%88%E6%88%90%E9%95%BF%E4%B8%93%E6%A0%8F/1.htm">java技术架构师成长专栏</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%A7%E7%BC%93%E5%AD%98%E7%AD%96%E7%95%A5/1.htm">多级缓存策略</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/1.htm">分布式系统</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98%E4%B8%80%E8%87%B4%E6%80%A7/1.htm">缓存一致性</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%B9%B6%E5%8F%91/1.htm">高并发</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">缓存问题解决方案</a>
                        <div>亿级分布式系统架构演进实战(一)-总体概要亿级分布式系统架构演进实战(二)-横向扩展(服务无状态化)亿级分布式系统架构演进实战(三)-横向扩展(数据库读写分离)亿级分布式系统架构演进实战(四)-横向扩展(负载均衡与弹性伸缩)核心目标降低数据库读压力,提升响应速度一、多级缓存架构客户端CDN/浏览器缓存本地应用缓存分布式缓存数据库缓冲池1.1客户端缓存缓存数据类型:•静态资源(JS/CSS/图片)•</div>
                    </li>
                    <li><a href="/article/1903019118886449152.htm"
                           title="高级前端面试题-React" target="_blank">高级前端面试题-React</a>
                        <span class="text-muted">圣诞小子</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                        <div>react概念类组件和函数组件,什么时候用类组件获取组件实例类组件如何实现逻辑复用?高阶组件、renderprops选择hooks的优点状态逻辑复用;状态逻辑集中,易于理解;类组件不利于优化,比如不能很好的压缩为什么要用hooks,解决了什么问题同上react的context的使用场景共享对一个组件树全局的信息,不需要一层层传参受控组件和非受控组件非受控组件:数据只保存在内部state中;受控组件</div>
                    </li>
                    <li><a href="/article/1903015715112284160.htm"
                           title="架构演进的方式" target="_blank">架构演进的方式</a>
                        <span class="text-muted">pumpkin84514</span>
<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/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                        <div>架构演进过程中,常用的三种模式是拆迁者模式、绞杀者模式和修缮者模式。它们代表了三种不同的演进路径,适用于不同的业务环境和技术场景。下面详细解释每种模式的内容、使用场景,并对比它们的差异。1.拆迁者模式内容拆迁者模式(也称为重建模式)是一种彻底重构现有系统的方式。通常,在这种模式下,原有系统被完全放弃,并用一个全新的系统替代。在这种情况下,架构和代码需要从头开始重新设计和实现。使用场景系统老化严重:</div>
                    </li>
                    <li><a href="/article/1903015587873878016.htm"
                           title="大模型在冠心病风险预测及临床方案制定中的应用研究" target="_blank">大模型在冠心病风险预测及临床方案制定中的应用研究</a>
                        <span class="text-muted">LCG元</span>
<a class="tag" taget="_blank" href="/search/%E5%9B%B4%E6%9C%AF%E6%9C%9F%E5%8D%B1%E9%99%A9%E5%9B%A0%E5%AD%90/1.htm">围术期危险因子</a><a class="tag" taget="_blank" href="/search/%E9%A2%84%E6%B5%8B%E6%A8%A1%E5%9E%8B%E7%A0%94%E7%A9%B6/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><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>目录一、引言1.1研究背景与目的1.2国内外研究现状1.3研究方法与创新点二、大模型预测冠心病风险原理与方法2.1数据收集与预处理2.1.1数据来源2.1.2数据清洗与整理2.2特征工程2.2.1特征提取2.2.2特征选择与优化2.3模型选择与训练2.3.1常用模型介绍2.3.2模型训练过程三、术前风险预测与手术方案制定3.1术前风险预测指标与模型应用3.2基于风险预测的手术方案制定3.3案例分析</div>
                    </li>
                    <li><a href="/article/1903015207043657728.htm"
                           title="前端面试:[React] Recoil 里面 selector 支持哪些参数?" target="_blank">前端面试:[React] Recoil 里面 selector 支持哪些参数?</a>
                        <span class="text-muted">returnShitBoy</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/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/react.js/1.htm">react.js</a>
                        <div>在Recoil中,selector用于派生状态并可以通过传递不同的参数来实现更强大的功能。创建selector时,可以传入以下参数:1.key类型:string描述:是selector的唯一标识符。每个selector和atom都必须有一个唯一的key,否则会抛出错误。这个key用于在Recoil状态树中进行识别。示例:javascriptconstmySelector=selector({key</div>
                    </li>
                    <li><a href="/article/1903005249635938304.htm"
                           title="Redis操作命令详解" target="_blank">Redis操作命令详解</a>
                        <span class="text-muted">HaYiBoy</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E5%85%B7%E5%AE%89%E8%A3%85/1.htm">软件工具安装</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/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a>
                        <div>Redis(RemoteDictionaryServer,远程字典服务)是一个开源的键值存储系统,通常用作数据库、缓存或消息传递系统。它支持多种数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)等。本文将详细介绍Redis的一些常用操作命令,帮助你更好地使用Redis。1.连接命令1.1redis-cliredis-c</div>
                    </li>
                    <li><a href="/article/1903004853030940672.htm"
                           title="使用Three.js渲染器创建炫酷3D场景" target="_blank">使用Three.js渲染器创建炫酷3D场景</a>
                        <span class="text-muted"></span>

                        <div>引言在当今数字化的时代,3D图形技术正以其独特的魅力在各个领域掀起波澜。从影视制作到游戏开发,从虚拟现实到网页交互,3D场景以其强烈的视觉冲击力和沉浸式的体验,成为了吸引用户、传达信息的重要手段。而Three.js,作为一款功能强大且广受欢迎的JavaScript3D库,为我们提供了便捷、高效的途径来创建令人炫目的3D场景。本文将深入探讨使用Three.js渲染器创建炫酷3D场景的方方面面,带领读</div>
                    </li>
                    <li><a href="/article/1903004851676180480.htm"
                           title="redis" target="_blank">redis</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>一、redis常用的数据类型有String、list、hash、set、Zset1.String是普通的字符串,存储一些简单的数据,例如用户登陆的时候后端保存短信验证码2.hash相当于Java中的hashmap,可以定义一个键之后,后面设置多个值,例如用于存储用户信息,商品信息等等3.set是$tring类型的无序集合,但是其中的元素是唯一的,中间不能出现重复元素,当输入时有重复元素存储的时候能</div>
                    </li>
                    <li><a href="/article/1903003990778507264.htm"
                           title="html 5中哪个标签用于定义标题列表项,No.5 HTML常用标签" target="_blank">html 5中哪个标签用于定义标题列表项,No.5 HTML常用标签</a>
                        <span class="text-muted">李诗旸</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/5%E4%B8%AD%E5%93%AA%E4%B8%AA%E6%A0%87%E7%AD%BE%E7%94%A8%E4%BA%8E%E5%AE%9A%E4%B9%89%E6%A0%87%E9%A2%98%E5%88%97%E8%A1%A8%E9%A1%B9/1.htm">5中哪个标签用于定义标题列表项</a>
                        <div>一、标题标签为了使网页更具有语义化,我们经常会在页面中用到标题标签。HTML提供了6个等级的网页标题,即至。我是一级标题我是二级标题我是三级标题我是四级标题我是五级标题我是六级标题单词head的缩写,意为头部、标题。标签语义:作为标题使用,并且依据重要性递减。特点:加了标题的文字会变的加粗,字号也会依次变大。一个标题独占一行。二、段落标签在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示</div>
                    </li>
                    <li><a href="/article/1903002097054445568.htm"
                           title="Mysql-经典实战案例(10):如何用PT-Archiver完成大表的自动归档" target="_blank">Mysql-经典实战案例(10):如何用PT-Archiver完成大表的自动归档</a>
                        <span class="text-muted">从不删库的DBA</span>
<a class="tag" taget="_blank" href="/search/Mysql/1.htm">Mysql</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E5%85%B8%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">经典实战案例</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>真实痛点:电商订单表存储优化场景现状分析某电商平台订单表(order_info)每月新增500万条记录主库:高频读写,SSD存储(空间告急)历史库:HDD存储,只读查询优化目标✅自动迁移7天前的订单到历史库✅每周六23:30执行,不影响业务高峰✅确保数据一致性第一章:前期准备:沙盒实验室搭建1.1实验环境架构生产库:10.33.112.22历史库:10.30.76.41.2环境初始化(双节点执行)</div>
                    </li>
                    <li><a href="/article/1902998816559263744.htm"
                           title="HTML中的零宽字符" target="_blank">HTML中的零宽字符</a>
                        <span class="text-muted">Jinuss</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>概述零宽字符是一组在文本中没有可见宽度的字符,它们通常用于处理文本的布局、分隔和合成。下面是一些常见的零宽字符及其详细介绍:详细介绍零宽空格(ZeroWidthSpace,ZWSP)Unicode码位:U+200BHTML实体:或用途:用于防止文字自动换行。用于在文本中插入不可见的间隔,以控制排版或进行文本分析。零宽非连字符(ZeroWidthNon-Joiner,ZWNJ)Unicode码位:U</div>
                    </li>
                    <li><a href="/article/1902997655034851328.htm"
                           title="用Babel操作AST实现JavaScript代码的自动化生成与转换" target="_blank">用Babel操作AST实现JavaScript代码的自动化生成与转换</a>
                        <span class="text-muted"></span>

                        <div>目录目录环境搭建代码:修改AST的逻辑重命名函数名重命名变量并修改变量值函数调用替换控制流扁平化还原删除未使用的变量对象属性简化条件表达式优化表达式还原环境搭建安装环境npminstall@babel/parser@babel/traverse@babel/generator@babel/typesast转换的代码框架constfs=require('fs');constvm=require('n</div>
                    </li>
                    <li><a href="/article/1902992512985919488.htm"
                           title="Redis命令详解--集合" target="_blank">Redis命令详解--集合</a>
                        <span class="text-muted">八股文领域大手子</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</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/%E7%BC%93%E5%AD%98/1.htm">缓存</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/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>Redisset是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令:SADDkeymember1[member2...]向集合添加一个或多个成员SREMkeymember1[member2...]移除集合中一个或多个成员SMEMBERSkey获取集合中所有成员性能提示:SMEMBERS慎用于大集合(可用SSCAN分页遍历)SCARDkey获取集合成员数量S</div>
                    </li>
                    <li><a href="/article/1902988857096335360.htm"
                           title="基于AOP注解+Redisson实现Cache-Aside缓存模式实战" target="_blank">基于AOP注解+Redisson实现Cache-Aside缓存模式实战</a>
                        <span class="text-muted">@淡 定</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a>
                        <div>(2)缓存更新注解一、场景需求在高并发系统中,缓存是提升性能的关键组件。而Cache-Aside模式作为最常用的缓存策略之一,要求开发者手动管理缓存与数据库的交互。本文将结合自定义注解与Redisson客户端,实现声明式的缓存管理方案。二、方案亮点零侵入性:通过注解实现缓存逻辑完整防护:解决缓存穿透/击穿/雪崩问题⚡双删策略:保障数据库与缓存一致性️逻辑删除:支持数据恢复与审计需求三、核心实现1.</div>
                    </li>
                    <li><a href="/article/1902987092640722944.htm"
                           title="java tcp pdf_Java网络编程(TCP、Socket).pdf" target="_blank">java tcp pdf_Java网络编程(TCP、Socket).pdf</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/tcp/1.htm">tcp</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a>
                        <div>Java网络编程(TCP、Socket)Java网络编程—TCP/Socket前言网络编程可分为基于TCP的网络程序设计和基于UDP的网络程序设计。TCP是基于字节流的面向连接的,常用于可靠的网络传输,而UDP是基于数据报的无连接的网络传输,常用语即时通信。1.0基于Socket的Java网络编程网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket。Soc</div>
                    </li>
                    <li><a href="/article/1902984314765766656.htm"
                           title="【sass】学会这个技巧,少写很多css" target="_blank">【sass】学会这个技巧,少写很多css</a>
                        <span class="text-muted">蒜香拿铁</span>
<a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/sass/1.htm">sass</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>sass的高级用法我发现,大多数人使用sass预处理器最多的就是嵌套和变量这两种用法。现在我在列举一些常用的高级用法,希望让大家少敲两行代码。@extend意思是将某个选择器下的所有样式继承过来.error{border:1px#f00;background-color:#fdd;}.seriousError{@extend.error;border-width:3px;}@mixin样式混入,搭</div>
                    </li>
                    <li><a href="/article/1902983936225636352.htm"
                           title="C++ STL常用库的使用方法(一)" target="_blank">C++ STL常用库的使用方法(一)</a>
                        <span class="text-muted">小崔的技术博客</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>文章目录(0)C++STL介绍(0)C++STL组件(一)Vector容器1)创建vector2)尾部元素扩张3)访问Vector元素4)元素的删除5)元素的排序6)向量的大小(二)String基本字符系列容器1)创建String对象2)给String赋值(三)set集合容器1)创建set集合对象2)元素的插入与中序遍历3)元素的反向遍历4)元素的删除5)元素的检索(四)map映射容器1)map创</div>
                    </li>
                    <li><a href="/article/1902976625499238400.htm"
                           title="为什么阿里Java规范不建议使用@Autowired" target="_blank">为什么阿里Java规范不建议使用@Autowired</a>
                        <span class="text-muted">AWen_X</span>
<a class="tag" taget="_blank" href="/search/%E8%A8%80%E7%AE%80%E6%84%8F%E8%B5%85%E7%B3%BB%E5%88%97%E4%B9%8BSpring/1.htm">言简意赅系列之Spring</a><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><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</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%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>Spring中@Autowired和@Resource的区别1.基本区别特性@Autowired@Resource来源Spring框架提供JSR-250规范提供,Java标准装配顺序优先按类型装配优先按名称装配默认匹配规则默认按类型匹配,可以使用@Qualifier指定名称默认按名称匹配,如果无法匹配则按类型匹配属性required属性可以设置是否必须注入成功name属性可以显式指定bean名称适</div>
                    </li>
                    <li><a href="/article/1902976622995238912.htm"
                           title="什么是巨量本地推?" target="_blank">什么是巨量本地推?</a>
                        <span class="text-muted">矩阵+本地推+数字人</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/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><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/1.htm">学习方法</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/%E5%88%9B%E4%B8%9A%E5%88%9B%E6%96%B0/1.htm">创业创新</a><a class="tag" taget="_blank" href="/search/%E4%BA%A4%E4%BA%92/1.htm">交互</a>
                        <div>本地推(本地化推广)作为针对特定区域客户的营销策略,对商家而言既是提升竞争力的利器,也是适应消费趋势的必然选择。以下从作用、必要性及未来趋势三方面展开分析:一、本地推的核心作用1.精准触达目标客户基于地理位置(LBS)定向推送广告,覆盖周边3-5公里内的潜在消费者,尤其适合餐饮、零售、教育等依赖线下流量的行业。案例:咖啡店通过本地推发放“附近用户专属折扣券”,直接刺激到店消费。2.提升品牌曝光与信</div>
                    </li>
                    <li><a href="/article/1902971961462550528.htm"
                           title="写leetcode常用的库函数和常量" target="_blank">写leetcode常用的库函数和常量</a>
                        <span class="text-muted">xsh219</span>
<a class="tag" taget="_blank" href="/search/golang%E5%B0%8F%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">golang小知识点</a><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/golang/1.htm">golang</a>
                        <div>在Go中刷LeetCode,以下是一些常用的标准库函数和数据类型的最大值、最小值:✅常用标准库函数数学与排序math包math.Max(x,y):返回两个float64类型数中的较大值。math.Min(x,y):返回两个float64类型数中的较小值。math.Abs(x):取绝对值。math.Pow(x,y):计算x^y。math.Sqrt(x):计算平方根。sort包sort.Ints(sl</div>
                    </li>
                    <li><a href="/article/1902970694585610240.htm"
                           title="git clone 指定目录" target="_blank">git clone 指定目录</a>
                        <span class="text-muted">波格斯特</span>
<a class="tag" taget="_blank" href="/search/%E9%97%AE%E9%A2%98%E5%A4%87%E5%BF%98/1.htm">问题备忘</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a>
                        <div>GitClone指定目录详解Git是一个强大的版本控制系统,它允许用户克隆远程仓库到本地,同时可以指定克隆的目录。在Git中,gitclone命令是用来复制远程仓库到本地的常用命令。默认情况下,gitclone会克隆整个仓库,但有时我们可能只需要仓库的一部分或者特定的文件或目录。这时,我们可以通过一些参数来指定克隆的目标目录。基本用法要克隆一个仓库到一个特定的目录,可以使用如下命令:gitclon</div>
                    </li>
                    <li><a href="/article/1902969433706524672.htm"
                           title="js原型链与自动装箱机制" target="_blank">js原型链与自动装箱机制</a>
                        <span class="text-muted">CC Cian</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</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/ecmascript/1.htm">ecmascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>目录前言基于原型生成对象修改原型对象构造函数的机制原型对象与原型链原型链相关方法补充1.自动装箱机制2.__proto__的存在原因3.关键区别4.示例验证5.总结前言在如今的主流语言中,大部分语言都是通过类来产生对象但js是基于原型生成对象javapublicclassPerson{privateStringname;privateintage;publicPerson(Stringname,i</div>
                    </li>
                    <li><a href="/article/1902968173678882816.htm"
                           title="MySQL性能优化实战笔记 - 通俗易懂版" target="_blank">MySQL性能优化实战笔记 - 通俗易懂版</a>
                        <span class="text-muted">泥潭硬拔</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>1.存储引擎选择-到底选哪个?InnoDBvsMyISAM通俗对比想象你开了一家银行:InnoDB就像是有保险柜的银行支持事务:比如转账,要么都成功,要么都失败行级锁:小明在存钱时,小红还能同时取钱缺点:需要更多内存和CPUMyISAM就像是简易储物柜不支持事务:操作简单直接表级锁:一个人在用时,其他人要等待优点:读取速度快,占用资源少2.实战案例:常见性能问题及解决方案案例1:查询特别慢--糟糕</div>
                    </li>
                    <li><a href="/article/1902967417244545024.htm"
                           title="ALO蚁狮优化算法:从背景到实战的全面解析" target="_blank">ALO蚁狮优化算法:从背景到实战的全面解析</a>
                        <span class="text-muted">der丸子吱吱吱</span>
<a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95/1.htm">智能优化算法</a><a class="tag" taget="_blank" href="/search/ALO%E7%AE%97%E6%B3%95/1.htm">ALO算法</a>
                        <div>目录引言背景2.1蚁狮优化算法的起源2.2自然启发式算法的背景2.3ALO的发展与应用原理3.1蚁狮的生物行为3.2ALO的数学建模3.3算法流程与关键步骤实战应用4.1函数优化问题4.2工程优化案例4.3组合优化与约束优化代码实现与结果分析5.1Python代码实现5.2实验设计与结果分析5.3性能评估与优化建议学习资源6.1工具推荐6.2网站与文献资源6.3ALO与AI结合的方法结论1.引言在</div>
                    </li>
                    <li><a href="/article/1902964012576993280.htm"
                           title="Java Web开发技术解析:从基础到实践的全栈指南" target="_blank">Java Web开发技术解析:从基础到实践的全栈指南</a>
                        <span class="text-muted">以恒1</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>JavaWeb开发技术解析:从基础到实践的全栈指南在互联网技术演进中,JavaWeb凭借其跨平台特性、成熟的生态系统和强大的企业级服务能力,成为构建动态Web应用的核心技术栈。本文从技术组成、开发工具、实战应用三个维度,全面解析JavaWeb的完整技术体系,并结合最新行业实践探讨其演进方向。一、JavaWeb的核心技术组成JavaWeb开发以Servlet和JSP为基石,通过分层架构实现动态网页生</div>
                    </li>
                    <li><a href="/article/1902962123135315968.htm"
                           title="Scrum实施情况调查之案例分析" target="_blank">Scrum实施情况调查之案例分析</a>
                        <span class="text-muted">zhijie435</span>
<a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/thoughtworks/1.htm">thoughtworks</a><a class="tag" taget="_blank" href="/search/%E6%95%8F%E6%8D%B7/1.htm">敏捷</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91/1.htm">敏捷开发</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a>
                        <div>导读:社区Agile主题敏捷实施,企业级敏捷标签Scrum作者李剑,在InfoQ中文站上发表了一篇"Scrum在中国——企业实施情况调查实录"。这份调查实录,分别调查了五个实施SCRUM的公司,其中三家公司实施成功,二家公司失败。我建议所有准备或者正在实施SCRUM的人们都能来读一下。在此,我们会对这篇文章中的案例分类进行分析、诊断。并探讨什么是敏捷开发方法、什么是SCRUM、使用敏捷方法需要什么</div>
                    </li>
                    <li><a href="/article/1902961741793390592.htm"
                           title="常用的数据结构有哪些?在Go语言中如何定义其实例?" target="_blank">常用的数据结构有哪些?在Go语言中如何定义其实例?</a>
                        <span class="text-muted">开心码农1号</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/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/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/go/1.htm">go</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a>
                        <div>常见的数据结构有:数组、链表、栈、队列、图、哈希表;1、数组用于存储和处理一组固定大小、相同类型的数据,如存储学生成绩、数组排序等。Go语言中的数组长度是固定的,在声明时需要指定长度。特点:数据元素类型相同:数组中的所有元素都具有相同的数据类型;内存地址连续:数组在内存中是连续存储的;随机访问高效:由于数组的内存地址连续,并且元素类型相同,因此可以通过索引快速访问数组中的任意元素。无论要访问数组中</div>
                    </li>
                    <li><a href="/article/1902961489757663232.htm"
                           title="Qt 自定义标题栏——QtWidgets" target="_blank">Qt 自定义标题栏——QtWidgets</a>
                        <span class="text-muted">十年之少</span>
<a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a><a class="tag" taget="_blank" href="/search/Widgets/1.htm">Widgets</a><a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A0%87%E9%A2%98%E6%A0%8F/1.htm">自定义标题栏</a>
                        <div>1.去掉标题栏,实现窗体拖动(常用)以上转载方法实现窗体拖动是通过Windows事件的;但是有时候为了跨平台这种的话就得重写,比较麻烦,所以还是采用最原始的方法:通过QWidgets的鼠标事件来实现。.h文件classQRCodeDialog:publicQDialog{Q_OBJECT...protected:voidmouseMoveEvent(QMouseEvent*event)overri</div>
                    </li>
                    <li><a href="/article/1902956440109248512.htm"
                           title="第三十篇 维度建模:从理论到落地的企业级实践" target="_blank">第三十篇 维度建模:从理论到落地的企业级实践</a>
                        <span class="text-muted">随缘而动,随遇而安</span>
<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/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%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%95%B0%E6%8D%AE%E5%BA%93%E6%9E%B6%E6%9E%84/1.htm">数据库架构</a>
                        <div>目录一、维度建模核心理论体系1.1Kimball方法论四大支柱1.2关键概念对比矩阵二、四步建模法全流程解析2.1选择业务过程(以电商为例)2.2声明原子粒度(订单案例)2.3维度设计规范时间维度(含财年逻辑)SCDType2完整实现(Hudi)2.4事实表类型与设计三、企业级建模实战:电商用户分析3.1业务矩阵分析3.2模型实现代码四、高级建模技巧4.1多星型模式关联4.2大数据场景优化五、性能</div>
                    </li>
                                <li><a href="/article/45.htm"
                                       title="安装数据库首次应用" target="_blank">安装数据库首次应用</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>可是为什么再一次失败之后就变成直接跳过那个要求 
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</div>
                                </li>
                                <li><a href="/article/172.htm"
                                       title="Weblogic Server Console密码修改和遗忘解决方法" target="_blank">Weblogic Server Console密码修改和遗忘解决方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/Welogic/1.htm">Welogic</a>
                                    <div>        在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。 
一.修改Console密码 
        打开weblogic控制台,安全领域 --> myrealm -->&n</div>
                                </li>
                                <li><a href="/article/299.htm"
                                       title="IllegalStateException: Cannot forward a response that is already committed" target="_blank">IllegalStateException: Cannot forward a response that is already committed</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Servlets/1.htm">Servlets</a>
                                    <div>对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。   示例代码:   
protected void doPost() {
    if (someCondition) {
        sendRedirect();
    }
    forward(); // Thi</div>
                                </li>
                                <li><a href="/article/426.htm"
                                       title="基于流的装饰设计模式" target="_blank">基于流的装饰设计模式</a>
                                    <span class="text-muted">木zi_鸣</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。 
自定义的类成为装饰类 
 
模仿BufferedReader,对Reader进行包装,体现装饰设计模式 
 
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。 
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系 
 
装饰类因为增强已有对象,具备的功能该</div>
                                </li>
                                <li><a href="/article/553.htm"
                                       title="Linux中的uniq命令" target="_blank">Linux中的uniq命令</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。 
AD: 
uniq [选项] 文件 
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个</div>
                                </li>
                                <li><a href="/article/680.htm"
                                       title="正则表达式Pattern" target="_blank">正则表达式Pattern</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/Pattern/1.htm">Pattern</a>
                                    <div>正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。 
  
例如,我们需要对QQ号码格式进行检验 
规则是长度6~12位  不能0开头  只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14} 
&nbs</div>
                                </li>
                                <li><a href="/article/807.htm"
                                       title="Oracle高级查询之OVER (PARTITION BY ..)" target="_blank">Oracle高级查询之OVER (PARTITION BY ..)</a>
                                    <span class="text-muted">知了ing</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>
                                    <div>一、rank()/dense_rank() over(partition by ...order by ...) 
 
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句: 
 
 select e.ename, e.job, e.sal, e.deptno  
  from scott.emp e,  
       (se</div>
                                </li>
                                <li><a href="/article/934.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/pdb/1.htm">pdb</a>
                                    <div>原文地址: 
http://blog.csdn.net/xuyuefei1988/article/details/19399137 
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧: 
 
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试: 
 
http://www.ibm.com/d</div>
                                </li>
                                <li><a href="/article/1061.htm"
                                       title="webservice传递自定义对象时函数为空,以及boolean不对应的问题" target="_blank">webservice传递自定义对象时函数为空,以及boolean不对应的问题</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a>
                                    <div>今天在客户端调用方法 
NodeStatus status=iservice.getNodeStatus(). 
 
结果NodeStatus的属性都是null。 
 
进行debug之后,发现服务器端返回的确实是有值的对象。 
 
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。 
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的</div>
                                </li>
                                <li><a href="/article/1188.htm"
                                       title="java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针" target="_blank">java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针</a>
                                    <span class="text-muted">百合不是茶</span>

                                    <div>C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作: 
  
定义一个指针p来指向a的地址(&是地址符号): 
        </div>
                                </li>
                                <li><a href="/article/1315.htm"
                                       title="Eclipse打不开,提示“An error has occurred.See the log file ***/.log”" target="_blank">Eclipse打不开,提示“An error has occurred.See the log file ***/.log”</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a>
                                    <div>打开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</div>
                                </li>
                                <li><a href="/article/1442.htm"
                                       title="spring aop实例annotation方法实现" target="_blank">spring aop实例annotation方法实现</a>
                                    <span class="text-muted">bijian1013</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/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/annotation/1.htm">annotation</a>
                                    <div>        在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut 
AdviceMethods.jav</div>
                                </li>
                                <li><a href="/article/1569.htm"
                                       title="[Velocity一]Velocity语法基础入门" target="_blank">[Velocity一]Velocity语法基础入门</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a>
                                    <div>用户和开发人员参考文档 
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html 
  注释 
1.行级注释## 
2.多行注释#*  *# 
  变量定义 
使用$开头的字符串是变量定义,例如$var1, $var2, 
  赋值 
使用#set为变量赋值,例</div>
                                </li>
                                <li><a href="/article/1696.htm"
                                       title="【Kafka十一】关于Kafka的副本管理" target="_blank">【Kafka十一】关于Kafka的副本管理</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a>
                                    <div>1. 关于request.required.acks 
  
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0, 
0表示即不进行确认即返回。 
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中 
-1表示根据指定的最少Partition确认后才返回,这个在 
  
Th</div>
                                </li>
                                <li><a href="/article/1823.htm"
                                       title="lua统计nginx内部变量数据" target="_blank">lua统计nginx内部变量数据</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/lua+nginx%E3%80%80+%E7%BB%9F%E8%AE%A1/1.htm">lua nginx  统计</a>
                                    <div>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(</div>
                                </li>
                                <li><a href="/article/1950.htm"
                                       title="java-11.二叉树中节点的最大距离" target="_blank">java-11.二叉树中节点的最大距离</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
import java.util.ArrayList;
import java.util.List;


public class MaxLenInBinTree {

	/*
	 a.			1
	 		   /  \
	 		  2    3
	 		 / \  / \
	 		4   5 6  7
	 	max=4	pass "root"
	 </div>
                                </li>
                                <li><a href="/article/2077.htm"
                                       title="Netty源码学习-ReadTimeoutHandler" target="_blank">Netty源码学习-ReadTimeoutHandler</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/netty/1.htm">netty</a>
                                    <div> 
ReadTimeoutHandler的实现思路: 
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException 
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如 
 
 

private final ChannelHandler timeoutHandler =
	new ReadTim</div>
                                </li>
                                <li><a href="/article/2204.htm"
                                       title="jquery验证上传文件样式及大小(好用)" target="_blank">jquery验证上传文件样式及大小(好用)</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a><a class="tag" taget="_blank" href="/search/jquery%E9%AA%8C%E8%AF%81/1.htm">jquery验证</a>
                                    <div><!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="jquery1.8/jquery-1.8.0.</div>
                                </li>
                                <li><a href="/article/2331.htm"
                                       title="浏览器兼容【转】" target="_blank">浏览器兼容【转】</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/IE/1.htm">IE</a>
                                    <div>浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 
 
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 
 
碰到频率:100% 
 
解决方案:CSS里    *{margin:0;padding:0;} 
 
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设</div>
                                </li>
                                <li><a href="/article/2458.htm"
                                       title="Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数" target="_blank">Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%24%23/1.htm">$#</a><a class="tag" taget="_blank" href="/search/%24%3F/1.htm">$?</a><a class="tag" taget="_blank" href="/search/%E7%89%B9%E6%AE%8A%E5%8F%98%E9%87%8F/1.htm">特殊变量</a>
                                    <div>前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:   
 
  $echo $$  
   
运行结果 
29949 
   特殊变量列表   变量 含义   $0 当前脚本的文件名   $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个</div>
                                </li>
                                <li><a href="/article/2585.htm"
                                       title="程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!" target="_blank">程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a>
                                    <div>翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。 
 KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原</div>
                                </li>
                                <li><a href="/article/2712.htm"
                                       title="android Activity间List传值" target="_blank">android Activity间List传值</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Activity/1.htm">Activity</a>
                                    <div>第一个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</div>
                                </li>
                                <li><a href="/article/2839.htm"
                                       title="tomcat 设置java虚拟机内存" target="_blank">tomcat 设置java虚拟机内存</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/tomcat+%E5%86%85%E5%AD%98%E8%AE%BE%E7%BD%AE/1.htm">tomcat 内存设置</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2117772 
http://eksliang.iteye.com/ 
常见的内存溢出有以下两种: 
java.lang.OutOfMemoryError: PermGen space  
java.lang.OutOfMemoryError: Java heap space 
  
------------</div>
                                </li>
                                <li><a href="/article/2966.htm"
                                       title="Android 数据库事务处理" target="_blank">Android 数据库事务处理</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事</div>
                                </li>
                                <li><a href="/article/3093.htm"
                                       title="Java 打开浏览器" target="_blank">Java 打开浏览器</a>
                                    <span class="text-muted">hw1287789687</span>
<a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80%E7%BD%91%E5%9D%80/1.htm">打开网址</a><a class="tag" taget="_blank" href="/search/open%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">open浏览器</a><a class="tag" taget="_blank" href="/search/open+browser/1.htm">open browser</a><a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80url/1.htm">打开url</a><a class="tag" taget="_blank" href="/search/%E6%89%93%E5%BC%80%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">打开浏览器</a>
                                    <div>使用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</div>
                                </li>
                                <li><a href="/article/3220.htm"
                                       title="ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件" target="_blank">ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a><a class="tag" taget="_blank" href="/search/google+api/1.htm">google api</a><a class="tag" taget="_blank" href="/search/chrome%E6%8F%92%E4%BB%B6/1.htm">chrome插件</a>
                                    <div>Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice 
 
 由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧</div>
                                </li>
                                <li><a href="/article/3347.htm"
                                       title="进程VS.线程" target="_blank">进程VS.线程</a>
                                    <span class="text-muted">m635674608</span>
<a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a>
                                    <div>资料来源: 
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点: 
多进程模式最大</div>
                                </li>
                                <li><a href="/article/3474.htm"
                                       title="Linux下安装MemCached" target="_blank">Linux下安装MemCached</a>
                                    <span class="text-muted">字符串</span>
<a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>前提准备: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</div>
                                </li>
                                <li><a href="/article/3601.htm"
                                       title="java设计模式之--jdk动态代理(实现aop编程)" target="_blank">java设计模式之--jdk动态代理(实现aop编程)</a>
                                    <span class="text-muted">Supanccy2013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><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/AOP/1.htm">AOP</a>
                                    <div>    与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。 
&</div>
                                </li>
                                <li><a href="/article/3728.htm"
                                       title="Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持" target="_blank">Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a>
                                    <div>2.1 默认方法(default method) 
 
 java8引入了一个default medthod; 
 用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展 
 使用default关键字 
 Spring 4.2支持加载在默认方法里声明的bean 
  
2.2 
 
 将要被声明成bean的类 
  
public class DemoService {
    </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>