java 静态类 加载_java – 静态和动态类加载?

What is the need and advantage of this. Typically which is used to load driver class in JDBC.

它允许您构建应用程序,以便不将关键外部依赖项编译到应用程序源代码中.

例如,在JDBC情况下,它允许您在不同的驱动程序实现之间切换,并且(理论上)不同的数据库供应商之间切换而不更改源代码.

另一个用例是当某个供应商开发一个具有扩展点的应用程序的通用形式,允许客户“插入”他们自己的自定义类.通常使用Class.forName(…)加载自定义类.

第三个用例是应用程序框架和容器,它们通常使用Class.forName(…)来动态加载特定于应用程序的bean,servlet等的类.

第四个用例是应用程序(或更可能是应用程序库)具有未在典型应用程序运行中使用的模块.通过在内部使用Class.forName(…),应用程序或库可以避免加载和初始化大量不需要的类的CPU和内存开销. (Sun Swing库显然是为了减少应用程序启动时间,我确信还有其他示例.)

但是,如果您不需要能够执行此类操作,则静态依赖项更容易实现.

跟进

But here ,while compile itself the “ClassName” parameter is known .So the key external dependency is compiled into application source-code??

不.显然,这违背了目的.应用程序(或框架)通常确定要从某个配置文件动态加载的类的名称.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值