java - 我可以在运行时创建一个 java 类吗
问题描述
我想根据一些结果动态创建 java 类。请告诉我是否可以创建它并在其中添加代码。非常感谢你的帮助
解决方案
正如评论中所说:“你可以。这对你的情况没有帮助。”
含义:如果你不得不问,你可能没有足够的经验/技能来做那种事情。含义:如果您无视这个建议,您可能会花费大量时间来尝试使某些“工作”仍然具有“微妙”缺陷的东西。想到的一个例子:您可能很不小心,以至于忽略了 JVM 及其类加载器通过缓存加载的类来操作这一事实,这可能会破坏您在循环中进行类生成的意图。或者在 web servlet 中,为每个传入的请求生成一次类。
也就是说:您可以在运行时生成的 java 源代码上调用编译器,并且如果您正确处理编译错误(您的“某些输入”是否完全正常?)并且如果您看到生成的 .class 文件最终存在于JVM 的类路径(在 servlet 容器中,这可能会破坏易于部署),如果您考虑类加载的所有可能问题(我自己不知道“所有”问题是什么),那么结果可能如您所愿。
你已经被警告过了。认真对待警告。
推荐阅读
- arrays - C中的fscanf数组指针数组
- javascript - 当我运行没有错误的代码时,我的 Angular 主页只是显示一个空白屏幕
- reactjs - 如何识别通过 firebase auth 登录我的应用程序的用户?
- r - 调试模式下的编码
- python - Trying to setup nfcpy, Returns "ModuleNotFoundError: No module named 'ndef'"
- python - Django设置设置模块在运行时基于环境以编程方式
- c++ - Where to install mingw-make from? (CMAKE)
- php - Upload images from 2 different input=file on one submit using AJAX
- reactjs - React: usestate and tab behaviour issue
- snaplogic - Splitting the comma separated values in a column into multiple columns in Snaplogic