自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

转载 Memcache的操作命令

Memcache可以通过yum install memcache方式进行安装,安装完成后无需什么配置就可以参考文章启动memcache服务http://blog.webshuo.com/2011/02/14/memcache%E9%85%8D%E7%BD%AE%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7/1. /usr/local/bin/memecached

2012-12-04 16:58:12 732

原创 Spring中的@Autowired

Spring中的@Autowired和@Resource都可以用来装配Bean,实现注释型的IOC(可以用在类的成员变量,构造函数或方法上),但两者却有一些区别:1,@Autowired是Spring中的(import org.springframework.beans.factory.annotation.Autowired),而@Resource是Javax中的(import javax.

2012-11-27 20:46:08 5019

转载 Maven的一些基础命令

Maven的一些常用命令             mvn archetype:create :创建 Maven 项目             mvn compile :编译源代码             mvn test-compile :编译测试代码             mvn test : 运行应用程序中的单元测试             mvn site : 生成项目

2012-11-21 12:24:59 637

原创 一个Spring + Json异常的问题

Spring可以轻易实现在Controller中将一个对象转成Json放在ResponseBody中返回,如下:@RequestMapping(value = "/getqbankrecord/{qbId}/{id}", method = RequestMethod.GET)@ResponseBodypublic QuestionRecord getQuestionBankRecord

2012-11-20 23:17:13 11699

原创 mysql的存储过程

一些测试场景的执行往往需要先往DB中注入一些测试数据,一般可以通过sql脚本来实现关于mysql存储过程的介绍可以参考http://tech.huweishen.com/weihu/1722.html,以下是自己写的一个简单例子drop procedure if exists init_QB_Static_Info;delimiter //create procedure i

2012-11-18 20:24:04 684

原创 利用LinkedHashMap简单实现基于LRU策略的缓存

为了提高访问效率,对资源的访问一般会考虑采取一定的缓存策略。基于访问时间的缓存策略:LRU (LeastRecentlyUsed)是一种应用广泛的缓存算法。该算法维护一个缓存项队列,队列中的缓存项按每项的最后被访问时间排序。当缓存空间已满时,将处于队尾即删除最后一次被访问时间距现在最久的项,将新的区段放入队列首部。缓存一般也是会被多线程访问,需要考虑线程访问安全问题,对于为考虑多线

2012-11-18 15:35:07 1400 1

原创 Spring + JUnit进行单元测试

单元测试对于软件开发的质量至关重要,使用Spring的测试框架可以很方便的与JUnit集成,进行单元测试方法也非常简单,新建一个继承于AbstractJUnit4SpringContextTests的测试类,利用下面一些Annotation即可完成单元测试工作,非常简单@ContextConfiguration    ---->  指定Context配置文件的路径(  {

2012-11-18 10:46:02 775

原创 MySQL Workbench中列标志的含义

MySQL Workbench提供了一个可视化的数据库表结构定义功能,但对下面这些列标志的含义有些模糊查了一下这些标志的含义大致如下:PK - Primary KeyNN - Not NullUQ - Create/remove Unique KeyBIN - BinaryUN - UnsignedZF - Zero-Fill

2012-11-17 22:49:08 2811

原创 Spring中使用properties配置

Spring中bean的属性值一般使用xml配置方式注入,比properties配置要复杂一些,有时候宁愿用properties来配置一些值,故简单介绍一下如何在Spring中使用properties配置参考文档:http://www.blogjava.net/wmcoo/articles/333345.html1.在项目中新增一个配置数据类ServiceConfig,通过

2012-11-15 16:44:39 1725

转载 【转】Crontab使用说明

还没有完全验证以下内容,转过来先收藏着,以方便做一些定时提醒,免得自己老是忘了时间原文地址:http://blog.csdn.net/ethanzhao/article/details/4406017基本格式 :*  *  *  *  *  command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示

2012-11-10 09:44:17 561

原创 一个Fedora启动问题的解决

真够惨的,忙得连觉都睡不好了,今天上午这个机器居然罢工了,只要一输入登录用户名就直接提示Login incorrect查了一下启动信息,发现有和libfreebl3.so相关的错误,估计今天yum 升级的时候nss-softokn出问题了导致1, 找来系统安装盘,通过光驱启动进入修复模式,并根据提示将系统mount到/mnt/sysimage上;2,在shell界面下,

2012-11-09 15:04:16 912

原创 ThreadPoolExecutor + RabbitMQ

对于一个基于消息驱动的应用,线程池和消息队列总是少不了的。线程池ThreadPoolExecutor是Java自带的,利用线程池来生产/消费消息。消息队列有很多选择,这里先尝试一下RabbitMQ1,安装RabbitMQ服务yum install erlangyum install rabbitmq-server因为RabbitMQ是Erlang开发的,故安装过程将安装

2012-11-08 16:03:01 1659 1

原创 java.lang.NoClassDefFoundError问题

Java程序员经常被运行时的java.lang.NoClassDefFoundError搞得焦头烂额,产生这个问题的原因显然是Java的类加载器没有找到相关类的定义这里就先举一个实际问题的例子[root@cat Work]# java -classpath /mnt/data/Work/TestRabbitMQ/lib/rabbitmq-client.jar -jar TestRa

2012-11-08 14:07:01 13394

原创 Spring + Mybatis + Tomcat环境

1,环境准备在WEB-INF目录下新建lib目录,将依赖的jar包放到该目录下mybatis相关包的下载地址:http://code.google.com/p/mybatis/downloads/listDBCP数据源相关包的下载地址:http://commons.apache.org/dbcp/download_dbcp.cgi  http://commons.apache.

2012-11-06 22:18:47 1638

原创 Mysql安装配置

1,安装mysql服务yum install mysql mysql-server查看mysql版本信息 : yum list mysql mysql-server安装完成后,配置文件路径:/etc/my.cnf2,启动mysql服务,并配置为随系统自启动systemctl start mysqld.servicesystemctl enable mysqld.

2012-11-06 14:13:38 417

原创 Nginx + Tomcat环境

一,Nginx安装1,建立用户和用户组#groupadd www#useradd -g www -s /sbin/nologin www2,下载pcre,openssl,nginx和nginx_upstream_jvm_route的源码3,编译安装Nginxcd /opt/nginxpatch -p0 ./configure --prefix=/

2012-11-04 21:29:06 965

原创 Spring 3.1.X 源码编译

这里以Spring 3.1.X版本为例介绍,Spring 3.2版本的编译与3.1.X有些不同1,获取源码有两种方式可以获取Spring的源码,a)直接下载spring-framework-3.1.3.RELEASE-with-docs.zip包,b)通过git获取版本代码git clone [email protected]:/spring-framework.git

2012-11-02 19:29:18 1192

原创 Spring Web MVC入门(一) 生命起源

1,Spring Web MVC的逻辑结构其他Web MVC框架结构类似,通过请求访问驱动,围绕一个中心Servlet工作,该Servlet负责分派请求到控制器Controllers并提供其他功能。Spring's DispatcherServlet实现这个中心Servlet的角色,即下图中的Front Controller2,Spring容器的创建Spring W

2012-11-02 09:02:48 590

原创 申请Google Map API Key

开发Android应用程序,如果使用到GoogleMaps,须先向Google申请一组经过验证的Android Maps API Key,这组Key可以在多个应用程序中使用。1,申请Android Maps API Key前,需先从开发环境中取得keystore的MD5编码,然后通过Google网站的签署,便可获得debug.keystore文件路径可由Eclipse IDE中“W

2012-09-21 21:19:18 722

原创 JSON-RPC,XML-RPC,SOAP

一,JSON-RPChttp://www.json.org/json-zh.htmlhttp://en.wikipedia.org/wiki/JSON-RPCJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Stan

2012-09-20 15:49:23 1828

原创 TWiki安装配置

使用Wiki来管理文档是一种不错的方法,这里记录一下安装和配置TWiki的过程,参考材料http://wiki.yfang.cn/bin/view/Ywiki/Twiki%E5%AE%89%E8%A3%85%E6%94%BB%E7%95%A5http://www.twiki.org/cgi-bin/view/TWiki/TWikiInstallationGuide#Basic_Installa

2012-09-20 11:16:20 1714 1

原创 Android NDK入门(三)-- native代码的调试方法

随着NDK中的编写的C/C++代码越来越复杂,对这块native代码的调试必不可少1,日志方式:在C/C++文件中包含日志头文件#include 通过LOG_TAG定义模块名称#ifndef LOG_TAG#define LOG_TAG "morsecodetool"#endif打印日志方法__

2012-09-13 22:16:46 814

原创 Android NDK入门(二) -- STL

C++程序员基本上都会使用STL,幸好自从Android NDK r5开始就支持STL,只需在自己的工程中配置一下即可使用1,jni/Android.mk文件增加如下两行LOCAL_C_INCLUDES := /opt/android/android-ndk-r8b/sources/cxx-stl/stlport/stlportLOCAL_LDLIBS    := -L$(

2012-09-09 23:43:26 945

原创 系统设计文档写作大纲简要

对于希望不断取得进步的人要是身边有个良师益友是最好不过,但这种条件可遇而不可求;如果没有这种条件,不断总结自己的经验和教训也是一种取得进步的方法。离开工作岗位已经快2个月了,回顾一下之前写系统设计文档时候的一些写作大纲,也许以后还用得着吧1,  系统概述介绍系统的应用背景和作用,说明为什么需要该系统,突出系统的价值和重要性2,系统介绍系统在整个网络中的位置和该系统与

2012-09-07 10:36:15 1427

原创 JAVA JNI传递数据结构/类的例子

java通过JNI向C/C++传递基本数据类型比较简单,但基本数据类型很难满足应用程序开发的需要,心想要是能传递一个数据结构/类就好了。于是通过下面例子实验了通过JNI传递数据结构/类也是OK的1,定义一个用于测试的数据类(很简单,没有成员方法)package com.rain.test;public class testclass { public int iValue; p

2012-09-04 22:57:14 1148

原创 Android NDK入门(一) -- HelloWorld

因为自己一直都是一个C/C++的程序者,所以即使开始学习Android,也是很快就想搞明白NDK的使用:) 所实话,经过一个Hellowold级应用的尝试,NDK给我的印象真的很别扭,也许也是因为我对JNI和NDK的威力还认识不够吧,但有总比没有强。先只记录NDK如何使用,其他内容后面边学边记吧1,在MainActivity类中增加native方法声明和动态库的加载    private

2012-09-03 00:35:53 556

原创 Fedora16下编译安装GCC 4.7

GCC4.7版本增强了C++11的支持,但Fedora16的GCC版本却迟迟不能升级到GCC4.7,只好自己编译安装GCC的编译安装指导可以参考http://gcc.gnu.org/install/一,编译准备:http://gcc.gnu.org/install/prerequisites.html参考该文档,在编译GCC之前需安装以下依赖库MPFR Librar

2012-05-27 06:53:10 2456

原创 一个利用友元函数结合C和C++的简单例子

在C++程序中如果要使用类似libevent这样的C库,在封装类的时候就需要考虑如何调用C库中提供的函数,下面是一个简单的例子。libevent库中event的处理回调函数声明如下:typedef void (*event_callback_fn)(evutil_socket_t, short, void *);假设该处理回调函数需要访问A类中的数据,那么可以如下声

2012-05-06 22:10:31 1079

原创 安装Roller博客系统

很想租个虚拟服务器建一个自己的博客系统(除去人力成本一年预算估计500多吧,还是可以玩得起的),也了解到当前国内便宜的虚拟服务器主要就提供Apaceh+PHP这样的能力,可部署的博客系统也主要是WordPress,但实在不想因为这个而去学习PHP语言,于是便先在自己的机器上尝试用Roller搭建博客系统。Roller是个Java开发的开源的博客系统,其项目主页在http://roller.apac

2012-05-05 20:31:38 1111

原创 一个简单的makefile模版

1,认识几个Makefile中常见的Automatic-Variables更多信息需参考http://www.gnu.org/software/make/manual/make.html#Automatic-Variables$@The file name of the target of the rule. If the target is an archive member, then ‘$@

2012-05-01 19:22:06 509

原创 N年时间下来读书的感觉差异

其实脱离具体的技术已经有近6年时间了,这6年基本上没有再看专业方面的书,也没写过什么代码。虽然自己觉得只要有兴趣和时间,现在再把那些技术东西拣起来应该也不是什么不可能的事情,而且经过这些年对产品的认识和相关工作经验,觉得回头再去搞技术应该会更加懂得方法,更加会有感觉。但脱离了这么长的时间多少还是心里有些忐忑。  这几天把《Effective C++》找出来开始读,这本书其实在04年就已经读过,

2012-04-22 21:12:16 461

原创 我作SE的那点事

离开XXX项目已经快半年时间了,其实早就想写点什么分享一下在这个项目中作为SE的一些感触,但又总是不太想再提及这个项目,也许就是那么一点没有达成而不甘的情绪吧(在这个项目转验收测试阶段后,被安排一个出差任务,从而脱离了该项目)。现在半年时间过去,回过头来再看这段经历,心里更多的是幸运和感激。其实一直蛮幸运自己能有机会参与这个全新的开发项目,更加幸运自己能担任SE这个难得的角色,也是这个项目让已经5

2012-04-22 17:48:59 764

原创 架构之美 -- 第3章 伸缩性架构设计

对服务端应用而言,系统的伸缩性是最基本的需求。这就意味着系统应该是分布式的,并发的。一个理想的可伸缩性架构应该将分布式,并发的特征对上层应用隐藏,尽管完全隐藏这些特征不现实,而且需要上层应用的开发者遵循一定的编程模型(例如反应式的),但开发者无需将较多的精力放在伸缩性架构的具体实现,而是遵守这样的架构并重点关注应用逻辑的实现方面。作者以游戏项目为例介绍了两种伸缩性架构方案,一种是将游戏

2012-04-22 16:40:23 733

原创 libevent项目分析 (三) -- I/O多路复用基础

前言分析libevent库就不得不先了解I/O多路复用技术,这是Reactor模式实现的基础,而Reactor模式是libevent库的核心内容。 那么何为I/O多路复用技术?  可以参考http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520112163171778/的介绍,我个人理解所谓I/O多路复用技术,简单地说就是当应

2012-04-22 16:12:30 1999

原创 下载工具MLDonkey的优化设置

停止mldonkey,修改配置文件下面是一些MLdonkey的配置文件:~/.mldonkey/downloads.ini 基本的设置( 这个是for edonkey和其他协议的)~/.mldonkey/servers.ini 服务器列表文件~/.mldonkey/files.ini 当前已经完成的和未完成的文件列表1,修改downloads.ini文件,修

2012-04-22 11:37:15 4873

原创 C/C++代码分析时的一些反汇编方法

在分析/研究一些C/C++代码问题的时候,我们经常都希望了解得越深入越好,甚至希望深入到汇编级别。有时候问题很简单,例如下面比较两种整数变量自减写法的效率,这样简单的问题一定要通过写一个完整的测试程序,并千万次的重复调用来进行测时吗? 真不一定,通过反汇编的方式就可以知道了,下面介绍一些对C/C++代码反汇编的方法:方法一:objdump方法,适合简单问题的分析/研究1,写一个简单

2012-04-20 22:43:29 1379

原创 Java 获取时间间隔的方法

Java中获取时间间隔的方法比较简单,通过System.currentTimeMillis()函数即可public static long currentTimeMillis()Returns the current time in milliseconds. Note that while the unit of time of the return value is a m

2012-04-17 22:04:20 3050

原创 Fedora 16环境下Boost的编译安装

1,解压boost源玛包# unzip boost_1_48_0.zip2,增加脚本执行权限# chmod +x bootstrap.sh# chmod +x ./tools/build/v2/engine/build.sh3,生成bjam工具# ./bootstrap.sh4, 整个boost非常大,幸好可以分库编译,查看可以编译的

2012-04-12 23:24:29 1468

原创 Fedora下SVN环境搭建

1,安装SVN#yum install mod_dav_svn subversion 安装完毕后,运行下面命令检查#svnserve --version2,编辑/etc/httpd/conf.d/subversion.confLoadModule dav_svn_module     modules/mod_dav_svn.soLoadModule authz_

2012-04-08 14:26:15 820

转载 一些常见的jar包用途

jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误

2012-04-08 10:08:02 838

空空如也

空空如也

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

TA关注的人

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