`
xjtusaber
  • 浏览: 54792 次
  • 性别: Icon_minigender_1
  • 来自: 龙黄
社区版块
存档分类
最新评论
文章列表
  网上关于java内存泄露的资料都过于玄乎,其实java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。作者在书中提到了3个场景: 1。流失监听器问题,在awt、swing编程中,给组件添加了事件监听器,这些组件的生命周期如果很长的话,监听器对象将不能被正确回收。关于GUI编程我不是很熟悉,这一点存有疑问,因为显然你触发一个按钮的事件,当然是一直期待同样的行为发生,如果删除了监听器或者使用弱引用让JVM回收不符合业务逻辑和用户体验。 ...
hehehehehehe
越看越经典 听到王菲浅吟低唱着这个句子的时候,阿朱如花的笑靥正在青石桥旁小镜湖边渐渐凋零,乔峰在滂沱的夜雨中泪雨也滂沱。你给我保护,我还你祝福,你英雄好汉需要抱负,可你欠我幸福,拿什么弥补。终是塞上牛 ...
荷西向三毛求婚。      三毛说:我的心是玻璃做的,它已经碎了。      荷西说:我这里有一颗心,它是金子做的,我跟你换。      怆然泪下。泪下的,不仅仅是三毛吧。问问你,问问他,我们是不是都听过心碎 ...
var str=' <div class="{0}">{1}</div>' var args=['saber','xq'] str=str.replace(/\{(\d+)\}/g, function(m, i){ return args[i]; }) 第二个参数是个方法对象,怎么解释? 引用ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配 ...
经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. if(document.mylist.length != "undefined" ) {} 这个用法有误. 正确的是 if( typeof(document.mylist.length) != "undefined" ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof的运算数未定义,返回的就是 "undefined". 运算数为数字 typeof(x) = &q ...
1:关于javascript的apply和call函数 官方解释:应用某一对象的一个方法,用另一个对象替换当前对象。 apply与call的区别是第二个参数不同。apply是 数组或者arguments 对象。而call是逗号隔开的任何类型。 apply,call方法最让人混淆的地方也是apply,call的特色。但最好不要滥用。 能改变调用函数的对象。如下例,函数中用到this关键字,这时候this代表的是apply,call函数的第一个参数。 关于call,最简单的解释就是:把隐藏的第一个参数显示化。因为通常一个方法x的调用,会有一个额外的隐藏参数,就是x所属的对象,如果没有所属,则为glo ...
首先贴出prototype.js实现继承的代码: Object.extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; } return destination; } 很明显,这里把source的所有属性copy到destination下,即destination继承source,由于只是简单的属性copy,所以写代码的时候要注意调用Object.extend的顺序,否则无法实现overridin ...
/** * 工厂方法: * 存在问题:重复创建对象eat */ function CreatePeople(name){ var people=new Object(); people.name=name; people.eat=function(){ alert(this.name+' is eating !!') }; return people; } /** * 构造函数法: * 存在问题:重复创建对象eat * 使用new 来创建对象,如:var p=new People('saber') * 在执行第一句代码前 ...
题目: 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。     如果是charset(gb2312, GBK, BIG5), 汉字占两个字节,问题的关键在于考虑截取长度的最后一个字节,如果是属于一个汉字的第一个字节,忽略即可,而汉字每个字节前都是1,所以都是负数,采用if(byte[i]<0)判断是否是汉字的最后一个字节。 目前看到的最好的办法: import java.io.Unsupported ...
代码主要参考ext 2.0的example ,这里加上自己的注释,包括某些参数的含义. 使用ext2.0创建表格很简单: 第一:准备表头,使用Ext.grid.ColumnModel 第二:准备数据,使用Ext.data.Store 第三:创建表格,使用Ext.grid.GridPanel,同时把以上的表头和数据放进去。  Ext.onReady(function() { /** * 首先是创建表格的ColumnModel,即定义grid的各个列: * Ext.grid.ColumnModel([{ * id: 列的唯一标识,可以用于定义css,如:(.x-gri ...
在项目文件夹WEB-INF下建立 resin-web.xml: <web-app xmlns="http://caucho.com/ns/resin"> <servlet servlet-name="resin-php" servlet-class="com.caucho.quercus.servlet.QuercusServlet"/> <servlet-mapping url-pattern="*.php" servlet-name="resin-php"/ ...

Oracle函数

1: SIGN  取数字n的符号,大于0返回1,小于0返回-1,等于0返回0  SQL> select sign(123),sign(-100),sign(0) from dual; SIGN(123) SIGN(-100) SIGN(0) --------- ---------- --------- 1               -1                     0 可以用他来实现 if-elseif-end的功能.  
两种方法。 1:  用spool   set echo off           --是否显示执行的命令内容  set feedback off       --是否显示 *   rows   selected   set heading off        --是否显示字段的名称 set verify off         --是否显示替代变量被替代前后的语句。fil set trimspool off      --去字段空格 set pagesize 500       --页面大小 set linesize 500       --linesize设定尽量根据需要来设定,大 ...
区别:setTimeout(表达式,延时时间);//只执行一次,无周期 setInterval(表达式,交互时间);//周期='交互时间' 停止: 主要是利用 window.clearInterval(intervalID); window.clearTimeout(timeoutID); <SCRIPT>     var   intervalID=0;     function   f_start(){     intervalID=window.setInterval("f_add()",500);     }     function   f ...
Global site tag (gtag.js) - Google Analytics