`
文章列表
模板模式是类的行为模式。   1.定义:         定义一个操作中算法的骨架(或称为顶级逻辑),将一些步骤(或称为基本方法)的执行延迟到其子类中。   2.模板模式与继承         模板方法恰当地使用了继承。此模 ...
      我们来看看闭包的用途。事实上,通过使用闭包,我们可以做很多事情。比如模拟面向对象的代码风格;更优雅,更简洁的表达出代码;在某些方面提升代码的执行效率。   1匿名自执行函数       我们知道所有的变 ...
        Servlet规范中的filter引入了一个功能强大的拦截模式。Filter能在request到达servlet的服务方法之前拦截HttpServletRequest对象,而在服务方法转移控制后又能拦截HttpServletResponse对象。         你可以使用filter来实现特定的任务,比如验证用户输入、请求参数以及压缩web内容等操作。还可以在response输出页面内容之前,进行页面内容的过滤等操作。 1. HttpServletRequestWrapper         因为java.util.Map所包装的HttpServletRequest对象 ...
  hibernate映射mysql text类型字段 映射文件为: <property name="content" type="text">       <column name="content" /> </property>   model中属性声明为: private String content;   mysql数据库中字段为: `content` text   此时,如果要保存的内存过长,回报 Caused by: java.sql.BatchUpdate ...
在测试中发现,JQuery中的$(obj).offset().top 在不同浏览器中获取的高度不同 此处以<body>中的一个<div id="content"></div>为例 1.正常情况下,$("#content") 距离页面顶部的距离应该为0,页面初始化后,所有浏览器中的 $("#content" ).offset().top 的值都为0。 2.但是如果将页面向下滚动一段距离后,不同的浏览器之间则会出现两种情况: 一种依然为“0”,即距页面顶端距离。( 如 IE10,Firefox ...
一、变量的作用域         要理解闭包,首先必须理解Javascript特殊的变量作用域。         变量的作用域无非就是两种:全局变量和局部变量。         Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 ...
各种排序算法的总结和比较 1 快速排序(QuickSort) 快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。 (1) 如果不多于1个数据,直接返回。 (2) 一般选择序列最左边的值作为支点数据。 (3) 将序列分成2部分,一部分都大于支点数据,另外一
二路归并排序:将两个按值有序序列合并成一个按值有序序列   排序基本思想是:      申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列       设定两个指针,最初位置分别为两个已经排序序列的起始位置       比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置       重复步骤3直到某一指针达到序列尾       将另一序列剩下的所有元素直接复制到合并序列尾   public class TwoWayMergeSort { /** * 二路归并排序 * @param data1 * @param ...
归并排序:是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。   排序基本思想是:       将序列每相邻两个数字进行归并操作(merge),形成floor(n/2)个序列,排序后每个序列包含两个元素,将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素,重复步骤2,直到所有元素排序完毕     速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列 归并排序比堆排序稍微快一点,但是需要比堆排序多一倍的内存空间,因为它需要一个额外的数组   稳定         ...
链表插入排序的基本思想是:       在每个对象的结点中增加一个链域link。         对于存放于数组中的一组对象V[1],V[2],…,V[n],若V[1],V[2],…,V[i-1]已经通过链接指针link,按其排序码的大小,从小到大链接起来         现在要插入V[i],i=2,3,…,n,则必须在前面i-1个链接起来的对象当中,循链顺序检测比较,找到V[i]应插入(链入)的位置,把V[i]插入,并修改相应的链接指针         这样就可得到V[1],V[2],…,V[i]的一个通过链接指针排列好的链表。如此重复执行,直到把V[n]也插入到链表中排好序为止。 ...
折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。 基本思想: 折半插入排序算法的具体操作为:在将一个新元素插入已排好序的数组的过程中,寻找插入点时,将待插入区域的首元素设置为a[low],末元素设置为a[high],则轮比较时将待插入元素与a[m],其中m=(low+high)/2相比较,如果比参考元素小,则选择a[low]到a[m-1]为新的插入区域(即high=m-1),否则 ...
希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 基本思想: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序
直接插入排序:       将n个元素的数列分为已有序和无序两个部分,每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中       算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法                    {{a1},{a2,a3,a4,…,an}}       {{a1⑴,a2⑴},{a3⑴,a4⑴ …,an⑴}}       …       {{a1(n-1),a2(n-1) ,…},{an(n-1)}}       每次处理就是将无序数列的第一个元素与有序数列的元素从 ...
选择排序:       选择排序和冒泡排序差不多,只是冒泡排序在发现比它小的时候就交换,而选择排序是只有在确定了最小的数据之后,才会发生交换。       选择排序的基本思想:第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换。       先临时记录其位置,只有在一趟循环完以后确定了最小的数据,才会发生交换。         不稳定,时间复杂度 O(n^2)          public class ChoiceSort { public static void _choiceSort(Integer[] ...
1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 2.使用     1)下载ActiveMQ 去官方网站下载:http://activemq.apache.org/
Global site tag (gtag.js) - Google Analytics