用意: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 让我对程序和数据有了更深的认识。