`
robindut
  • 浏览: 46258 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论
文章列表
// 删除数组中第n个元素 function mgrQuestionBankQuestionSel_removeElementInArray(tempArray, n) { // tempArra表示原始数组 // n表示第几项,从0开始算起 if (n < 0) // 如果n<0,则不进行任何操作。 return tempArray; else return tempArray.slice(0, n).concat(tempArray.slice(n + 1, tempArray.length)); /* * concat方法:返 ...
  过期引用会导致内存泄漏: 1.如果一个栈先增长再收缩,那么从栈中弹出来的对象将不会被当作垃圾回收,即使使用栈的程序不再引用这些对象,它们也不会被回收,因为栈内部维护着这些对象的过期引用,从而可能导致内存泄漏。 2.解决方法是只要一个对象被弹出栈,就将它的引用过期(指向null) 注意:只要类自己管理内存,就应该警惕内存泄漏问题!!! 内存泄漏的另一个常见来源是缓存。 3.第三个常见来源是监听器和其他回调。
最好能重用对象,而不是每次使用时都创建一个新的。如果对象是不可变得,那它就始终可以被重用。 对于同时提供构造器和静态工厂方法的类,通常使用静态工厂方法,以避免创建不必要的对象。 要优先使用基本类型,避免不必要的自动装箱。  
对于不需要实例化的类,我们需要添加一个私有的构造器来防止编译器自动添加一个缺省的无参构造器,这样这个类就不能被实例化了。 // Noninstantiable utility class public class UtilityClass { // Suppress default constructor for noninstantiability private UtilityClass() { throw new AssertionError(); } ... // Remainder omitted }  不足:私有构造器使得该类不可以被子类化,所有点构造器都必须 ...
Singleton指仅仅被实例化一次的类。 实现Singleton的两种方法: 1. // Singleton with public final field public class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis() { ... } public void leaveTheBuilding() { ... } }   2. // Singleton with static factory public class El ...
使用builder模式生成对象,参考示例代码 // Builder Pattern public class NutritionFacts { private final int servingSize; private final int servings; private final int calories; private final int fat; private final int sodium; private final int carbohydrate; public static class Builder { // Required parame ...
1.考虑用静态工厂方法代替构造器      例子:   public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE; }  使用静态工厂替代构造器的优势: 1)他们有名称 2)不必每次调用都产生新的对象   3)可以返回原返回类型任何子类型的对象 4)创建参数化类型实例的时候,使代码更简洁 缺点:1)类如果不含公有的或者受保护的构造器,就不能被子类化  2)与其他的静态方法没有任何区别:API中没有特殊标明,因此很难查找如何实例化一个类。   静态 ...
function empty(v){ switch (typeof v){ case 'undefined' : return true; case 'string' : if(trim(v).length == 0) return true; break; case 'boolean' : if(!v) return true; break; case 'number' : if(0 === v) return true; break; case 'object' : if(null === v) return true; if(undefined !== v. ...
  Performance tuning The following are some tips and tricks to squeeze the most performance out of Struts 2. Important OGNL updateFor Struts 2 versions before 2.3: the OGNL version 3.0.3 library is a drop-in replacement for older OGNL jars, and provides much better performance. S ...
最近使用Sturts2作文件下载时,发现在不同的浏览器上会有中文文件名乱码的问题,现在把解决方法放在这里,以便留个备份。   struts2配置文件如下:   <action name="fileDownLoad" class="com.test.FileDownloadAction"> <result name="download" type="stream"> <param name="contentType">applicatio ...
当在一个form中只有一个text元素,这时候如果按回车相当于对form进行了一个submit操作,所以用户在输入完按回车就代表了submit。如果一个form中不是只有一个text元素,而还有其它的text元素的话,就不会自动提交了。所以只有一个text文本框时并不想按回车提交表单的解决方法就是再加一个隐藏的文本框 。
  很久没有关注jQuery了,最近重新看了一下,看到一些不错的文章,转来坐一下笔记。其内容和一些新提供的方法还是很多有值得学习的地方。 1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本。因为新版本会改进性能,还有很多新功能。下面就来看看,不同版本的jQuery性能差异有多大。这里是三条最常见的jQuery选择语句:  $('.elem')  $('.elem', context)  context.find('.elem')我们用1.4.2、1.4.4、1.6.2三个版本的jQuery测试,看看浏览器在1秒内能够执行多少次。结果如下:  可以看到,1. ...
Spring AOP的底层实现技术     AOP概述 软件的编程语言最终的目的就是用更自然更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,我们看到编程语言在一步步用更自然、更强大的方式描述软件 ...

AJAX工作原理

    博客分类:
  • ajax
XMLHttpRequest 是 AJAX 的基础   所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。   XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。     创建 XMLHttpRequest 对象 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。 创建 XMLHttpRequest 对象的语法: variable=new XMLHttpReq ...
如果客户端有安装了Adobe reader的话,可以在网页中打开查看pdf文件,代码如下: <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="990" height="700" border="0" top="-10" name="pdf"> <param name="toolbar" value="false"& ...
Global site tag (gtag.js) - Google Analytics