适配器模式可将一个类的接口转换成调用方希望的另一个接口。这种需求往往发生在后期维护阶段,因此有观点认为适配器模式只是前期系统接口设计缺乏的一种弥补。从实际工程来看,并不完全这样,有时不同产商的功能类似但接口很难完全一样,而为了系统使用方式的一致性,也会用到适配器模式。...
分类:
编程语言 时间:
2016-05-12 19:19:18
阅读次数:
231
动态链接库dll: Dynamic-link Library
是一种不可执行的二进制程序文件,包含被可执行程序和其他dll调用的函数。
windows中最重要的dll:
Kernel32.dll:管理内存、进程、线程。
User32.dll:执行用户界面任务,比如窗口的创建和消息的传送。
GDI32.dll:画图和显示文本。
dll不是唯一的扩展名,如linux下常常是.so。
使用:
需要文件...
分类:
编程语言 时间:
2016-05-12 19:18:49
阅读次数:
209
1.1
基本数据结构
1.
数组
2.
链表,双向链表
3.
队列,单调队列,双端队列
4.
栈,单调栈
1.2
中级数据结构
1.
堆
2.
并查集与带权并查集
3. hash
表
自然溢出
双hash
1.3
高级数据结构
1.
树状数组
2.
线段树,线段树合并
3.
平衡树
Treap
随...
分类:
编程语言 时间:
2016-05-12 19:18:55
阅读次数:
371
算法描述:
从数组第二个元素开始向后扫描,将每个元素插到它前面所有元素的合适位置。
下面给出整数数组的实现,对于其他复杂类型只需实现相应的自定义比较函数即可:
#include
#include
using namespace std;
const int Num=20;
void exch(int* s,int a,int b)
{
int mid=s[a];
...
分类:
编程语言 时间:
2016-05-12 19:18:52
阅读次数:
174
#include
#include
#include
#include
using namespace std;
#define maxn 2000
#define base 10000
struct Bign
{
int c[maxn],len,sign;
//初始化
Bign(){memset(c,0,sizeof(c)),len = 1,sign = 0;}
//高位清零...
分类:
编程语言 时间:
2016-05-12 19:18:51
阅读次数:
240
Java Map存在于java.util包中,是一个集合类,常见的集合类还有List。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。
本文利用一张类图简述一个Map相关的组织结构。类图如下:
类图说明:
Map是一个顶级接口,从类图中可以看出主要包括了几个方法(部分)。SortedMap和ConcurrentMap接口继承自Map接口,从名字就能看出...
分类:
编程语言 时间:
2016-05-12 19:18:31
阅读次数:
190
set:
特点:无序的,长度可变的,不可重复的。
HashSet 的实现
对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap
来保存所有元素,因此 HashSet 的实现比较简单。
底层数据结构是 hash 表。
HashSet 保证元素的唯一性是通过元素的两个方法,hashCode 和 equals 来完成。...
分类:
编程语言 时间:
2016-05-12 19:16:50
阅读次数:
293
当前,市面上有《Java XX宝典》类似的图书,而且图书中的内容都着重在讲解Java最为基础的部分, 另外,网上也有各种各样的Java面试题,很多也是着重在Java语言基础上。实际上,如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构、算法、网络、操作系统等知识。因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发...
分类:
编程语言 时间:
2016-05-12 19:15:20
阅读次数:
182
package wjtest_01;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListSort {
@SuppressWarnings("unchecked")
public stati...
分类:
编程语言 时间:
2016-05-12 19:14:51
阅读次数:
173
监听键盘可以使用C语言的字符输入函数,例如 getchar、getch、getche 等,我们会在《结合缓冲区谈谈C语言getchar()、getche()、getch()的区别》一节中重点讲解它们的区别。
使用getche函数监听键盘的例子:
#include #include int main(){ char ch; int i = 0; //循环监听,直到按...
分类:
编程语言 时间:
2016-05-12 19:14:54
阅读次数:
242
1.1:各种注解
@SuppressWarnings("restriction")
指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。
@SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,您就可以添加一个 @SuppressWarnings
...
分类:
编程语言 时间:
2016-05-12 19:14:15
阅读次数:
300
1、编译期Swift版本检测
#if swift(>=3.0)
print("Running Swift 3.0 or later")
#else
print("Running Swift 2.2 or earlier")
#endif
它和Swift2中介绍过的#available表达式不同,#available表达式是运行时检查,#if swift(>=3.0)... #else...
分类:
编程语言 时间:
2016-05-12 19:12:26
阅读次数:
268
在进行一些功能开发的时候,我们常常将一些能够复用的对象制作成.prefab的预设物体,然后将预设体存放到Resources目录之下,使用时再动态加载到场景中并进行实例化。例如:子弹、特效甚至音频等,都能制作成预设体。
一、预设动态加载到场景:
一个预设体要能够通过代码控制在场景中进行显示,需要三个步骤,这里我们以动态加载怪物血条为例子分析一个常见的误区:
1.预设体资...
分类:
编程语言 时间:
2016-05-12 19:12:12
阅读次数:
1190
java的异常处理机制可以使程序中的异常处理代码与正常业务代码分离,保证程序代码更加优雅,并可以提高程序的健壮性。
在try{} catch(){} 异常处理机制中,try发生的异常对象会被提交到java的运行环境,叫做抛出异常,运行环境会寻找处理该异常的catch块,如果找到,则称为捕获异常,若没有找到合适的catch,则运行时环境终止,程序也将终止
Error和Exception:
ja...
分类:
编程语言 时间:
2016-05-12 19:10:45
阅读次数:
248
JSP概述
JSP的设置
JSP页面的注释
JSP的指令元素
JSP的内置对象(9个)
JSP的标签
JSP常用标签
JavaBean和内省
JavaBean的属性
在JSP中使用JavaBean
内省(Introspector)
beanutils工具包
EL表达式
EL注意事项
EL获取(域对象中的)数据
EL执行运算
获取WEB开发中的对象...
分类:
编程语言 时间:
2016-05-12 19:11:15
阅读次数:
312
简介:Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,要注意的一点是,服务端、客户端都是使用Spring框架(从别人的博客了解的,我的也是基于这个理解,从上面这段话可以看出,首先是远程调用,所以就有远程调用者(客...
分类:
编程语言 时间:
2016-05-12 19:07:21
阅读次数:
259
Collection是一个顶层的接口,在集合类中还有Map也属于顶层接口(参考Java集合类之Map探究),本文通过一张类图描述List和Set的基本结构。
类图解析:
Collection是一个顶层的接口,定义了一系列方法,List和Set是继承自Collection的接口。
每个Collection都可以产生一个Iterator(参考Java iterator与ite...
分类:
编程语言 时间:
2016-05-12 19:05:42
阅读次数:
212