如何在项目中动态创建Java类，并注册进Spring容器，例如动态创建一个controller类？

1. 注册自定义的Bean到Spring容器中，需要实现 FactoryBean 接口，在getObject()创建你的Bean对象。
2. 定义代理Bean定义 GenericBeanDefinition，把定义的信息通过工具方法注册到Spring容器，BeanDefinitionReaderUtils.registerBeanDefinition(definitionHolder, registry);
3. 动态生成Java类需要用到字节码工具，ASM、Javassist、Byte-buddy，这几个都可以

参考我的文章：
怎么把Bean塞到Spring容器？https://mp.weixin.qq.com/s/wmB_uXDtDLbe4tYzSATDmw
字节码编程操作 http://mp.weixin.qq.com/mp/homepage?__biz=MzIxMDAwMDAxMw==&hid=16&sn=7533d469a7c4abd1b2b7f8a5eb091e65&scene=18#wechat_redirect

---

小傅哥，请问大厂的默认jar包启动参数都会配置哪些呀，JVM参数调优有总结方法论吗？

1. 通常并不启动jar包，都是把war包部署上去，从代码的打包过程到上线都是使用部署上线工具，如：Jenkins
2. JVM 通常情况下并不会去调优，都是一套默认配置，比如你的启动参数内存大小。也不会因为程序内存占用大了就去调JVM，基本都是对程序进行优化。所以这块暂时没有更多的真实场景去调JVM的情况。
3. 如果是面试一般会考察调优包括：调整GC类型和内存分配、年轻代和年老代的分配比等。也有一些常用命令：jps、jcmd、jinfo、jmap、jhat、jstack等，https://mp.weixin.qq.com/s/rTuEp8A35_xnx1HA_K8zQg

后续我在看看，有没有一些JVM运维调优的策略和手段，整理好后补充到这里。
