- 博客(154)
- 资源 (3)
- 收藏
- 关注
转载 final 不能修饰抽象类 方法可以被重载 但不能被重写
1.final修饰变量,则等同于常量2.final修饰方法中的参数,称为最终参数。3.final修饰类,则类不能被继承4.final修饰方法,则方法不能被重写。 final 不能修饰抽象类final修饰的方法可以被重载 但不能被重写
2016-09-25 03:38:57
18649
转载 A:LinkedList实现了List接口; B: AbstractSet实现了Set接口; C: HashSet继承自AbstractSet基类; D: WeakMap继承自 AbstractMap
List,Set,Map在java.util包下都是接口List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractSet实现了SetA:LinkedList实现了List接口;B: AbstractSet实现了Set接口;C: HashSet继承自AbstractSet基类;D: We
2016-09-25 03:13:37
29172
转载 JAVA 异常
1)系统错误(system error)是由Java虚拟机抛出的,用Error类表示。Error类描述的是内部系统错误。这样的错误很少发生。如果发生,除了通知用户以及尽量稳妥地终止程序外,几乎什么都不能做。2)异常(exception)是用Exception类表示的,它描述的是由程序和外部环境所引起的错误,这些错误能被程序捕获和处理。3)运行时异常(runtime exce
2016-09-24 08:10:05
524
转载 SQL的四种连接-左外连接、右外连接、内连接、全连接
例子: ------------------------------------------------- a表 id name b表 id job parent_id 1 张3 1 23 1 2 李四
2016-09-24 04:17:44
2630
转载 二分法查找法
算法如下:1.确定查找范围front=0,end=N-1,计算中项mid=(front+end)/2。2.若a[mid]=x或front>=end,则结束查找;否则,向下继续。3.若a[mid]x,说明待查找的元素值只可能在比中项元素小的范围内,则把mid-1的值赋给end,并重新计算mid,转去执行步骤2。http://www.cnblogs.com/yc_sunniwell/a
2016-09-23 15:53:19
673
转载 经典排序 图解 代码实现
一 插入排序1.1 直接插入排序基本思想:每次将一个待排序额记录按其关键码的大小插入到一个已经排好序的有序序列中,直到全部记录排好序。代码实现:[cpp] view plain copy //直接顺序排序 void InsertSort(int r[], int n) { for (int i=2
2016-09-23 07:43:29
462
转载 快速排序
原作者:啊哈磊注意:此文为转载文章,原文地址为:http://www.cnblogs.com/ahalei/p/3568434.html 这是我见过的解释快速排序最好的文章,分享如下: 假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒,而冒泡排序则需要1千万秒,达到115天之久,是不是很吓人。那有
2016-09-23 07:30:59
435
转载 稳定性比较 时间复杂性比较
我们先看一段排序的例子把:这里有一个数组:12 45 342 2前面我弄的比较特别:是一个顺序的排列,而只有最后一个数不是有序的我们现在来排序,而这里只要排最后一个数对于插入排序来说,进行一趟排序之后就有: 2 12 45 342而对于冒泡排序,进行一趟排序之后有: 12 45 2 34
2016-09-23 06:36:36
797
转载 设数组data[m]作为循环队列的存储空间。front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()
队尾指针是rear,队头是front,其中QueueSize为循环队列的最大长度 1.队空条件:rear==front 2.队满条件:(rear+1) %QueueSIze==front 3.计算队列长度:(rear-front+QueueSize)%QueueSize 4.入队:(rear+1)%QueueSize 5.出队:(front+1)%Queue
2016-09-22 06:33:21
27675
1
转载 什么是cookie?session和cookie有什么区别?
在存储的数据量方面session和cookies也是不一样的。session能够存储任意的Java对象,cookie只能存储String类型的对象。cookie是Web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web服务器存储cookie。以后浏览器在给特定的Web服务器发请求的时候,同时会发送所有为该服务器存储的cookie。下面列出了session和cookie的区别:
2016-09-22 03:17:47
1730
转载 Spring 和SpringMVC区别
spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1
2016-09-21 03:22:29
7762
2
原创 sverlt Struts 生命周期
HttpServletResponse.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求 RequestDispatcher.forward方法在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为生命周期图和Struts流程图" title="Action
2016-09-20 04:10:59
475
原创 数据库优化
1、数据库方面建立检索分区尽量使用固定长度字段限制字段长度2、数据库io方面增加缓冲区如果涉及表级联,不同的表存储在不同硬盘上,早呢更加IO速度3、SQL语句方面优化sql语句,减少比较次数限制返回的数目4、java方面如果是反复使用的查询,使用preparestatement减少次数-------------------------------
2016-09-20 03:41:37
270
转载 PLSQL
PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功
2016-09-20 03:19:20
399
转载 堆排序
堆是一种完全二叉树结构,并且其满足一种性质:父节点存储值大于(或小于)其孩子节点存储值,分别称为大顶堆、小顶堆。堆一般采用数组进行存储(从下标为1开始),则父节点位置为i,那么其左孩子为2*i,右孩子为2*i + 1。一. 算法描述堆排序主要分为两个过程:(1)先使长度为N数组形成一个N个节点组成的大顶堆(2)然后将堆顶数据与末尾数据交换,再对N-1长的堆调整为大顶堆;
2016-09-20 02:29:41
286
转载 堆排序
二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。下图展示一个最小堆:由于其它
2016-09-20 02:26:40
246
转载 队列
队列 (queue) ,基本数据结构之一,属于FIFO(先进先出)数据结构。队列只允许在前端 (HEAD) 进行入队(插入)操作,只允许在后端 (TAIL) 进行出队(删除)操作。单队列可以使用链表来实现,实现非常简单,队列的长度也没有限制,但是插入和读取的时间代价较高。循环队列可以使用数组来实现,因此操作起来很快,但是长度一般固定。但是可以通过设计一个扩大容量的方法来使其长度
2016-09-20 02:09:31
365
转载 简单数据结构实现——二叉查找树
二叉查找树(Binary Search Tree)具有以下基本性质:1.若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值;2.若它的右子树不空,则右子树上所有结点的值均大于它的根节点的值;3.它的左右子树也分别为二叉排序树。通常采取二叉链表作为二叉排序树的存储结构。在java中构造了如下的记node类来代表单个节点:[java] view p
2016-09-20 01:53:52
378
转载 希尔排序
插入排序的算法复杂度为O(n2),但如果序列为正序可提高到O(n),而且直接插入排序算法比较简单,希尔排序利用这两点得到了一种改进后的插入排序。一. 算法描述希尔排序:将无序数组分割为若干个子序列,子序列不是逐段分割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小的增量,再将数组分割为多个子序列进行排序......最后选择增量为1,即使用直接插入排序,使最终
2016-09-20 01:51:19
228
转载 归并排序
归并排序(Merge Sort) 是一种采用了分治(Divide and Conquer) 想法的排序算法。该算法中基本的操作是合并两个已经排序的表,并将输出放到第三个表中,该过程可以通过对输入数据一趟排序来完成。基本的合并算法是取两个输入数组A和B,一个输出数组C,与三个计数器Actr,Bctr,Cctr,它们初始置于对应数组的开始端。A[Actr]和B[Bctr]中的较小者
2016-09-20 01:13:25
243
转载 插入排序
插入排序 Insertion Sort 为基本排序算法之一。其工作原理是将数组的后端保留为无序序列区,在前端从前往后逐渐建立有序序列区。每一次挑出后半部分无序区的第一个元素作为当前操作元素,然后从该位置向前逐个扫描,找到正确的位置进行插入,是为插入排序。在从当前位置向前扫描的过程中,如果还没有抵达正确位置,则需要有一个元素向后挪位的操作,即代码中的a[j]=a[j-1], 这是插入排序
2016-09-20 00:58:09
250
转载 冒泡排序(Bubble Sort)
原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 第一趟排
2016-09-20 00:26:09
288
转载 选择排序
冒泡排序冒泡排序比较好理解,但是效率比较低,冒泡排序的基本思想是:每一次将最具有特征的一个数(或者object)放到序列的最前面,或者最后面。例如,如果需要将一组数,以从小到大的顺序排列,那么就可以设计这样的冒泡方法:可以设计从序列的最后面开始,找出序列中最小的一个数放到序列的最前面,这样经过n次循环也可以实现数组的排列。这种排序方法由于每一次找到的数字都像是气泡一样从数组
2016-09-20 00:15:12
185
转载 二叉树前序、中序、后序遍历相互求法
今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树
2016-09-18 03:16:13
286
转载 后序遍历结果:DEBFCA
算法4(Java语言)12345678910111213141516171819publicclassTreeNode{ intval; TreeNodeleft; TreeNoderight; TreeNode(intx){
2016-09-18 02:52:37
527
转载 中序遍历结果:DBEAFC
ava版本1234567891011121314class TreeNode{ public int data; public TreeNode leftChild; public TreeNode rightChild; public static void i
2016-09-18 02:50:11
602
转载 二叉树前序 ABDECF
http://baike.baidu.com/link?url=WzF8_CzDS20NTsEFJX1nhISqpnWTEoHhCuPQMMHCC_qjO89k6cqtfJkCf_9ndA4lJJyXMA5oWJiKTcPG61Z6ta#2_3二叉树定义 publicclassTreeNode{intval;TreeNodeleft;TreeNoderig
2016-09-18 02:42:26
519
转载 Java中关于HashMap的使用和遍历
1:使用HashMap的一个简单例子[java] view plain copy package com.pb.collection; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.
2016-09-18 01:58:28
199
转载 Java中HashMap遍历的两种方式
原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.nex
2016-09-18 01:57:13
288
转载 http://coolxing.iteye.com/blog/1468674
[例子和习题出自数据结构(严蔚敏版), 本人使用java进行实现. 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正. ]栈的实现栈是一种先进后出的数据结构, 首先定义了栈需要实现的接口:Java代码 收藏代码 public interface MyStack { /** * 判断栈是否为空
2016-09-18 01:45:46
226
转载 堆栈
1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集
2016-09-18 01:13:37
267
转载 堆栈2
http://blog.youkuaiyun.com/whaosy/article/details/86133861.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另
2016-09-18 01:02:00
200
转载 堆栈
http://blog.youkuaiyun.com/chengyingzhilian/article/details/7781858ava把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存
2016-09-18 01:00:50
230
转载 java list如何remove
http://blog.youkuaiyun.com/jiutianhe/article/details/18215311[java] view plain copy在CODE上查看代码片派生到我的代码片 package lm; import java.util.ArrayList; import java.util.List;
2016-09-17 16:49:53
394
转载 动态生成SQL语句,对数据操作
这篇主要是实现了实体类的数据库CRUD的操作。 在目前的ORM映射框架中,对于操作数据库的最后一个步骤就是动态生成操作数据库的SQL语句,而这无非也就是利用实体属性中的自定义映射机制来实现的,或者就是直接把实体类的属性名对应表的字段名,在本示例中,就是采用的后者。 第一、为了能够存储动态生成的SQL语句,新建了一个SQL语句的结构类,用来存放SQL语句以及参数:
2016-09-14 05:58:22
1427
转载 Java中的private、protected、public和default的区别
(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。(2)对于protected修饰符,它主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。(3)对于default来说,有点的时候也成为friendly(友员)
2016-09-14 05:11:17
271
转载 JAVA内部类 (成员内部类、局部内部类、匿名内部类、静态内部类、内部类的继承))
成员内部类 1.成员内部类简介package cn.com.inner;/** * 成员内部类 * 使用方式:OuterClass.InnerClass * @author wutz * */public class OuterClass { //外部类 InnerClass inner = new InnerClass(); private c
2016-09-14 04:59:37
510
转载 深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若
2016-09-14 04:42:50
194
转载 JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明。(1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 非静态对象 拥有属性:
2016-09-14 04:13:51
348
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人