转载
文章平均质量分 66
Pluser
iStudy, iSport, iMusic, iLife ^_^
展开
-
Servlet之间的跳转
1. 转向(Forward) 转向(forward)是通过RequestDispatcher对象的forward(HttpServletRequest request, HttpServletResponse response)来实现的。示例如下:RequestDispatcher dispatcher = request.getRequestDi转载 2013-12-07 09:58:36 · 1060 阅读 · 0 评论 -
使用私有构造方法或者枚举类型实现单例
单例(Singleton)是指只实例化一次的类。单例表示本质上唯一的系统组件,例如文件系统或者窗口管理器。package com.googlecode.javatips4u.effectivejava.singleton; public class StaticFinalFieldSingleton { public static final StaticFinalF转载 2013-03-13 19:47:13 · 2236 阅读 · 0 评论 -
实现一个无法被继承的C++类
一个类不能被继承,也就是说它的子类不能构造父类,这样子类就没有办法实例化整个子类从而实现子类无法继承父类。我们可以将一个类的构造函数声明为私有,使得这个类的构造函数对子类不可见,那么这个类也就不能继承了。但是,这引出一个问题,客户程序岂不是也无法实例化这个类了?OK,让我们参考一下Singleton模式,用一个static函数来帮助创建这个类的实例,问题就解决了!class CPare转载 2012-12-17 22:10:01 · 791 阅读 · 0 评论 -
一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
思路:先从index=0处搜索,每检查一颗珠子,响应的颜色数量+1,如果是新的颜色则总颜色数+1. 当颜色总数为n时,找到第一个满足条件的连续序列。 1>从该序列起始处搜索,若搜索处的颜色数量不为1,则表明该串还有别的珠子有该颜色,继续往前搜索并更新该序列,起始索引位置+1.转载 2012-12-15 22:18:38 · 5261 阅读 · 1 评论 -
Qt-----给Qt程序添加启动动画
一些应用程序启动很慢时,一般会在启动时显示一个画面,利用这种方法可以让程序启动时间不那么长。给Qt应用程序加一个启动画面很简单,需要使用的类是QSplashScreen,在窗口没有显示之前,QSplashScreen显示一个图片,他还可以在图片上显示文字信息提示用户当前程序初始化的进度。一般情况下,启动画面代码在main()函数中,加在调用QApplication::exec()之前 具体转载 2012-11-24 09:05:14 · 1165 阅读 · 0 评论 -
修改Qt程序的图标
windows环境下,在默认情况编译后生的可执行文件图标总是一个白色的小窗口,感觉不是很好看下面就说一下可执行文件的图标修改方法,如下:首先准备个ICO图标。例如:myappico.ico用记事本新建个文件里面就写一行:IDI_ICON1 ICON DISCARDABLE "myappico.ico"保存改名为 myapp.rc并把它和你的图标myappico.ic转载 2012-11-27 19:24:21 · 808 阅读 · 0 评论 -
并查集
1、 概述并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。2、 基本操作并查集是一种非常简单的数据结构,它主要涉及两个基本操作,分别为:A. 合并两个不相交集合B. 判断两个元素是否属于同一个集合(1) 合并两个不相交集合(Union(x,y))转载 2012-10-22 20:36:18 · 603 阅读 · 0 评论 -
进程间的通信方式
进程间的通信方式 1、Windows消息传输对象 当开发界面程序时,特别是windows界面编程,消息尤为重要;相信开发过windows界面程序的人们,对PostMessage(),SendMessage(),PostThreadMessage()不是很陌生,各个窗口基本上都可以通过这三个函数实现各种消息的传递,从面达到各个窗口之间的通信;窗口可以通过这三个函数向转载 2012-10-21 16:15:20 · 1252 阅读 · 0 评论 -
C中的位域
位域(位段)====节省空间,常在单片机编程中使用有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作转载 2012-10-22 10:42:12 · 701 阅读 · 0 评论 -
大端小端(Big- Endian和Little-Endian)
在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先 从字节序说起。 一转载 2012-10-16 07:48:45 · 767 阅读 · 0 评论 -
OSI/ISO七层参考模型及各层的功能和协议
物理层 物理层是OSI/ISO的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。 物理层的主要功能 为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在转载 2012-10-11 09:42:20 · 9942 阅读 · 0 评论 -
TCP/IP 三次握手
TCP/IP模型如下图所示:1.首先客户端通过向服务器端发送一个SYN来建立一个主动打开,作为三路握手的一部分。(同步位为1)2. 然后服务器端应当为一个合法的SYN回送一个SYN/ACK。(同步位和确认位都为1)3. 最后,客户端再发送一个ACK。这样就完成了三路握手,并进入了连接建立状态。(确认位位1)为了更好的使大家了解这一过程,我们通过抓包试验来具体分析。我转载 2012-10-11 09:50:41 · 1110 阅读 · 0 评论 -
java中HashMap详解
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。通过 HashMap、转载 2013-03-19 02:08:11 · 2750 阅读 · 0 评论 -
SVG 坐标转换
SVG 坐标转换此主题将介绍与 getScreenCTM() 方法关联的 SVG 坐标转换。SVG 坐标和转换这个题目非常广。你可以从 W3C SVG 规范中找到有关该题目的基本信息 – 尤其是坐标系统、转换和单位。本主题将介绍与 SVG 坐标关联的尤为致命问题 – 将屏幕坐标点(从技术上讲为初始视区坐标系统)映射到与任何给定 SVG 元素关联的坐标系统(从技术上讲转载 2013-06-01 16:45:58 · 2650 阅读 · 0 评论 -
SVGPan: a Javascript SVG (Viewer) Pan/Zoom/Drag library
http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/SVGSPN.JS:/** * SVGPan library 1.2.1 * ====================== * * Given an unique existing element w转载 2013-05-31 10:05:22 · 4082 阅读 · 0 评论 -
html5指南--拖拽功能的实现
本文的内容是关于在html5中如何实现html元素拖拽功能。在html5之前要实现拖拽,需要借助js,现在html5内部就支持了拖拽的功能,但是要实现稍微复杂的功能还是少不了js的帮忙。下面我们看几个例子。 1.创建拖拽对象 我们可以通过draggable属性告诉浏览器,哪些元素需要实现拖拽功能。draggable有三个值:true:元素可以被拖拽;false:元素不能被拖拽;auto转载 2013-03-28 09:26:55 · 1179 阅读 · 0 评论 -
HTML中id、name、class 区别
HTML 中 id与name 区别一个name可以同时对应多个控件,比如checkbox和radio而id必须是全文档中唯一的id的用途 1) id是HTML元素的Identity,主要是在客户端脚本里用。2) label与form控件的关联,如 label for="MyInput">My Input转载 2013-03-20 11:57:34 · 1001 阅读 · 0 评论 -
JS添加/绑定事件监听函数并传参数attachEvent和addEventListener兼容个浏览器
* * 添加事件监听函数 *obj 要添加监听的对象或元素 * eventName 事件名 *fun 监听函数的名称 *param 给监听函数传的参数,这里就传了一个参数 *functionaddEventHandler(obj,eventName,fun,param=''){ var fn =fun; if(pa转载 2013-03-30 13:54:02 · 4263 阅读 · 0 评论 -
01背包、完全背包、多重背包、混合三种背包问题
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f转载 2012-03-20 20:20:13 · 1119 阅读 · 0 评论 -
STL实现的底层数据结构简介
C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限转载 2012-05-06 09:31:29 · 774 阅读 · 0 评论 -
康托展开
来自百度百科:X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,a为整数,并且0康托展开的公式 把一个整数X展开成如下形式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[2]*1!+a[1]*0! 其中,a为整数,并且0<=a[i]<转载 2012-05-07 16:59:57 · 2403 阅读 · 0 评论 -
Qt 无边框、透明、可移动、的个性窗体案例详解
很多朋友都问透明的效果怎么做,为什么自己做的无边框窗体不可移动,一个个回答的很累,干脆写出来分享下好了,我只用代码说话。 main.cppint main(int argc, char *argv[]){ QApplication::setStyle("cleanlooks"); QApplication a(argc, argv); login转载 2012-08-14 16:15:06 · 1269 阅读 · 0 评论 -
QT设置QPushButton的Text字体颜色
调色板类QPalette QPalette类包含了Qt窗口不见的颜色组(collor group);1.Active组,该组的颜色用户当前活动的(active)窗口,即具有键盘或鼠标焦点的窗口;2.Inactive组,该组用语其他的窗口;3.Disabled组,该组用语窗台为不可用的(disabled)的子窗口部件(不包含窗口).所有Qt窗口部件都拥有一个调色板并使用它绘制转载 2012-03-05 16:18:04 · 25820 阅读 · 3 评论 -
C++ 泛型 理解
为什么泛型泛型编程(Generic Programming)最初提出时的动机很简单直接:发明一种语言机制,能够帮助实现一个通用的标准容器库。所谓通用的标准容器库,就是要能够做到,比如用一个List类存放所有可能类型的对象,这样的事情;熟悉一些其它面向对象的语言的人应该知道,如Java里面这是通过在List里面存放Object引用来实现的。Java的单根继承在这里起到了关键的作用。然而单根继承对转载 2012-07-23 09:32:06 · 1123 阅读 · 0 评论 -
C++中Overload、Overwrite及Override的区别
Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。Override(覆盖):是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相转载 2012-05-23 20:27:31 · 2103 阅读 · 0 评论 -
C++类型转换操作符之间的区别
传统C语言的内部类型转换: C语言传统的转化很简单。 比如: double d=5.0; int a=(int)d; 这个感觉和java差不多。C++有四个内部类型转换操作符:const_cast,reinterpret_cast,static_cast,dynamic_cast。const_cast 用法:const_cast转载 2012-07-08 18:08:12 · 853 阅读 · 0 评论 -
MFC界面避免闪烁问题
本文是我在做MFC贪吃蛇时所学到的。大家可以通过我那篇MFC贪吃蛇的代码一起来理解更为好些。我做的界面是每隔多少秒来刷新一次,虽然用了双缓冲,但是还要OnEraseBkgnd消息函数的帮忙。因为每次调用OnPaint()或OnDraw()函数时,他会自动刷新背景哦,所以界面还是有点闪烁的。而这个消息函数正好解决了这个问题,而这2方面的资料如下所写的,都是我百度找的很转载 2011-11-17 17:08:52 · 8663 阅读 · 0 评论