自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(39)
  • 资源 (4)
  • 收藏
  • 关注

原创 做自己的Socket网络通信框架【测试篇-remotecmd】

在上一篇里面讲讲了一个简单测试例子,今天讲一个比较靠近实际的应用的例子remotecmd(在包com.susu.test.nio.remotecmd),远程命令行。测试程序设计思想,在在客户端输入一个命令,发送给服务器执行,然后服务器把执行结果返回给客户端显示。程序流程如下:1.写一个CmdLine类实现两个功能一个是做为客户端从控制台读取命令,一个功能是作为服务器执行命令返回执行结果

2009-10-23 09:48:00 1336

原创 做自己的Socket网络通信框架【测试篇-simple】

项目在 http://susu.googlecode.com/svn/trunk/,项目里面的com.susu.test.nio下有两个测试程序simple和remotecmd。simple只是做了一个简单的测试,建立了一个简单服务器端,一个简单的客户端,当客户端连上服务器的时候,服务器给客户端发了一个报文,客户端建立了三个线程定时给服务器发报文,一段时间后客户端退出,下面来看代码实现,根据设

2009-09-30 15:40:00 1357

原创 做自己的Socket网络通信框架【实现篇】

       我把这个Java Socket网络通信框架取名为『susu』并上传到Google code ,svn下载地址为:http://susu.googlecode.com/svn/trunk/,关于框架的设计思想在前面一篇已经做了描述,在这里着重介绍一下关键类的实现。      NioSocketAcceptor、NioSocketConnector两个类的功能比较简单,看

2009-09-27 09:42:00 4311 2

原创 做自己的Socket网络通信框架【设想篇】

    到了新的公司以后从以前做web转到做Socket网络通信方面,经过几个月的项目实践锻炼,自己的理解对Socket网络通信开发框架有了一定的认识,所以决定自己做一个Socket网络通信框架,参考C++的ACE、Java的mina框架的设计设计思想。     网络通信简单解释就是两台电脑之间的数据交换,一个作为服务器监听主机上的某个IP和端口,另一个电脑作为客户端连接服务器上的

2009-09-22 15:30:00 2291

原创 Java 定时器

public interface GessTimer { /** * 超时处理函数 * @param key */ public void onTimeOut(String key);}  import java.util.Date;import java.util.Iterator;import java.util.Map;import java

2009-05-24 11:04:00 3153

原创 ACE通信框架的一些例子(包括MFC)

被ACE折磨了几天以后整理出来的一些经验,和大家分享一.              ace的编译安装环境:XP,VC6.0+SP6,ACE5.41.    解压缩ace源代码包,假设在D:/ACE_wrappers2.    使用vc打开D:/ACE_wrappers/ace/ace.dsw3.    工作区上有三个工程,在ACE工程的头文件中找到config.h4.   

2009-03-23 14:22:00 3448 1

转载 C++各种字符串类型之间进行转换

本文转至MSDN本主题演示如何将各种 Visual C++ 字符串类型转换为其他字符串。可以转换的字符串类型包括 char *、wchar_t*、_bstr_t、CComBSTR、CString、basic_string和 System.String。在所有情况下,在将字符串转换为新类型时,都会创建字符串的副本。对新字符串进行的任何更改都不会影响原始字符串,反之亦然。从 char * 转换

2009-03-18 21:01:00 971

原创 使用Red5作为流媒体服务器Action Script2.0开发的一些Flash流媒体小例子

