`
tangyanbo
  • 浏览: 268725 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
1. 三套生命周期     Maven拥有三套相互独立的生命周期,它们分别为clean,default和site。 每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。 以clean生命周期为例,它包含的阶段有pre-clean, clean 和 post clean。当用户调用pre-clean的时候,只有pre-clean得以执行,当用户调用clean的时候,pre-clean和clean阶段会得以顺序执行;当用户调用post-clean的时候,pre-clean,clean,post-clean会得以顺序执 ...
1. 安装m2eclipse插件    要用Eclipse构建Maven项目,我们需要先安装meeclipse插件    点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图:    安装成成之后我们在Eclipse菜单栏中点击File- ...
上一节讲了maven的安装和配置,这一节我们来学习一下创建一个简单的Maven项目 1. 用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令: mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app-simple -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-quickstart  即可在当前目录创建一个简单的maven项目,当然创建的时候会从Maven库中下载相关的依赖,耐心等待即可。 maven的大致 ...
 1. 简介   Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.  如果你已经有十次输入同样的Ant targets来编译你的代码、jar或者war、生成javadocs,你一定会自问,是否有一个重复性更少却能同样完成该工作的方 法。 Maven便提供了这样一种选择,将你的注意力从作业层转移到项目管理层。Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页 2.核心价值    * 简单       Maven 暴露了一组一致、简介的操作接口,能帮助团队成员从原来的高度自定义的、复杂的构建系统中解脱出来,使 ...
【散列表】 它是用一个散列函数把关键字 映射到散列表中的特定位置。 在理想情况下,如果元素e 的关键字为k,散列函 数为f,那么e 在散列表中的位置为f (k)。要搜索关键字为k 的元素,首先要计算出f (k),然后看 表中f (k)处是否有元素。如果有,便找到了该元素。如果没有,说明该字典中不包含该元素。 在前一种情况中,如果要删除该元素,只需把表中f (k)位置置为空即可。在后一种情况中,可 以通过把元素放在f (k)位置以实现插入。 此例是一个理想情况下的散列表,不考虑关键字重复的情况   public class HashList { private String[] t ...

【栈】  是限定仅在表尾进行插入或删除操作的线性表  表尾称为栈顶,表头称为栈底  特点:后进先出   操作:1.推入push2.弹出pop   栈的数组实现     public class ArrayStack<E> { private List<E> list = new ArrayList<E>(); public boolean isEmpty(){ return list.size()==0; } public void push(E element){ list.add(element); ...
【链表】 是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多, 但是查找一个节点或者访问特定编号的节点则需要O(n)的时间, 而顺序表相应的时间复杂度分别是O(㏒ n)和O(1)。 【单向链表】  是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始  一个节点包含两个域,一个信息域和一个指针域,指针域指向下一个节点,最后一个节点指向一个空值 单向链表有一个头节点,可以不存储任何信息,包含一个指向第一个节点的指针 特点:  ...

插入排序

插入排序 算法步骤: 1.从第一个元素开始,该元素可以认为已经被排序 2.取出下一个元素a,在已经排序的元素序列中从后向前扫描 3.如果已排序中的元素b大于a,则将元素b后移一个位置 4.重复步骤3,直到找到已排序的元素x小于或者等于元素a 5.将元素a插入到x的后面 6.重复步骤2~5 public static void insertionSort(Integer[] array){ for(int i=1;i<array.length;i++){ //待插入的数据 Integer toBeInsertedValue = array[i]; ...
合并排序 合并算法,指的是将两个已经排序的序列合并成一个序列的操作 操作步骤: 1. 建立一个数组C用来存放合并后的数 2. 从数组A和数组B的首端开始比较,将大的元素放入C中 3. 重复2操作,直至其中一个数组的元素被用完,则将另一个数组中剩余的元素拷贝到C中 比较复杂度:n㏒n 交换(赋值)复杂度:n㏒n 优点:比较快速的排序算法 缺点:需要额外的空间存放临时数组 private static void merge(Integer[] array,final int left,final int leftEnd, final int rightEnd){ Integer[] m ...
选择排序法->选择排序 算法步骤: 1. 未排序序列中找到最小元素,存放到排序序列的起始位置 2. 再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾 3. 以此类推,直到所有元素均排序完毕 比较复杂度:n(n-1)/2 交换(赋值)复杂度:n-1 优点:相比冒泡排序来讲,交换的次数减少了 缺点:相对快速排序,比较次数仍然是n² public static void selectionSort(Integer[] array){ for(int i=0;i<array.length-1;i++){ //最小数存放位置 int minPositio ...
交换排序->冒泡排序 算法步骤: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3. 针对所有的元素重复以上的步骤,除了最后一个。 4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 public static void bubbleSort(Integer[] array){ for(int i=array.length-1;i>=0;i--){ for(int j=0;j<i;j++){ ...

快速排序

交换排序法->快速排序 快速排序使用分治法策略来把一个序列分为两个子序列 算法步骤: 1. 从数列中挑出一个元素,称为 "基准"(pivot) 2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面 (相同的数可以到任一边)。在这个分割结束之后,该基准就处于数列的中间位置。这个称为分割(partition)操作 3. 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序 * 比较复杂度:O(n㏒n) * 交换(赋值)复杂度:O(n㏒n) * 优点:比一般的排序都要快 public static void ...
算法 排序算法 快速排序   冒泡排序   选择排序   合并排序   插入排序     数据结构 单向链表   栈
最近整理了一份Java基础知识的文档,将Java SE 基础知识归纳了一下,拿出来分享,同时也请大家给点意见,此文档将坚持更新。当需要出去面试的时候,在Java基础这块还是很有帮助的。
[img][/img]安装 EclEmma 插件 安装 EclEmma 插件的过程和大部分 Eclipse 插件相同,我们既可以通过 Eclipse 标准的 Update 机制来远程安装 EclEmma 插件(图 1),也可以从站点(参阅参考资源)下载 zip 文件并解压到 eclipse 所在的目录中。 EclEmma - http://update.eclemma.org 图 1 添加 EclEmma 更新站点 不管采用何种方式来安装 EclEmma,安装完成并重新启动 Eclipse 之后,工具栏上应该出现一个新的按钮: 图 2 新增的覆盖测试按钮 使用 EclEm ...
Global site tag (gtag.js) - Google Analytics