易截截图软件、单文件、免安装、纯绿色、仅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 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数据结构之队列

在使用队列中,我们一般都会使用循环队列以保证性能
package com.yz.myqueue;
public class Queue {
private Integer size;
private Integer front;
private Integer rear;
private Object[] datas;
public Queue(int size){
this.size=size;
this.front=-1;
this.rear=-1;
datas=new Object[size] ......

java学习步骤 java学习心得

每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法。因为我学习Java是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法,只能给大家提供一点参考了。
学习Java的第一步是安装好JDK,写一个Hello World, 其实J ......

java数据类型传递探索

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