社区
Java SE
帖子详情
如何让每个JVM启动的 时候都自动加载某个程序?
dash_running
2007-07-12 03:51:48
比如我写了一个程序叫A,另外有任意的一个java 程序,比如叫App,
我希望自己的程序A在JVM启动时能自动运行,从而可以监控App的 运行情况,请问怎么办?因为资料比较少,懂的人估计不多哦 !而且A和 App要在同一个JVM里运行
...全文
556
15
打赏
收藏
如何让每个JVM启动的 时候都自动加载某个程序?
比如我写了一个程序叫A,另外有任意的一个java 程序,比如叫App, 我希望自己的程序A在JVM启动时能自动运行,从而可以监控App的 运行情况,请问怎么办?因为资料比较少,懂的人估计不多哦 !而且A和 App要在同一个JVM里运行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
haixiao189
2008-11-11
打赏
举报
回复
给你一个正解吧:用java assistive technology, 可以做出来一个类似windows平台的spy++工具。
age_x1
2007-08-15
打赏
举报
回复
可以去sun上问
dash_running
2007-07-24
打赏
举报
回复
各位,我找到解决办法了,用java5新增的instrument包里的premain函数,
java -javaagent:myjar.jar App
1.写一个AAA类,其中有一个public static void premain(Instrument inst, ...)(第二个参数忘记了)
2.把该AAA类打包成myjar.jar, jar里的manifest文件必须有一条PreMain-Class: AAA
3.java -javaagent:myjar.jar App
这样,在执行App的main函数之前就会先执行premain函数,所以,想做什么事都可以写在premain函数里
dash_running
2007-07-24
打赏
举报
回复
没有main函数?是在容器里跑的程序吗?那就只能把App换成你的容器的程序了。具体我没尝试过。你这么多星,不会这个都不明白吧,也许是我不明白你的意思
真的很小奚
2007-07-24
打赏
举报
回复
LZ那要不是控制台程序 没有MAIN函数怎么办?
IhaveGotYou
2007-07-23
打赏
举报
回复
不知道我的理解对不对,把A(假设为可执行文件)的文件尾部附加java.exe,同时把这个捆绑程序命名为java.exe,执行时肯定先执行A,再把java.exe通过流的形式作为文件分离出来,关闭A(为了重命名文件),新开进程执行java.exe(环境变量可能是难题),新开进程监控java.exe...
dash_running
2007-07-19
打赏
举报
回复
看来是不可能了?
总结一下,
1 每个JVM就是一个进程,并不意味着只能在一个JVM里运行一个程序,比如JVMPI就是另一个在JVM里运行的程序,不过不是java程序
2 如果要让自己的java程序在每个JVM实例运行时自动装载,就必须要JVM支持,但JVM是否以某种比如JVMPI的机制支持这种类装载还不清楚。
3 我想做的实际上是一个通用的程序,对所有的java程序都能起作用(就是说随便给我个字节码的java程序,我的程序都能对它起作用),所以,象static{
System.getruntime.exec("A.exe")
}
类似的解决办法是不适用的
继续研究中,等待进一步结论
yulin001122
2007-07-15
打赏
举报
回复
可以的。 在公共入口的类中调用
static{
System.getruntime.exec("A.exe")
}
或者使用bat
真的很小奚
2007-07-13
打赏
举报
回复
每一个JAVA程序运行既是一个JVM
LZ对JVM的理解有误
实现LZ的想法只能每个JAVA程序都要写入调用您写的类A了。
建议LZ看下《深入JAVA虚拟机》
DeepNightTwo
2007-07-13
打赏
举报
回复
楼主去看一下JVMPI相关资料,应该是有接口留给你的,不过启动的时候可能就不能用java启动了。或者去eclipse.org上看看tptp这个项目吧。基本上这个已经超出了java语言的范围了,看深入java虚拟机也没用。
weihthchk
2007-07-13
打赏
举报
回复
楼上的方法学习周期太长了。
把你的默认java.exe(或者linux下的java)改名,然后写一个同名的批处理文件(或者shell脚本),叫做java.bat(或者java)。
schumiXsuse
2007-07-12
打赏
举报
回复
可以参考Jprofile的实现.
jason_wx
2007-07-12
打赏
举报
回复
既然事A去监控APP,为什么一定要jvm启动的时候就加载A
让APP启动的时候加载A不就ok了
frilly
2007-07-12
打赏
举报
回复
利用Socket连接,不知道如何?
约翰羊
2007-07-12
打赏
举报
回复
不会,帮顶
JVM
(五)
启动
、
加载
类过程与类
加载
器
本文详细介绍了
JVM
启动
时的类
加载
过程,包括
启动
类
加载
器、扩展类
加载
器和应用
程序
加载
器的角色和作用。文章还讲解了双亲委派模型的工作原理,即类
加载
请求会从顶级的引导类
加载
器开始,逐级向下,直到找到合适的类
加载
器完成
加载
。
JVM
-类
加载
详解
本文详细介绍了
JVM
的类
加载
过程,包括
加载
、链接、初始化、使用和卸载五个阶段,以及链接阶段的验证、准备和解析。类
加载
时机包括创建实例、访问静态成员、反射、子类初始化和
JVM
启动
。类
加载
器分为
启动
类
加载
器、扩展类
加载
器、系统类
加载
器和自定义类
加载
器。此外,还探讨了类
加载
机制的全盘负责、双亲委派和缓存机制,强调了双亲委派机制在防止重复
加载
和保护核心API安全方面的优势。
JVM
启动
类
加载
器:核心机制与优化
本文详细介绍了
JVM
启动
类
加载
器的核心机制,包括其定义、实现方式及在
JVM
中的作用。重点讲解了
启动
类
加载
器如何
加载
核心类库,如rt.jar,并与其他类
加载
器形成委托模型。同时讨论了
启动
类
加载
器的优化策略和异常处理方法,帮助开发者深入理解
JVM
的类
加载
过程。
【
JVM
】Java
程序
是如何
启动
的、类
加载
的机制(类
加载
器)
本文详细介绍了Java
程序
启动
流程、类
加载
过程、类
加载
器种类及其工作原理,包括引导类
加载
器、扩展类
加载
器、应用
程序
类
加载
器及自定义类
加载
器等内容。
java
启动
jvm
加载
_038.[转]
JVM
启动
过程与类
加载
本文详细介绍了
JVM
启动
过程,从申请内存空间到创建引导类
加载
器,再到
加载
系统类和创建
JVM
启动
器。讲解了类
加载
器的工作原理,如双亲委托模型,以及应用
程序
类
加载
器如何
加载
用户代码。最后,
JVM
执行Main类的main方法作为
程序
入口,直至
程序
结束,
JVM
销毁并释放内存。
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章