- 博客(35)
- 资源 (10)
- 收藏
- 关注
原创 同步异步阻塞非阻塞区别
同步(synchronous):同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步(asynchronous) :就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果
2017-04-18 14:09:22
268
原创 Reabble.com-KindleRSS新闻杂志订阅
Reabble.com-KindleRSS新闻杂志订阅TreeInsertionsTomcat部署war包后,运行时出现如下错误RectangularCoveringReabble.com-KindleRSS新闻杂志订阅
2017-04-18 14:09:18
998
原创 线程池ExecutorService
说到java开发,免不了跟多线程打交道。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外,还有关键的一点:有助于避免t
2017-04-18 14:09:15
315
原创 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
12210
原创 Spring中获取数据库表主键序列
在程序开发中,我们经常有写数据库表的操作,数据表中经常带有主键自增序列,如何获取自增序列。spring中提供了相应的类 DataFieldMaxValueIncrementer。 DataFieldMaxValueIncrementer 接口定义了3个获取下一个主键值的方法: int nextIntValue(): 获取下一个主键值,主键数据类型为int; long nextLong
2017-04-18 14:09:06
979
原创 java学习:ArrayList的实现及原理
1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增
2017-04-18 14:09:02
223
原创 MyBatis SQL动态装配
MyBatis的方便在于可以配置动态SQL,通过过滤器进行动态装配。在刚开始使用中,遇到不少问题,其中update语句也需要动态装配,核心在于DAO层要与.xml文件中的语句和变量名要匹配。例如:DAO层如下配置:public void updateByJid(@Param("objectResult")RBTaskScoreDO rbTaskScore, @Param("filterRu
2017-04-18 14:08:58
499
原创 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
428
原创 spring自动装配
spring提供了自动装配(autowiring)和自动检测(autodiscovery)用来减少XML的配置数量。自动装配bean属性byName——把与Bean的属性具有相同名字(或ID)的其他Bean自动装配到Bean的对应属性中。 示例:import com.springinaction.springdol.Instrumentalist;public c
2017-04-18 14:08:45
246
原创 装配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
195
原创 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
317
原创 深度优先遍历
求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
264
原创 插入排序
插入排序是对少量元素进行排序的有效算法。就像打牌似的,我们摸到一手牌,要把他们按照从小到大的顺序进行排列。我们从第二张牌开始,跟它前面的牌进行对比,如果比它前面大,则放到后面,以此类推。。。 1 public static int[] InsertSort(int[] arr) 2 { 3 for(int j=1; j) 4
2017-04-18 14:08:30
217
原创 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
255
原创 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
738
原创 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
985
原创 nodejs:使用多处理器
nodejs是单线程,这意味着Node只能利用一个处理器来工作。但多数服务器都有多个核。好在nodejs提供了cluster模块,可以把任务分配给子进程。每个子进程有些特殊能力,比如能与其他子进程共享socket连接。当用cluster时,主进程不会参与每个具体的事务中,主进程管理所有的子进程,但当子进程与I/O操作交互时,它们是直接进程操作的,不需要通过主进程。一个简单的例子:var
2017-04-18 14:08:16
1439
原创 nodejs:express 4.x
最近学习express,最新的版本到了4.x,与之前的3.0版本相比,变化还是很大的。网上的教程很多都是基于3.0的,再编译一个例子的时候,吃了不少苦头。现总结一下express4.x的变化。安装: 安装就不用多说了,如果不想用最新的版本,安装之前的版本,$ npm install -g express@34.0与3.0具体的差别,看一下 Migrating from 3.x
2017-04-18 14:08:09
269
原创 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
363
原创 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
581
原创 nodejs:csv模块解析
Nodejs最大的特点就是基于事件驱动和异步并发操作。大多数人知道nodejs是用于网络后台服务的新平台,可以很方便的提供后台服务;除了用于网络开发外,其实nodejs对于线下文件并发处理也是很方便的,不同于C++、java,利用nodejs可以快速的搭建读写框架,实现文件处理操作。 本文介绍一种程序开发中常见文件格式(csv)的处理。在nodejs官网提供的开发包中,有很多关
2017-04-18 14:07:59
8873
原创 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
942
原创 nodejs:入门
无意间接触了nodejs,之前一直学习C++,对网络语言没有根基。听老大说很好用,就学了起来。安装node 首先去node的官网http://nodejs.org下载安装包 。安装完以后,默认是在C盘,nodejs文件夹。运行-cmd,将运行目录切换到nodejs目录下, 控制台输入: node成功安装的话,你会看到一个>提示符,你就可以在里面直接输入javascript和
2017-04-18 14:07:44
201
原创 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
2547
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
2249
原创 工厂模式
using System;using System.Collections.Generic;using System.Text;//工厂模式namespace designMode{ class LeiFeng { public void Sweep() { Console.WriteLine("扫地"); }
2017-04-18 14:07:32
136
原创 代理模式
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
159
原创 装饰者模式
using System;using System.Collections.Generic;using System.Text;//装饰者模式namespace designMode{ class Person { public Person() { } private string name;
2017-04-18 14:07:26
167
原创 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
363
原创 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
393
原创 360进程管理器原理
看了360进程管理器,可以查看正在运行程序所依赖的动态库文件。但是我想把依赖的文件都提取出来,就写了下面的小程序。 private void button1_Click(object sender, EventArgs e) { string fileName = ""; string filePath =
2017-04-18 14:07:14
1143
原创 CLR自定义.NET控件制作(2)——添加自定义属性、方法和事件
第一节我讲了简单的自定义控件的生成,一个控件具备三项最基本的特性:属性、方法、事件。下面我就介绍如何给自定义控件添加自定义的属性、方法、事件。MyViewControl控件实际上是一个托管的类,他继承了System::Windows::Forms::UserControl,我们只需在MyViewControl.h中的MyViewControl类中添加相应的代码就OK了。自定义属性:pu
2017-04-18 14:07:07
830
原创 CLR自定义.NET控件制作(1)——制作简单的自定义控件
由于项目需要,最近一段时间一直研究.NET控件的制作,从开始对控件一无所知,到现在做出了自定义控件,收获颇丰,现将这段时间的收获及自定义控件的制作过程整理一下。自定义控件是由CLR工程生成的,微软提供了框架,开发者可以在上面添加自己定义的类型。首先我们新建一个CLR工程:这里选择建立windows窗体控件库,工程建立之后,发现windows自动生成了好多代码,这就是好处之一,生成的My
2017-04-18 14:07:01
891
原创 (一)CLR自定义.NET控件制作——制作简单的自定义控件
<br />自定义控件是由CLR工程生成的,微软提供了框架,开发者可以在上面添加自己定义的类型。首先我们新建一个CLR工程:<br /><br />这里选择建立windows窗体控件库,工程建立之后,发现windows自动生成了好多代码,这就是好处之一,生成的MyViewControl.h就是我们的自定义控件,双击打开出现一个Control视图,这相当于C#中的form窗体。<br />在工程编译生成之前,我们还要设置一下工程属性信息,在属性——配置属性——常规中,字符集选择“使用多字节字符集”,公共语言运
2011-05-17 22:45:00
557
git使用简介
2012-11-06
ArcGIS 9.3破解licence
2012-10-17
XMIExprt.dll
2010-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人