3年前 (2021-12-17)  Java系列 |   抢沙发  531 
文章评分 0 次,平均分 0.0

JNDI是什么?

Java命名和目录接口是Java编程语言中接口的名称(JNDI)。它是一个API(应用程序接口),与服务器一起工作,可以使用命名约定从数据库获取文件。命名约定可以是单个短语或单词。还可以将其合并到套接字中,使用服务器在项目中传输数据文件或平面文件来实现套接字socket编程。它也可以在浏览器中的网页中使用,其中有许多目录的实例。JNDI为Java用户提供了使用Java编码语言在Java中搜索对象的工具。

Java中JNDI的体系结构

在该体系结构中,我们注意到与JNDI关联的不同目录,它由一个API和一个称为服务提供者接口(ServiceProviderInterface,SPI)的接口组成。

JNDI是什么?

在这个图中,我们注意到连接到Java应用程序的JNDI体系结构。这些级别清楚地提到,JNDI API位于接口之上,接口用于连接到许多目录。下面提到了一些目录服务:

  • 轻量级目录访问协议
  • DNS-域名服务
  • RMI-Java远程方法调用

上面提到的是JNDI SPI与之集成并构建具有JNDI实现可能性的平台的目录。

JNDI包

Java中有五个使用JNDI SPI的包。其中一些包是javax.namingjavax.naming是一个包,其中包含用于访问命名服务的类和接口。有查找、列表绑定、名称等功能。第二个是java.naming.directory这个包有助于将数据作为对象获取,是java的高级版本java.naming directory。还有其他java. naming. eventjava. naming. spi

此外,JNDI在三种最新Java技术中扮演着重要角色。它们是:

  • JDBC(Java数据库连接)
  • JMS(Java消息传递服务)
  • EJB(企业Java bean)

JDBC用于数据库处理,JMS是消息传递服务应用程序。EJB与用于运行Java程序的Netbeans和Eclipse平台一起运行。这些软件包与使用它们的技术一起提供。

JNDI还与LDAP服务提供程序一起使用。有一系列代码用Java语言运行编程应用程序。

Java编程语言中有一个bind()look up(),用于命名对象和从目录中查找对象。

Context.bind(“name”, object)

在这里,可以为目录中的当前对象指定任何名称。这是设置对象名称的绑定函数的一个示例。

Object hello= Context.lookup(“name”)

在这个函数中,对象hello在目录中查找对象的名称。还存在用作目录支持类型的序列化或非序列化数据的变体。

JNDI及其应用程序在数据分析行业中得到了广泛的应用,在数据分析行业中,有大量数据需要挖掘,并且数据的某些方面存储在不同的目录中,文件存储在不同的文件夹中。它在电信行业中有着广泛的应用,在电信行业中,人们根据每小时的通话率来计算账单。

Java中的JNDI示例

此代码是一个菜单驱动程序,要求用户输入本金金额,然后根据用户需要打印单利、复利以及单利和复利之间的差额。当用户不想继续程序时,程序也会退出。利率固定为8.5%,产生利息的年数为7年。因此,所有的利率都是计算出来的。

创建一个菜单驱动程序,输入本金金额并计算单利、复利和它们之间的绝对差额。

代码示例:

import java.io.*;
class Assignment1
{
public static void main(String[] args) throws Exception
{
BufferedReader ob = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter the Principal Amount : ");//prompt for entering the principal amount
float P = Float.parseFloat(ob.readLine());//accepting the principal amount
int choice = 0;
do{
choice = 0;// reseting the user's choice
//displaying the Menu of Options
System.out.println("------------- M E N U ----------------");
System.out.println("1 - To Find the Simple Interest");
System.out.println("2 - To Find the Compound Interest");
System.out.println("3 - To Find the Difference between the Simple and Compound Interests");
System.out.println("4 - To Exit The Program");
System.out.print("Enter Choice : ");//prompting for user's choice
choice = Integer.parseInt(ob.readLine());//accepting user's choice
System.out.println("");// line feed between menu and result
switch(choice)
{
case 1://for simple interest
System.out.println("The Simple Interest is Rs."+simple(P));
break;
case 2://for compound interset
System.out.println("The Compound Interest is Rs."+compound(P));
break;
case 3://for difference between simple and compound interests
System.out.println("The Absolute Difference is Rs."+(compound(P)-simple(P)));
break;
case 4:
System.out.println("Program Terminated");
break;
default://for a wrong choice entered by the user
System.out.println("Invalid Option");
}//end of switch(choice)
System.out.println("\n");//linefeed between two consecutive choices by the user
}while(choice!=4);//end of do-while
}//end of main
public static float simple(float p)//to calculate the simple interest
{
return (float)((p*8.5*7.0)/100.0); //returning the simple interest
}//end of simple
public static float compound(float p)//to calculate the compound interest
{
return (p*(float)(Math.pow((1.0+(8.5/100.0)),7.0)-1.0));//returning the compound interest
}//end of compound
}//end of class

输出:

JNDI是什么?

在这里,我们输入10000卢比的本金金额,并找出单利和复利以及差额。

总结

本文介绍Java程序的编程概念。该代码用于计算本金的利率。如果用户愿意,它返回单利、复利和退出。此外,我们还了解了JNDI在目录和服务器中的使用,以及在编程和使用对象查找和搜索目录时使用的包。JNDI的主要用途是每当有与其相关联的目录时,就必须对其进行搜索,以获得关于数据的有意义的见解。这个概念在java中特别独特,在C++、C++和Python等其他编程语言中通常不可见。

  
 

除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/2505.html

关于

发表评论

表情 格式

暂无评论

登录

忘记密码 ?

切换登录

注册