java 使用反射,动态扩展程序

来源:互联网 发布:淘宝怎么合并订单 编辑:程序博客网 时间:2024/06/05 07:01

用意:java 可以通过类加载器、反射机制动态的加载类。 那么可以给正在运行的java程序进行扩展么?比如 我新写一个java类,在其它地方编译好, 把这个class文件丢到一个正在运行的java程序里, 这个正在运行的java程序可以动态的调用这个新增加的class么?


接口:

<script src="https://code.csdn.net/snippets/1609588.js"></script>


主程序调用实例:

<script src="https://code.csdn.net/snippets/1609586.js"></script>

注意,在这个段代码运行时, 拓展类1 和 拓展类2 还不存在,在运行的过程中 , 把 拓展类1 和 拓展类2的class 文件放到相应的位置, 此时你就可以从控制台输入string 然后调用这两个新增加的类了。而在实际应用中,  你可以把这些信息存到数据库中, 实现真正的应用运行的过程中扩展应用。


拓展类1:

<script src="https://code.csdn.net/snippets/1609593.js"></script>


拓展类2:

<script src="https://code.csdn.net/snippets/1609595.js"></script>


实际的软件开发中应该有运用这个技术,比如软件的升级,其在升级后一般需要重启应用,但我猜测从应用的v1版 -》升级的过程 -》 重启应用 -》 v2版  这整个升级的过程中程序应该就是不间断的。


ps: 感谢 lisp 让我对程序和数据有了更深的认识。

0 0
原创粉丝点击