易截截图软件、单文件、免安装、纯绿色、仅160KB

使用C++对java的classloader进行模拟

转自:使用C++对java的classloader进行模拟
一直以来,觉得java的classloader很不错的,做产品的话,可以将基本的做下来后,将扩展通过classloader的方式来做,将更新的补
丁使用classloader来做,在使用java的网络游戏中,可以将扩展通过classloader的机制,实现动态的更新,省的每次更新要重新下载
客户端,在手机上可是一个很不错的点子。
erlang也支持代码的热部署,java也可以动态更新,那么,C++呢,思来考去,没有想到类似非常完美的方案,只能知道一个基本成型的内容。

现在,不管是windows还是linux,都支持dll,我们可以动态的加载dll,是否可以像java那样,动态的调用函数呢?答案是可以的。需要借
助部分汇编来实现,要知道,我们可能只是知道一个函数的名字,函数参数的类型,参数的个数等等,都是不知道的。因为我更想做一个普遍使用的,而不是要告诉
你:“把某某的头文件给我”。
首先看外表的内容,java的ClassLoader的模拟接口:
ClassLoader.h
01
       
#ifndef _CLASSLOADER_H_
02
#define _CLASSLOADER_H_
03
#include "define.h"
04
#include "String.h"
05
class
ClassLoader
06
{
07
public
:
08
        
ClassLoader();
09
        
ClassLoader(ClassLoader* parent);
10
        
virtual
~ClassLoader();
11
        
void
load(
const
String& name);
12
        
void
* getFun(
const
String& name);
13
private
:
14
        
ClassLoader* parent;
15
        
void
* dl_handle;
16
};
17
#endif /* _CLASSLOADER_H_ */
接下来是ClassLoader.cpp
view source
print
?
01
       
#include "java/lang/ClassLoader.h"
02
#include < dlfcn.h >
03
#include "System.h"
04
ClassLoader::ClassLoader()
05
{
06
    &nb


相关文档:

Java反编译利器 Jad及其eclipse、NetBeans插件版

eclipse
菜单 -> Window -> Preferences, 打开Preferences窗口,然后依次选择 Java -> JadClipse,确保"Path to decompiler:"的值为"jad.exe"。
http://hi.baidu.com/darmn/blog/item/56678e7f14f81a0129388af7.html
http://hi.baidu.com/zhangge9477/blog/item/adeced08c9663a3ae8248849. ......

Java Web基础:第二十讲 Ajax概述

本文内容摘自:《Java Web开发教程——入门与提高篇(JSP+Servlet)》
AJAX是Asynchronous JavaScript and XML的缩写,涉及JavaScript脚本、XHTML和CSS、DOM、XML和XSTL等技术。
l         XHTML与CSS实现数据信息的统一化和标准化显示;
l    & ......

diy面向请求的java框架

这个框架也是为google app engine准备的。当时感觉直接在gae上sevlet太烦人了,就封装个简易的框架。使用的时候只需要配置web.xml中DispacherSevlet和package.properties中的package.path(默认扫描的包)即可
gae例子:http://orzblogs.appspot.com/Home.htm
大学的时候很BS java,学了之后就扔掉了,现在工作了才开始 ......

Java与Json的使用方法介绍

转自:
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。
  Json必需的包
  commons-httpclient-3.1.jar
  commons-lang-2.4.jar
  commons-l ......

java数据类型传递探索

学习java也有一些时间了,但是对java里的数据类型传递方法还是不甚了解
以下是我在jre1.6.0_04 运行环境 上对java 数据内型传递方式的探索
感觉收获还是彼多,因为出现了我遇料之外的结果。
一、基本数据类型:
   基本类型为值传递,基本类型中的数组为引用传递;
探索代码如下:
package cn.cn;
public ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号