📄 java_vm.h
字号:
/* ^_^
*
* Copyright (c) 2006 Hexin
*
* Description:
* 负责创建和销毁JVM
* Create:
* Date Time Author
* ------------------------------------------------
* 2006-3-17 14:01:55 XiaoWei
*/
/* ^_^
* Location :
* File : JAVA_VM.h
* Version : 1.0.0.0
* Note :
*/
#if !defined(__JAVA_VM_H__)
#define __JAVA_VM_H__
#pragma warning(disable:4786)
#include <map>
#include <vector>
#include "JNI_Object.h"
#include "JAVA_Debug.h"
#include <string>
#include "JAVA_Class.h"
class JAVA_VM
{
public:
static JAVA_VM* getInstance();
typedef std::map<long,JNI_Env*> _ID2Env;
typedef _ID2Env::iterator _ID2EnvIt;
typedef std::map<std_string,JAVA_Class> _ClassMap;
typedef _ClassMap::iterator _ClassMapIt;
typedef std::vector<std_string> _StrVec;
typedef _StrVec::iterator _StrVecIt;
public:
void endSubThread();
JNI_Env * startSubThread();
~JAVA_VM();
bool startVM(long _Ver = JNI_VERSION_1_4);
bool endVM();
JNI_VM * getVM()const;
JNI_Env* getEnv();
bool loadjarLibrary(const char * _lpFile);
bool getClassForNew(const char* _lpClassSig,JAVA_Class& _class);
private:
JAVA_VM();
JNI_Env* m_lpMainEnv;
JNI_VM* m_lpVM;
std_string m_jar;
std_string m_strOldClassPath;
_ID2Env m_EnvMap;
long m_MainThreadID;
private:
_ClassMap m_ClassMap;
_StrVec m_StrVec;
private://disable
void __getPathEnv();
std_string __getJarPathByFileName(const char* __lpJarFile);
std_string __getJarPath(const char* __lpJarFile);
bool __isFileExist(const char* __lpFileName);
JAVA_VM(const JAVA_VM&);
JAVA_VM& operator=(const JAVA_VM&);
};
#endif // !defined(__JAVA_VM_H__)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -