自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (11)
  • 收藏
  • 关注

转载 Tomcat的安装

本节将介绍Tomcat工作环境的安装、基本的启动与停止方法、JDK的安装与JVM性能调整、二进制版本的Tomcat安装以及从源代码安装Tomcat,最后讲解如何启动、停止和自动启动Tomcat,并进行安装的测试。1  安装准备在安装Tomcat之前必须先安装JDK。JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚

2014-02-18 11:51:04 933

转载 Struts2动态方法调用

动态方法调用在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多第一种方式:指定method属性这种方式我们前面已经用到过,类似下面的配置就可以实现method="chainAction">redirect  method="plainText">/WEB-INF/JspPage/ch

2014-02-16 12:27:40 570

原创 Struts2开发流程(详细步骤)

以Struts2输出最经典的“HelloWorld”为例:1.新建web项目新建名称为“Struts"的web工程,新建方法:File->New->Web Service Project->Profect Name中输入:Struts->点击Finish按钮完成新建。2.为项目添加Struts2的类库在Apache官方网站下载最新版本的Sruts2,网址:http://struts

2014-02-14 21:33:30 1214

转载 Struts2 XML配置详解

1.    深入Struts2的配置文件本部分主要介绍struts.xml的常用配置。1.1.    包配置:Struts2框架中核心组件就是Action、拦截器等,Struts2框架使用包来管理Action和拦截器等。每个包就是多个Action、多个拦截器、多个拦截器引用的集合。在struts.xml文件中package元素用于定义包配置,每个package元素定

2014-02-11 19:15:31 686

转载 Struts2 应用的开发步骤

上周刚用Struts2做了个简单的登录例子,下面对开发Struts 2应用的过程做一个总结。 Struts 2应用的开发步骤:(1)在web.xml文件中定义核心Filter来拦截用户请求。由于Web应用是基于请求/响应架构的应用,所以不管哪个MVC Web框架,都需要在web.xml中配置该框架的核心Servlet或Filter,这样才可以让该框架介入Web应用中

2014-02-11 18:25:23 570

转载 servlet文件操作

在JSP开发过程中,经常会遇到需要把相关内容存储为文件的情况,在JSP中是输入输出流进行操作的,在Servlet中叶可以使用输入输出流实现对文件的读写,同时使用Servlet还可以很方便地实现文件的上传下载。读取文件代码:package com.foxmail.xxy668;import java.io.BufferedReader;import java.io.File;impo

2014-02-06 18:59:54 577

转载 PreparedStatement的用法

jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm。 通过使用java.sql.prepare

2014-01-06 23:46:21 498

转载 从B树、B+树、B*树谈到R 树

从B 树、B+ 树、B* 树谈到R 树 作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。 第一节、B树、B+树、B*

2013-11-17 00:41:44 760

转载 浅谈C++多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。C++纯虚函数 一、定义  纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”   virtual void funtio

2013-11-16 01:13:04 515

原创 常用排序算法详解(7种算法原理及代码)

相关知识介绍1、稳定排序和非稳定排序简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。 比如:一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后为a1,a2,a4,a3,a5,则我们说这种排序是稳定的,因为a2排序前在a4的前面,排序后它还是在a4的前面。假如变a1,a4,

2013-11-15 00:01:41 923

原创 判断二叉树是否平衡二叉树

判断二叉树是不是平衡树,首先要求出树的左右子树的深度,如果二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。1.求二叉树的深度可参见二叉树深度。2.判断二叉树是否平衡有了求二叉树的深度的经验之后再解决这个问题,我们很容易就能想到一个思路:在遍历树的每个结点的时候,调用函数TreeDepth得到它的左右子树的深度。如果每个结点的左右子树的深度相差都不超过1,

2013-11-02 00:04:37 748

原创 二叉树深度

求二叉树的深度输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。二元树的结点定义如下:struct SBinaryTreeNode // a node of the binary tree{ int m_nValue; // value of node

2013-11-01 23:54:29 723

原创 已知二叉树前序和中序求后序

设某二叉树前序遍历为:ABCDEFGHI中序遍历为:BCAEDGHFI求该二叉树的后序遍历?因为二叉树前序遍历为:ABCDEFGHI,所以这棵树的根结点为A;又因为中序遍历为:BCAEDGHFI,所以这棵树的左子树为BC,右子树为EDGHFI;现在先看左子树中序遍历:BC,由前序遍历ABCDEFGHI,所以B为左子树的根结点;现看右子树中

2013-11-01 22:32:26 1570 1

转载 16.职责链模式

