自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (10)
  • 收藏
  • 关注

原创 同步异步阻塞非阻塞区别

同步(synchronous):同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步(asynchronous) :就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果

2017-04-18 14:09:22 256

原创 Reabble.com-KindleRSS新闻杂志订阅

Reabble.com-KindleRSS新闻杂志订阅TreeInsertionsTomcat部署war包后,运行时出现如下错误RectangularCoveringReabble.com-KindleRSS新闻杂志订阅

2017-04-18 14:09:18 989

原创 线程池ExecutorService

说到java开发,免不了跟多线程打交道。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外,还有关键的一点:有助于避免t

2017-04-18 14:09:15 304

原创 java程序操作Geometry对象

Geometry 空间地理对象,Oracle中存储Geometry对象的字段类型是 MDSYS.SDO_GEOMETRY,在数据库中构建Geometry对象的方法:v_pointarray MDSYS.sdo_ordinate_array;MDSYS.SDO_GEOMETRY(2003, 20131028, null,

2017-04-18 14:09:10 12125

原创 Spring中获取数据库表主键序列

在程序开发中,我们经常有写数据库表的操作,数据表中经常带有主键自增序列,如何获取自增序列。spring中提供了相应的类 DataFieldMaxValueIncrementer。  DataFieldMaxValueIncrementer 接口定义了3个获取下一个主键值的方法:  int nextIntValue():    获取下一个主键值,主键数据类型为int;  long nextLong

2017-04-18 14:09:06 962

原创 java学习:ArrayList的实现及原理

1. ArrayList概述:       ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增

2017-04-18 14:09:02 214

原创 MyBatis SQL动态装配

MyBatis的方便在于可以配置动态SQL,通过过滤器进行动态装配。在刚开始使用中,遇到不少问题,其中update语句也需要动态装配,核心在于DAO层要与.xml文件中的语句和变量名要匹配。例如:DAO层如下配置:public void updateByJid(@Param("objectResult")RBTaskScoreDO rbTaskScore, @Param("filterRu

2017-04-18 14:08:58 481

原创 Unsupported major.minor version 51.0解决方法

jdk1.6工程中使用外部jar包中类出现:Unsupported major.minor version 51.0问题原因:外部jar包使用jdk1.7(jdk7)编译,而使用此jar包的工程jdk版本为jdk1.6(jdk6),算是版本不支持。解决方法:将此jar包重新用jdk1.6(jdk6)编译级别编译或者整个工程用jdk6重新编译。

2017-04-18 14:08:54 417

原创 spring自动装配

spring提供了自动装配(autowiring)和自动检测(autodiscovery)用来减少XML的配置数量。自动装配bean属性byName——把与Bean的属性具有相同名字(或ID)的其他Bean自动装配到Bean的对应属性中。  示例:import com.springinaction.springdol.Instrumentalist;public c

2017-04-18 14:08:45 238

原创 装配bean

spring是一个基于容器的框架,从spring 3.0开始,spring容器提供了两种装配bean的方式,即XML作为配置文件和基于Java注解的配置方式。1.声明bean在XML文件中声明bean时,spring配置文件的根元素是来源于spring beans命名空间所定义的元素,以下是一个例子:xml version="1.0" encoding="UTF-8"?>bea

2017-04-18 14:08:41 185

原创 maven工程pom.xml文件解读

maven的核心是pom.xml,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述如何构建,声明项目依赖。以Hello World项目为例,创建一个hello-world的文件夹,里面新建一个pom.xml文件,内容如下:xml version="1.0" encoding="UTF-8"?>project xmlns="http://ma

2017-04-18 14:08:37 304

原创 深度优先遍历

求n个数的所有排列组合。#include "stdafx.h"#include int a[10], book[10], n;void dfs(int step){ int i; if(step == n+1) { for (i = 0; i) { printf("%d",

2017-04-18 14:08:33 256

原创 插入排序

插入排序是对少量元素进行排序的有效算法。就像打牌似的,我们摸到一手牌,要把他们按照从小到大的顺序进行排列。我们从第二张牌开始,跟它前面的牌进行对比,如果比它前面大,则放到后面,以此类推。。。 1 public static int[] InsertSort(int[] arr) 2 { 3 for(int j=1; j) 4

2017-04-18 14:08:30 207

原创 spring:bean的定义

一个完整的Bean的配置文件:xml version="1.0" encoding="utf-8"?>DOCTYPE beans PUBLIC "-//SPRING//DTD//BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">beans> 定义一个bean,id是这个bean的唯一标识,clas

2017-04-18 14:08:27 244

原创 maven工程引用外部jar包

maven工程经常回遇到引用外部jar包,需要先安装在jar包,然后再在工程中pom.xml文件中添加依赖。示例:命令行中运行:mvn install:install-file -Dfile=E:\SVN\roadtask\src\main\webapp\WEB-INF\lib\smartupload.jar -DgroupId=org.smartupload -DartifactId

2017-04-18 14:08:24 724

原创 C++字符转码

wchar_t* U8ToUnicode(char* szU8){ //UTF8 to Unicode //由于中文直接复制过来会成乱码,编译器有时会报错,故采用16进制形式 //char* szU8 = "abcd1234\xe4\xbd\xa0\xe6\x88\x91\xe4\xbb\x96\x00"; //预转换,得到所需空间的大小 in

2017-04-18 14:08:20 964

原创 nodejs:使用多处理器

nodejs是单线程,这意味着Node只能利用一个处理器来工作。但多数服务器都有多个核。好在nodejs提供了cluster模块,可以把任务分配给子进程。每个子进程有些特殊能力,比如能与其他子进程共享socket连接。当用cluster时,主进程不会参与每个具体的事务中,主进程管理所有的子进程,但当子进程与I/O操作交互时,它们是直接进程操作的,不需要通过主进程。一个简单的例子:var

2017-04-18 14:08:16 1416

原创 nodejs:express 4.x

最近学习express,最新的版本到了4.x,与之前的3.0版本相比,变化还是很大的。网上的教程很多都是基于3.0的,再编译一个例子的时候,吃了不少苦头。现总结一下express4.x的变化。安装:  安装就不用多说了,如果不想用最新的版本,安装之前的版本,$ npm install -g [email protected]与3.0具体的差别,看一下 Migrating from 3.x

2017-04-18 14:08:09 251

原创 java环境配置总结

最近接触java,在环境配置上费了不少劲。总结一下:1.首先安装jdk和Eclipse,jdk我安装的是1.6,Eclipse可以从官网下载:http://download.eclipse.org/;我下载的是eclipse-jee-indigo-SR2-win32-x86_64.zip,这个版本,因为要安装maven插件,试了其他几个版本,总是有问题。2.配置jdk环境变量。在pat

2017-04-18 14:08:06 349

原创 nodejs: 理解Buffer

学习nodejs中buffer这一章,有一段写到buffer的拼接,其中一段源码非常优美,特拿来与大家共享。var chunks = [];var size = 0;res.on('data', function(chunk){ chunks.push(chunk); size += chunk.length;});res.on('end', function(

2017-04-18 14:08:03 567

原创 nodejs:csv模块解析

Nodejs最大的特点就是基于事件驱动和异步并发操作。大多数人知道nodejs是用于网络后台服务的新平台,可以很方便的提供后台服务;除了用于网络开发外,其实nodejs对于线下文件并发处理也是很方便的,不同于C++、java,利用nodejs可以快速的搭建读写框架,实现文件处理操作。         本文介绍一种程序开发中常见文件格式(csv)的处理。在nodejs官网提供的开发包中,有很多关

2017-04-18 14:07:59 8807

原创 nodejs: C++扩展

Nodejs的C++扩展首先保证nodejs和v8都正确安装下载NodeJS源码,我的放在D盘。NodeJS的C++扩展要用VS2010开发,新建一个空的Win32控制台项目,右键——属性,在常规中将目标文件扩展名改为.node在C/C++,常规中,在附加包含目录中添加NodeJS包含目录 ,D:\nodejs\include在连接器——常规中的附加库目录中添加NodeJS的l

2017-04-18 14:07:54 929

原创 nodejs:入门

无意间接触了nodejs,之前一直学习C++,对网络语言没有根基。听老大说很好用,就学了起来。安装node 首先去node的官网http://nodejs.org下载安装包 。安装完以后,默认是在C盘,nodejs文件夹。运行-cmd,将运行目录切换到nodejs目录下, 控制台输入: node成功安装的话,你会看到一个>提示符,你就可以在里面直接输入javascript和

2017-04-18 14:07:44 198

原创 GIS开源库shapeLib的使用方法(二)

前面介绍了shape API,接下来介绍 dBF APIDBFOpen()DBFHandle DBFOpen( const char * pszDBFFile, const char * pszAccess ); pszDBFFile: The name of the xBase (.dbf) file to access. pszAccess: The fopen

2017-04-18 14:07:40 2498 1

原创 GIS开源库shapeLib的使用方法(一)

近期研究了一下GIS开源库shapeLib读写ArcGIS数据的API函数,先整理一下,将各个API的用法介绍一下。分为两个模块,shape API和DBF API,前者的读取.shp文件的空间几何信息,后者读取.dbf文件的属性信息。Shape API:Shape Types (shape类型)shape文件的类型定义如下:#define SHPT_NULL

2017-04-18 14:07:36 2177

原创 工厂模式

using System;using System.Collections.Generic;using System.Text;//工厂模式namespace designMode{ class LeiFeng { public void Sweep() { Console.WriteLine("扫地"); }

2017-04-18 14:07:32 131

原创 代理模式

using System;using System.Collections.Generic;using System.Text;//代理模式namespace designMode{ interface GiveGift { void GiveDolls(); void GiveFlowers(); void GiveChocolate();

2017-04-18 14:07:29 154

原创 装饰者模式

using System;using System.Collections.Generic;using System.Text;//装饰者模式namespace designMode{ class Person { public Person() { } private string name;

2017-04-18 14:07:26 161

原创 CLR自定义.NET控件制作(4)——鼠标消息的响应

当做到第三步的自定义视图时,采用的是将自己的视图直接覆盖原来的Control视图,由此引发了原有的Control捕获不到鼠标消息,因此我们需要增加一些方法来实现的消息响应。采用发送消息的方式,实现鼠标消息的响应,MyView.cpp文件的实现如下: 1 #include "stdafx.h" 2 #ifdef _DEBUG 3 #define new DEBUG_NEW 4 #

2017-04-18 14:07:22 357

原创 CLR自定义.NET控件制作(3)——自定义视图控件

当我们想要制作一个自己的视图控件时,就在在原控件视图上贴上我们自己的View, view可以随意开发,比如你开发一个View继承自CView,可以显示图片,影像,地图等。下面就以开发一个视图控件为例。首先,你先要在CLR工程中,添加一个纯C++ View类,例如我添加名字为MyView的类,头文件: 1 #pragma once 2 private class CMyView : pu

2017-04-18 14:07:18 384

原创 360进程管理器原理

看了360进程管理器,可以查看正在运行程序所依赖的动态库文件。但是我想把依赖的文件都提取出来,就写了下面的小程序。 private void button1_Click(object sender, EventArgs e) { string fileName = ""; string filePath =

2017-04-18 14:07:14 1125

原创 CLR自定义.NET控件制作(2)——添加自定义属性、方法和事件

第一节我讲了简单的自定义控件的生成,一个控件具备三项最基本的特性:属性、方法、事件。下面我就介绍如何给自定义控件添加自定义的属性、方法、事件。MyViewControl控件实际上是一个托管的类,他继承了System::Windows::Forms::UserControl,我们只需在MyViewControl.h中的MyViewControl类中添加相应的代码就OK了。自定义属性:pu

2017-04-18 14:07:07 815

原创 CLR自定义.NET控件制作(1)——制作简单的自定义控件

由于项目需要,最近一段时间一直研究.NET控件的制作,从开始对控件一无所知,到现在做出了自定义控件,收获颇丰,现将这段时间的收获及自定义控件的制作过程整理一下。自定义控件是由CLR工程生成的,微软提供了框架,开发者可以在上面添加自己定义的类型。首先我们新建一个CLR工程:这里选择建立windows窗体控件库,工程建立之后,发现windows自动生成了好多代码,这就是好处之一,生成的My

2017-04-18 14:07:01 881

原创 (一)CLR自定义.NET控件制作——制作简单的自定义控件

<br />自定义控件是由CLR工程生成的,微软提供了框架,开发者可以在上面添加自己定义的类型。首先我们新建一个CLR工程:<br /><br />这里选择建立windows窗体控件库,工程建立之后,发现windows自动生成了好多代码,这就是好处之一,生成的MyViewControl.h就是我们的自定义控件,双击打开出现一个Control视图,这相当于C#中的form窗体。<br />在工程编译生成之前,我们还要设置一下工程属性信息,在属性——配置属性——常规中,字符集选择“使用多字节字符集”,公共语言运

2011-05-17 22:45:00 544

原创 局域网内建立远程连接

局域网 远程连接 C++

2011-03-29 21:33:00 404

git使用简介

网上找到的git的中文资料,大部分是讲git的命令的使用,对于git的工作流程和如何实现团队合作的介绍少之又少,特别是对于团队代码库管理者的文档,几乎没有,这份文档将从开发者和管理者两方面介绍如何使用git进行团队合作开发。

2012-11-06

jQueryAPI.chm

jQueryAPI.chm函数介绍,使用实例。

2012-11-06

ArcGIS 9.3破解licence

ArcGIS 9.3破解licence,安装manager时,打开Arc_Info9.lic, 将SERVER后的电脑名改外本机电脑名保存。

2012-10-17

深入浅出Android

android开发入门,简单易学!实用!把你领入嵌入式开发的大门,了解最流行的android的奥秘。

2011-07-02

XMIExprt.dll

一、系统与软件 WINDOW XP;VISIO Professional 2003;ArcGIS 9.1 二、详细说明   从VISIO2003输出模型有两种方法,一是输出Repository到mdb文件中;二是输出到XMI文件中。第一种方式需要VISIO企业版支持,在大家常用的版本里面找不到这项功能,因此这里重点考虑输出为XMI文件的方式。   正常安装了VISIO2003后并没有输出XMI文件这个功能,需要到网上下载相应的程序进行扩充。因为对于2002和2003来说,需下载的工具是不同的,这个需要注意。XMIExprt.dll是适用于2003的,而XMIExport.dll适用于2002。(具体网址自己GOOGLE)   1、将XMIExprt.dll拷贝致VISIO安装目录下D:\Program Files\Microsoft Office\Visio11\DLL下。   2、在ArcGIS安装目录D:\Program Files\ArcGIS\CaseTools\Utilities下找到ESRI XMI Export.vsl文件,并将其拷贝致D:\Program Files\Microsoft Office\Visio11\2052下。   3、启动VISIO2003。在菜单工具-选项-高级-文件路径中设置加载项。选择D:\Program Files\Microsoft Office\Visio11\2052目录。(有时候要在安全性设置中的宏安全性设置为稍低级别)   此时就可以设计UML图并输出为XMI文件中了(操作菜单:工具-加载项-ESRI XMI EXPORT)。  最后就是在Catalog中利用schema wizard 将模型导入到Geodatabase中。有可能你在利用Schema wizard 的过程中你会发现工具出现错误!呵呵。如何处理呢,其实很简单,一定要将在D:\Program Files\ArcGIS\CaseTools\Utilities文件夹下面的uml.dtd拷贝到你输出XMI的文件里面。这样就一切OK了。 注:上面只是介绍了关键的两个问题,即XMIEXPORT工具的版本问题和uml.dtd文件一定要和XMI文件在一个文件中。 GOOD LUCK!

2010-09-25

ATL 开发指南 COM组建

《ATL开发指南》,一本适合学组建的网友的书,很实用,让你有一目了然的感觉,很多概念不再困惑,绝对的实用!!!让你不如组建的大门。

2010-07-17

UML with Rational Rose 从入门到精通

UML 介绍, Rational Rose 软件操作步骤详解,从入门到精通。有助于快速掌握软件操作画图!

2010-05-28

VC常见问题集(中文版)

收取了VC开发中遇到的很多经典的问题,是入门到进阶的好资料!!!

2010-05-20

Nehe经典OpenGL入门

经典的Nehe OpenGL开发手册,实用!

2009-12-09

windows组件入门

经典COM入门,简单实用。最适合菜鸟入门!快速掌握,详细实例讲解。

2009-12-09

空空如也

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

TA关注的人

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