前提条件:1.      安装Red5流媒体服务器2.      安装flash开发工具(安装过程中要把Flash Video Encoder选上)3.      安装Java开发web工具 播放流媒体1.      启动Flash Video Encoder把要播放的视频转化成flv格式2.      把转化好的文件放入Red5的特定目录(D:/Program F

2009-02-18 15:53:00 3408

原创 『零起点』Python学习笔记5:读写文件

f = open(file, mode)参数说明:file:文件名称mode:打开模式r:只读(缺省,如果文件不存在,则抛出错误)w:只写(如果文件不存在,则自动创建文件)a:文件追加r+:读写(删除以前的所有数据)如果需要以二进制方式打开文件,需要在mode后面加上字符b,如:rb,wb,ab,rb+。  方法说明f.read(size):

2009-02-05 09:34:00 823

原创 『零起点』Python学习笔记4:搭建基于Eclipse 的Python开发环境

eclipse 版本 3.3jdk 1.6 安装pydev 插件:更新地址:http://pydev.sourceforge.net/updates/更新的时候报错,信息如下Mylyn版本太低了,要更新一下,更新地址:http://download.eclipse.org/tools/mylyn/update/e3.3 然后是在eclipse 中p设置pyhon :

2009-01-22 11:39:00 836

原创 『零起点』Python学习笔记3:if 、 for and function介绍

code first  通过看几个程序来了解python的语法下面看一个 if else的例子>>> x=int(input("Please enter an integer: /n"))Please enter an integer:10>>> if x< 0:... print("le zero")... elif x==0:... print(

2009-01-15 14:51:00 925

原创 一简单的Google API搜索例子

首先看一个Java代码的例子需要两个jar的支持commons-httpclient.jarcommons-codec-1.3.jar import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import org.apache.commons.httpclient.DefaultHttpM

2009-01-15 14:00:00 2425

原创 『零起点』Python学习笔记2:Number、String and List Examples

 Code First 代码为先,通过运行代码来学习一门新的语言,个人的学习习惯,首先来看几个处理数字的例子>>> 2+2 4 >>> (50+5*7)/4 21.25 >>> 8/5 1.6000000000000001 >>> print(8/5) 1.6 >>> 8//5 1 >>>说明:两个数字相除,从结果上看,应该默认是浮点,//表

2009-01-13 15:14:00 808

原创 『零起点』Python学习笔记1:三分钟运行Hello World

 年前无聊,来弄一下Python,给自己充点电,技多不压身多学一点总之不是什么坏处学习一门语言的经典入门莫过于“Hello World”了。老套路,搭建环境——>Hello WorldPython3.0出来了,那么就先尝尝鲜,Python3.0和以前的版本不兼容,所以对于Python来说,这也是一个新的起点,让自己和Python一起进步吧 ^_^,好像说的有点大了,下面步入正题1.下载

2009-01-13 15:10:00 999

原创 Google 翻译之 Java版本

 首先下载支持的jar  http://google-api-translate-java.googlecode.com/files/google-api-translate-java-0.51.jar import com.google.api.translate.Language;import com.google.api.translate.Translate;p

2009-01-13 10:26:00 2203 4

原创 Google 翻译之 Javascript版本

html>head>    script type="text/javascript" src="http://www.google.com/jsapi">script>    script type="text/javascript">    google.load("language", "1");//1 是版本号    function trans() {

2009-01-13 09:57:00 1082

原创 Java注解的一些说明

public enum RetentionPolicy {    /**     * Annotations are to be discarded by the compiler.     */    SOURCE,    /**     * Annotations are to be recorded in the class file by the com

2008-12-01 10:25:00 780

原创 利用Java注解特性加载属性文件(properties)的值到Java类

在此之前我都是写个PropertyUtil类来加载配置文件,然后通过get方法,把key对应的值取出来.Spring提供一个PropertyPlaceholderConfigurer类,可以读取配置文件,然后在Spring配置文件通过${hibernate.dialect}这种方式注入到JavaBean中,有个不好的地方就是,要在代码中取的时候不是很方便.然后在接触到Java注解特注解技术

2008-11-15 10:35:00 4494

原创 在google和baidu上搜到自己blog,而且是第一条,小高兴一下

   

2008-11-12 16:32:00 700

原创 配置tomcat6.0的HTTPS

利用JDK自带的产生证书的工具 生成证书建立一个脚本文件,内容如下:set SERVER_DN="CN=Server, OU=share, O=share, L=sz, S=gd, C=CN"set CLIENT_DN="CN=Client,  OU=share, O=share, L=sz, S=gd, C=CN"set KS_PASS=-storepass changeitset KE

2008-11-12 09:53:00 6437 4

原创 Spring Bean 初始化过程

Spring 的几个接口1.InitializingBean接口,在初始化Bean时容器会调用前者的afterPropertiesSet()方法2.DisposableBean接口,在析构Bean时容器会调用destroy()方法,在下面的例子中好像没有体现出来(革命尚未成功,同志仍需努力)3.BeanFactoryAware接口,当它被BeanFactory创建后,它会拥有一个指向创

2008-11-07 09:43:00 23733 2

转载 使用 CXF 和 Spring 创建 Web 服务

从IBM网站上看到就转载了,原文章地址 http://www.ibm.com/developerworks/cn/webservices/ws-pojo-springcxf/index.html 使用开放源代码 Web 服务框架 Apache CXF 可以很容易地创建传统 Java™ 对象(plain old Java object ,POJO)样式的 Web 服务。本文是本系列的第 1

2008-10-24 11:54:00 1237

原创 AOP示例(三续)

使用JDK创建代理有一个限制,即它只能为接口创建代理,这一点我们从Proxy的接口方法newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h)就看得很清楚,第三个入参interfaces就是为代理实例指定的实现接口。虽然,面向接口的编程被很多很有影响力人(包括Rod Johnson)的推崇,但在实际开

2008-10-23 16:11:00 315

原创 AOP示例(再续)

java.lang.reflect.Proxy 、java.lang.reflect.InvocationHandler不知道怎么去解释了,如果使用Proxy 获取一个类的实例,那么在调用这个类的方法前会先执行InvocationHandler 的invoke方法,那么我们就可以利用这个特性来实现自己的AOP了,下面的例子将介绍如何实现Spring 中AOP的前通知、后通知和环绕通知。实现思路

2008-10-23 09:27:00 437

原创 AOP示例(续)

上一篇演示了,Spring得前通知、后通知、环绕通知,仔细想来前通知、后通知和异常通知,都应该是居于环绕通知开发的,想想如果都能控制目标函数是否能执行,那么要在目标函数执行前后,或者目标函数执行过程中发生异常后进行一些处理,那不是太easy了吗?,按照猜想,前通知、后通知,异常通知 应该是重写invoke方法,在invoke方法里面先执行before在执行proceed就是前通知,先执行proce

2008-10-21 10:28:00 604

原创 Spring AOP 示例

解释就懒得写了,有代码运行一下就知道了,jar除了Spring所必备的以外还要加上bsh-1.2b7.jarpackage com.test;/** * 在线图书销售系统业务逻辑接口 */public interface BookBiz {    public float[] buy(String userName, String bookName, doubl

2008-10-12 12:13:00 499

原创 ArrayList和LinkedList的区别

好像这个问题是java笔试必有的一个问题,一般大家都知道ArrayList和LinkedList的大致区别:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。3.对于新增和删除操作add和remove,LinedList比较占优势,因为

2008-10-05 14:46:00 662

原创 浅析JAVA反射(二)

上一篇介绍了java反射的基本概念,并通过一个简单的例子展示了如何获取一个类所定义的变量和方法下面将介绍如何通过反射来访问类里面的方法,先看一个例子import java.lang.reflect.AccessibleObject;import java.lang.reflect.Field;import java.lang.reflect.Method;publi

2008-09-30 21:12:00 634

原创 浅析JAVA反射(一)

Java Reflection (JAVA反射)  Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就

2008-09-28 10:16:00 379

原创 修改xloadtree 支持checkbox radio 鼠标右键菜单

结合JSON 支持动态从数据库加载节点,支持鼠标右键菜单,支持checkbox 和radio把数据加载的节点信息保存在下面的类中:public class Node { private String text; private String action; private String src; private String icon; privat

2008-06-26 16:26:00 2527 2

转载 SpringSide架构思想

(1)首先web发送一个Action请求.(2)在struts-config里面把Action交给Spring里的MVC进行处理.(3)Spring通过action-servlet.xml来进行Action转发.(4)Action通过Spring的注入机制注入Manager.(5)利用Manager调用业务逻辑进行处理后把放到request对象或Sesssion对象中,转到JSP页

2008-06-02 17:03:00 561 1

原创 Liferay学习历程二:搭建二次开发环境(第三部分)

在这里将介绍如何集成Struts的DispatchAction 多方法的功能,下面是代码package cn.pisoft.portlet.struts;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.security.MessageDigest;i

2007-10-21 14:41:00 1616

原创 Liferay学习历程二:搭建二次开发环境(第二部分)

HibernateServiceFactory.java/** *//** *  */package cn.pisoft.portlet.hibernate.factory;import cn.pisoft.portlet.hibernate.HibernateService;/** *//** * Title: *  * Description: *  * Copyright: Copy

2007-10-21 14:26:00 3368 2

原创 Liferay学习历程二:搭建二次开发环境

        上一篇写了Liferay源代码的编译和二次开发环境的生成(ext工程),下面将介绍在二次开发环境上搭建自己的开发框架.用Eclipse打开编译Liferay源代码生成的ext扩展开发环境,如下图主要介绍ext-ejb和ext-web两个目录,利用Liferay的ant工具可以自动生成一套对于数据库表CURD的处理类,但是为符合自己的开发习惯,我在ext环境上搭建了自己的开发

2007-10-21 12:51:00 2000 1

原创 Liferay学习历程一:编译源代码

下载liferay-portal-src-4.2.2源代码包,然后解压缩到D盘修改属性文件portal-ejb/classes/system.propertiesuser.country=CN user.language=zh 修改属性文件portal-ejb/classes/portal.propertiesportal.release=professional 修改属性文件tools/

2007-09-22 13:44:00 2438

原创 有树型结构的下来框

表结构是: classID,className,parentId ,depth,allChildId ,  ................public String getSelectTree( String classID) ...{  Stack stack = new Stack();  StringBuffer tree = new StringBuffer(" "); 

2006-04-30 15:48:00 709 1

原创 基于反射技术实现 Bean 属性拷贝 copyProperties

import java.lang.reflect.AccessibleObject;import java.lang.reflect.Field;import org.apache.log4j.Logger;/** *//** * Title: * * Description: * * Copyright: Copyright (c) 2006 * * Company:  *  * Aut

2006-04-29 13:13:00 1349

原创 基于 Hibernate Query 实现分页器

import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.ScrollableResults;/** *//** * Title:分页器 * * Description: * * Copyright: Copyright (c) 

2006-04-19 08:57:00 4244

原创 如何得到logic:iterate循环中的indexId

logic:iterate id="chList" name="channelList" scope="request" indexId="index">bean:write name="index" />br>logic:iterate>   上面的是书上的例子为什么不可以而下面的可以呢?logic:iterate id="chList" name="channe

2006-04-16 10:44:00 5415 1

Java Socket 开发框架【susu】

自己编写的JavaSocket 开发框架基于异步模式

2009-09-25

Red5流媒体Flash开发的例子演示视频

使用Red5作为流媒体服务器Action Script2.0开发的一些Flash流媒体小例子,播放流媒体,远程服务器通讯,动态创建组件

2009-02-18

Spring源码工程,可以断点调试,外加一个AOP的小例子(不带JAR包)

Spring源码工程,可以断点调试,外加一个AOP的小例子

2008-10-21

修改xloadtree 支持checkbox radio 鼠标右键菜单

修改xloadtree 支持checkbox radio 鼠标右键菜单

2008-06-26

空空如也

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

TA关注的人

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