- 博客(38)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 泛型与容器(4)——Queue
队列在并发编程中特别重要,它们可以安全地将对象从一个任务传输给另一个任务。 LinkedList提供了方法以支持队列的行为,并且它实现了Queue接口,通过将LinkedList上转型为Queue。 示例: public class QueueDemo { // 头部不为空时移除并返回 public static void printQ(Queue queue) { wh
2014-02-28 09:52:24 1050
原创 泛型与容器(3)——Set和Map
Set Set不保存重复的元素。Set最常被使用的是测试归属性,你可以很容易地询问某个对象是否在某个Set中,因此,查找就成为了Set中最重要的操作,通常会选择实现HashSet,它专门对快速查找进行了优化。 下面是使用存放Integer对象的HashSet的示例: public class SetOfInteger { public static void main(Stri
2014-02-28 09:51:41 589
原创 泛型和容器(2)——List和迭代器
List 有两种类型的List: (1)基本的ArrayList,它长于随机访问元素,但是在List的中间插入和移除元素时较慢。 (2)LinkedList,它通过代价较低的在List中间进行的插入和删除操作,提供了优化的顺序访问。LinkedList在随机访问方面相对比较慢,但是它的特性集较ArrayList更大。 contains()方法确定某个
2014-02-28 09:50:29 625
原创 泛型和容器(1)——Collection接口和容器的打印
java实用类库提供了一套相当完整的容器类,其中基本的类型有List、Set、Queue、和Map,这些对象类型也称为集合类。 基本概念 java容器类库的用途是“保存对象”,并将其划分为两个不同的概念: (1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复元素。Queue按照排队
2014-02-28 09:49:39 1187
原创 构造器初始化
初始化顺序 在类的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。 请看下例: //OrderOfInitialization.javaclass Window { Window(int marker) { System.out.println("Window(" + marker + ")
2014-02-28 09:48:41 680
原创 继承与初始化和构造器的调用
调用构造器要遵循以下顺序: 1、调用基类构造器。这个步骤会不断反复递归下去,首先是构造这种层次结构的根,然后是下一层导出类,等等,直到最底层的导出类。 2、按声明顺序调用成员的初始化方法。 3、调用导出类构造器的主体。 继承与初始化 请看下例: class Insect { private int i = 9; protected int j;// protected
2014-02-28 09:47:49 721
转载 为什么使用设计模式
面向对象的语言的产生,使软件的开发效率得到大幅提升,开发成本和开发难度得到大幅降低,同时软件的质量也在不断提升。然而,面向对象的特点就是抽象、继承、多态,因此评判面向对象的软件的一个很重要的标准就是可重用性。一个可重用的软件就需要有一个可重用的良好的设计。 良好的设计需要具有丰富经验的设计者,不断积累经验,而这些良好的设计同时也是无数数不清的丰富经验的设计者设计并不断改良优化的。这些
2014-02-28 09:46:04 835
转载 为什么要用单例模式?
我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。 一、静态方法常驻内存,非静态方法只有使用的时候才分配内存? 一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个理解是错误的。 为什么会这样,先从内存分配开始说起:
2014-02-28 09:44:52 914
转载 java设计模式之代理模式
1、什么是代理模式? 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2、策略模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 3、代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实
2014-02-28 09:43:28 602
转载 java设计模式之——策略模式
1、什么是策略模式? 策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 2、策略模式有什么好处? 策略模式的好处在于你可以动态的改变对象的行为。 3、设计原则 设计原则是把一个类中经常改变或者将来可能改变的部分提取出来,作为一个接口(c++z中可以用虚类),然后在类
2014-02-28 09:42:32 616
转载 java设计模式—工厂模式
一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在《Java与模式》中分为三类: 1)简单工厂模式(Simple Factory):不利于产生系列产品; 2)工厂方法模式(Factory Method):又称为多形性工厂; 3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于产生新的产品
2014-02-28 09:41:18 666
转载 Java 单例模式
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 1、需要注意的点 其中
2014-02-28 09:40:08 572
转载 哈夫曼树
1. 哈夫曼树的基本概念 哈夫曼树( Huffman )又称最优二叉树,是一类带权路径长度最短的树,有着广泛的应用。 在讨论哈夫曼树之前首先需要弄清楚关于路径和路径长度的概念。树中两个结点之间的路径由一个结点到另一结点的分支构成。两结点之间的路径长度是路径上分支的数目。树的路径长度是从根结点到每一个结点的路径长度之和。 设一棵二叉树有 n 个叶子结点,每个叶子结点拥有一个权值W
2014-02-28 09:38:31 1030
转载 整理:数据结构面试大全
1.判断链表是否存在环型链表 问题:判断一个链表是否存在环,例如下面这个链表就存在一个环: 例如N1->N2->N3->N4->N5->N2就是一个有环的链表,环的开始结点是N5 这里有一个比较简单的解法。设置两个指针p1,p2。每次循环p1向前走一步,p2向前走两步。直到p2碰到NULL指针或者两个指针相等结束循环。如果两个指针相等则说明存在环。 struct link {
2014-02-28 09:37:15 850
原创 Java中使用二分法排序
具体代码: import java.util.Scanner; //二分法 public class SplitBy2Sort { public static int splitBy2(int[] a, int num) { int low = 0; int high = a.length - 1; int mid; while (true) { // 取中间下标
2014-02-28 09:36:26 2442
转载 (Java实现)二叉查找树--查找、删除、插入
二叉查找树 二叉查找树(Binary Search Tree),或者是一颗空树,或者是具有下列性质的二叉树: 1、若它的左子树不空,则其左子树上的所有结点的值均小于它根结点的值; 2、若它的右子树不空,则其右子树上的所有结点的值均大于它根结点的值; 3、它的左、右子树也分别为二叉查找树。
2014-02-28 09:35:28 1141
转载 程序员必知的8大排序(java实现)(四)(基数排序)
8、基数排序 (1)基本思想: 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。 (2)实例: (3)用java实现 import java.util.ArrayList;import java.util.List;publ
2014-02-28 09:34:06 693
转载 程序员必知的8大排序(java实现)(三)(冒泡+快速+归并)
5、冒泡排序 (1)基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 (2)实例: (3)用java实现 public class bubbleSort { public bubbleS
2014-02-28 09:33:04 706
转载 程序员必知的8大排序(java实现)(二)(堆排序)
4、堆排序 (1)基本思想: 堆排序是一种树形选择排序,是对直接选择排序的有效改进。 堆的定义如下:具有n个元素的序列(h1,h2,...,hn),当且仅当满足(hi>=h2i,hi>=2i+1)或(hi<=h2i,hi (2)实例: 初始序列:46,79,56,38,40,84 建堆: 交换,从堆中踢出最大数
2014-02-28 09:31:50 651
转载 程序员必知的8大排序(java实现)(一)(插入+希尔+简单选择)
8种排序之间的关系: 1、 直接插入排序 (1)基本思想: 在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例 (3)用java实现 public class insertSort { public inser
2014-02-28 09:30:14 696
转载 中缀表达式转换为前缀及后缀表达式并求值【摘】
它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。 举例: (3 + 4) × 5 - 6 就是中缀表达式 - × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式 中缀表达式(中缀记法) 中缀表达式是一种通用的算术或逻辑公式表示方法
2014-02-28 09:28:21 1455 1
转载 内连接与外连接的区别
(一)内连接 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的 列值。内连接分三种: 1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结 果中列出被连接表中的所有列,包括其中的重复列。 例,下面使用等值连接列出authors和publishers表中位于同一城市的作者和出版社: Java代码
2014-02-27 10:55:46 2203
转载 sql中的group by 和 having 用法解析
group by 有一个原则,就是 select 后面的所有列中,没有使用组函数的列,必须出现在 group by 后面。为什么有这个规则,因为,按group by进行分组的话,能够产生唯一的值,组函数,也叫多行函数,就是给我多条记录,我只会产生一个输出。因此,如果没出现在主函数的列里,也没出现在group by后面,那么,有可能那个字段产生不是唯一的值,就没法一一对应匹配 当
2014-02-27 10:54:59 1056
转载 数据库引擎
数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。 MYSQL的数据库引擎的类型 你能用的数据库引擎
2014-02-27 10:54:07 795
转载 提高数据库处理查询速度
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
2014-02-27 10:52:08 623
转载 数据库索引应用(ms-sql)
一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。 二、索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入、修改、删除等维护任务的速度 3.索引创建在表上,不能创建
2014-02-27 10:50:51 662
转载 SQL Server 存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。 一、存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可
2014-02-27 10:49:06 476
转载 JSP九大内置对象详解
JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception 1、request对象 request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器
2014-02-27 10:47:16 745
转载 JSTL标签库大全
JSTL简介: 标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. JSTL主要提供了5大类标签库: 1. 核心标签库: 为日常任务提供通用支持,如显示和设置变量,重复使用一组项目,测试条件以及其他操作(如导入和重定向web页面等). 2. 国际化(
2014-02-27 10:46:13 821
转载 JSP转发与重定向
1、请求转发允许把请求转发给同一引用程序中的其它Web组件,这种技术通常用于Web应用控制层的Servlet流程控制器,它检查HTTP请求数据,并将请求转发到合适的目标组件,目标组件执行具体的请求处理操作.并生成响应结果。 是在服务器端起作用,当使用forward()时, Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP
2014-02-27 10:41:53 3460
转载 jQuery选择器大全
在Dom 编程中我们只能使用有限的函数根据id 或者TagName 获取Dom 对象. 然而在jQuery 中则完全不同,jQuery 提供了异常强大的选择器用来帮助我们获取页面上的对象, 并且将对象以jQuery 包装集的形式返回。本文主要对常用的jQuery 选择器进行一个介绍及归类。 JQuery 选择器大体上可分为 4 类:基本选择器、层次选择器、过滤选择器、表单选择器。
2014-02-27 10:38:22 662
转载 js function定义函数的几种方法
js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用。 复制代码代码如下: function func(){} 或 var func=function(){}; 2.作为一个类构造器使用: 复制代码代码如下: function class(){} class.prototype={}; var item=new cla
2014-02-27 10:37:12 1467
转载 浅谈Ajax
1、关于AJAX的名字 ajax的全称是Asynchronous JavaScript and XML,其中,Asynchronous是异步的意思,它有别于传统web开发中采用的同步的方式。 2、AJAX工作原理 Ajax的原理就是:通过javascript的方式,将前台数据通过xmlhttp对象传递到后台,后台在接收到请求后,将需要的结果,再传回到前台,这样就...
2014-02-27 10:36:12 807
转载 单元测试
单元测试是软件测试的第一步,其详细描述如下: 第一,单元测试的主要任务。 单元测试针对每个程序的模块,主要测试5个方面的问题:模块接口、局部数据结构、边界条件、独立的路径和错误处理;如下图所示: (1)模块接口 这是对模块接口进行的测试,检查进出程序单元的数据流是否正确;模块接口测试必须在任何其它测试之前进行。
2014-02-27 10:33:29 1191
转载 每个程序员都应该知道的8个Linux命令
每个程序员,在职业生涯的某个时刻,总会发现自己需要知道一些Linux方面的知识。我并不是说你应该成为一个Linux专家,我的意思是,当面对linux命令行任务时,你应该能很熟练的完成。事实上,学会了下面8个命令,我基本上能完成任何需要完成的任务。 注意:下面的每个命令都有十分丰富的文档说明。这篇文章并不是来详尽的展示每个命令的各种功用的。我在这里要讲的是这几个最常用的命令的最
2014-02-27 10:31:14 726
原创 HTTP协议理解与应用总结
1、Request & Response Request格式 <request-line> 比如:GET /api/index.json HTTP/1.1 <headers> 比如:Accept: */*; User-Agent: Mozilla/4.0;…… <blank line> [<request-body>] 比...
2014-02-26 17:38:00 624
原创 TCP与UDP的特点和区别
面向连接的TCP TCP面向连接通信,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换 “面向连接”就是在正式通信前必须要与对方建立起连接。 TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。 TCP支持的应用协议:Telne...
2014-02-26 17:36:40 9290 1
转载 Eclipse 安装插件
本文介绍Eclipse插件的安装方法。Eclipse插件的安装方法大体有三种:直接复制、使用link文件,以及使用eclipse自带的图形界面的插件安装方法。 AD: 做为当下最流行的开源IDE之一,Eclipse的一大优势就在于其无数优秀的插件。一个好的插件可以大大的提高我们的工作效率,学习如何安装Eclipse插件自然也是必修课了。下面介绍Eclipse插件的安装方法。 Ec
2014-02-26 17:34:33 625
Acronis Disk Director Suitev10
2013-04-10
百度地图API
2013-04-10
Axis2部署的时候出现了以下异常
2015-04-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人