定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。类型:行为类模式类图:        首先来看一段代码:public void test(int i, Request request){ if(i==1){ Handler1.response(req

2013-11-01 16:58:59 427

转载 15.策略模式

定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图:       策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式,对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,

2013-11-01 16:56:26 499

转载 14.访问者模式

定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图:       访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下:class A { public void method1(){ System.ou

2013-11-01 16:54:30 461

转载 13.解释器模式

定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。类型:行为类模式类图:        解释器模式是一个比较少用的模式,本人之前也没有用过这个模式。下面我们就来一起看一下解释器模式。 解释器模式的结构抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接口中主要是一个interp

2013-11-01 16:42:20 430

转载 12.备忘录模式

定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态类型:行为类类图:        我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来

2013-11-01 16:40:31 501

转载 11.中介者模式

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构       中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子

2013-11-01 16:38:04 559

转载 10.观察者模式

定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图:        在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;再比如,我们要设计一个自动部署

2013-11-01 16:35:33 473

转载 9.迭代器模式

定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图:       如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:public static void print(Collection coll){ Iterator it = coll

2013-11-01 16:33:20 498

转载 8.命令模式

定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。类型:行为类模式类图:命令模式的结构        顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构:Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute

2013-11-01 16:31:20 399

转载 7.模版方法模式

定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图:        事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和

2013-11-01 16:29:53 431

转载 详解C++中static关键字

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:#includeusing namespac

2013-10-31 00:01:41 511

转载 设计模式中类的关系

在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1. 依赖(Dependence)         依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当

2013-10-29 23:09:48 443

转载 6.原型模式

定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clo

2013-10-29 12:57:33 519

转载 5.建造者模式

定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。类型:创建类模式类图:四个要素产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本类图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实现组成,也可以是由多个抽象类与他们的实现组成。抽象建造者:引入抽象

2013-10-29 12:54:17 596

转载 4.单例模式

定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:类图知识点:1.类图分为三部分,依次是类名、属性、方法2.以>结尾的为注释信息3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见。4.带下划线的属性或方法代表是静态的。5.对类图中对象的关

2013-10-29 12:49:50 500

转载 3.抽象工厂模式

定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别        抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,

2013-10-29 00:24:26 473

转载 2.工厂方法模式

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图:工厂方法模式代码interface IProduct { public void productMethod();}class Product implements IProduct { public void product

2013-10-29 00:21:27 375

转载 1.简单工厂模式

简单工厂模式解释:        简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式的UML图:        简单工厂模式中包含的角色及其相应的职责如下:

2013-10-29 00:12:18 447

转载 win7 64位 汇编环境搭建

最近在学习汇编与接口技术,但是在自己的机子上实验的时候,尴尬地发现我们的win 7 64位环境下,在DOS下竟然没有debug.exe,好不容易找到一个debu.exe,在DOS环境下调用,竟然是下面的结果:win7 64位和32位的debug.exe 不兼容。      就到网上找相关的解决办法,终于找到了一个很好的工具:DOSBOX。   一,下面就介绍下DOSBOX如

2013-10-28 22:52:26 1362

转载 经典字符串处理问题

字符串的搜索,匹配,查找,压缩,编码/解码,是一类非常常见的问题。(1) 压缩一个字符串当中的空格,例如把" I  like   csdn    "压缩成"I like csdn"。注意,单词之间的空格,N个空格要压缩到1个,也就是要减少N-1个空格。行首/行尾的空格全部去掉。     算法复杂度O(n),扫描一遍,在扫描的过程中记住当前已经有了多少个多余的空格(pos),然后把非空格的字

2013-10-25 23:14:18 755

转载 C语言条件编译及编译预处理阶段

一、C语言由源代码生成的各阶段如下:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件       其中 编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。       在C 语言中,并没有任何内在的机制

2013-10-23 20:53:57 458

转载 C++宏定义详解

一、#define的基本用法    #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析

2013-10-23 20:39:50 429

转载 char * const p与 char const * p 区别

char * const p 与 char const * p 。1)int * const p; p为指向字符变量的指针,地址不变,地址内容可变,从左往右读 "指针常量"。2)const int *p; p为指向字符变量的指针,地址可变,地址内容不变,从左往右读  "常量的指针"。3)const int* const p (指针不能变,指的量也不能变)4)*在const前表示指针

2013-10-23 19:53:22 921

转载 不开辟用于交换数据的临时空间,如何完成字符串的逆序

分析:对一个数据进行某种操作,然后进行这种操作的逆操作可以还原到本身。所以实现方  法是有多种的。以二进制操作速度最快。具体实现如下:#include #include void reverse(char *s){ int i = 0; int len = strlen(s); int j = len-1; while(i < j)

2013-10-16 22:11:42 747

转载 C++ static、const和static const 以及它们的初始化

const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。      static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员变量。一般类的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。      在C++中,sta

2013-10-16 21:22:25 399

转载 堆和栈的区别(转过无数次的文章)

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2013-10-16 20:19:03 417

原创 c++(重载、覆盖、隐藏)

成员函数的重载、覆盖与隐藏成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。8.2.1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与

2013-10-16 16:07:49 466

Java局域网聊天系统

用Java语言开发局域网聊天系统,实现私聊、群聊、窗口抖动、屏幕截图、文件传输等功能。

2013-10-19

Java画图板

用java语言做的画图板程序,带有实验报告。可以删除,有画笔,橡皮,线条,矩形,多边形,圆形,扇形,喷绘工具,并且可以设置字体的颜色,可以获取图片的路径。功能很齐全,界面美观。

2013-06-08

Eclipse开发环境及使用

详细说明Eclipse安装方法,有详细图解!

2012-07-19

TP-LINK无线路由器设置图解

该word文档中详细介绍了TP-LINK无线路由器设置并附有详细图解!

2012-07-19

C语言学生管理系统

C语言学生管理系统,常用的功能都有!

2012-07-02

八皇后问题

用VC开发的八皇后演示,界面完整,操作方便,适合用于课程设计和平时作业或自己学习了解八皇后!

2012-07-02

VC24点游戏

运用VC++6.0实现界面,24点经典游戏,可以用简单的算术表达式实现数值计算!

2012-07-02

xc_PRO11.msi

excel的分析工具库是十分好用的工具,但很多的精简版excel把他去掉了,本压缩包提供了安装分析工具库需要的所有文件

2012-06-27

VC++24点游戏

基于MFC的24点游戏,界面很漂亮,功能很全面,能满足初学者对MFC的初步学习

2012-03-11

VC++科学计算器

此计算器有一般计算和科学计算功能,有助于学者理解MFC框架!

2011-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除