我已经使用此link从oracle阅读了JNDI在线教程。
它有以下图表:
关于这一点,我有以下问题:
1)JNDI API - 这只是一个规范/接口,它是J2SE的一部分吗?也就是说,当我们调用此API的某些方法时,这是做真正的工作还是内部调用其他人,由第三方提供?
2)命名经理 - 我根本没有得到这个,也没有提供任何解释?这是J2SE的一部分吗?是API吗?
3)JNDI SPI - 这是什么? JNDI API和JNDI SPI之间有什么关系? JNDI API是否在内部调用JNDI SPI来完成实际工作?谁提供这些JNDI SPI?
4)服务提供商的含义是什么?
我无法理解这一点,任何人都可以用简单的语言帮助我理解吗?
答案 0 :(得分:1)
1)JNDI API - 这只是一个规范/接口,它是J2SE的一部分吗?
是
也就是说,当我们调用此API的某个方法时,这是否可以完成实际工作
没有
或者内部呼叫其他人,由第三方提供?
是
2)命名经理 - 我根本没有得到这个,也没有提供任何解释?这是J2SE的一部分吗?是API吗?
它是一些幕后粘合剂,通过为它们做很多样板来帮助JNDI提供商。或者我不知道这意味着什么。
3)JNDI SPI - 这是什么? JNDI API和JNDI SPI之间有什么关系?
见下文。
JNDI API是否在内部调用JNDI SPI来进行实际工作?
是
谁提供这些JNDI SPI?
容器,或者在某些情况下是JRE,例如RMI提供程序,LDAP提供程序,DNS提供程序,COSNaming提供程序。
4)服务提供商的含义是什么?
提供服务的代码。我不认为这是一个谜。实现包含API的接口的代码。