jndi和jdbc区别?
一、jndi和jdbc区别
jdbc
JavaDatabaseConnectivity(JDBC)是一个标准的JavaAPI,它由一组类和接口组成,Java应用程序开发人员使用它来访问数据库和执行SQL语句。
通俗的讲就是JDBC用来连接数据库和执行SQL语句,但是它最大的特点是通过java程序去找数据库驱动,然后来连接数据库。是java亲自去连数据库。
JNDI(JavaNameDirectoryInterface,Java命名和目录接口),它不仅仅是进行数据库定位的,它是给当前应用服务器所管理的所有资源一个少数的标识,包括数据库,网页,文件,连接池等等。
Jndi
JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回数据库连接建立所必须的信息。
JNDI主要有两部分组成:应用程序编程接口和服务供应商接口。应用程序编程接口提供了Java应用程序访问各种命名和目录服务的功能,服务供应商接口提供了任意一种服务的供应商使用的功能。
代码示例:
try{
Context cntxt = new InitialContext();
DataSource ds = (DataSource) cntxt.lookup(jdbc/dpt”);
}
catch(NamingException ne){
…
}
通俗的讲,JNDI不单单是用来连接数据库的,它是通过命名服务来找到数据库并返回数据库连接,当然JNDI还可以管理当前应用服务器上的其他资源,如网页,文件等,它用来连接数据库时和JDBC最大的区别就是它是通过应用服务器配置(如Tomcat)的配置文件context.xml来找数据库驱动的,其次就是JDBC连接能承受的同时请求数太低了,JNDI连接池连接与之相比会好很多。
延伸阅读:
二、Redisson分布式锁的实现原理
实现原理:
1、首先Redisson会尝试进行加锁,加锁的原理也是使用类似Redis的setnx命令原子的加锁,加锁成功的话其内部会开启一个子线程
2、子线程主要负责监听,其实就是一个定时器,定时监听主线程是否还持有锁,持有则将锁的时间延时,否则结束线程
3、如果加锁失败则自旋不断尝试加锁
4、执行完代码主线程主动释放锁
以上就是关于jndi和jdbc区别的内容希望对大家有帮助。
相关推荐HOT
更多>>怎么做一个简单的数据库,可以实现模糊查找检索?
一、做一个简单的实现模糊查找检索的数据库的方法1、创建数据库表格首先需要创建一个数据表格用来存储数据,表格结构应该与你要存储的数据类型...详情>>
2023-10-14 18:58:50oracle为什么要继续开发mysql?
一、oracle为什么要继续开发mysql应该是之前收购的时候有协议吧,而且,本身面向的客户也不太一样。oracle也有不付费的用户,mysql有社区版,但...详情>>
2023-10-14 18:32:39block为什么能够捕获外界变量?
一、block能够捕获外界变量的原因在定义Block的时候,外界变量被编译器转换成了结构体成员变量,并且在调用Block的时候,这些变量的值会被拷贝...详情>>
2023-10-14 11:33:56MySQL数据库备份方法有什么?
一、MySQL数据库备份方法1、使用mysqldump命令mysqldump是MySQL提供的官方备份工具,可以将数据库以SQL格式导出到文件中。可以使用以下命令进行...详情>>
2023-10-14 09:55:06热门推荐
数据的批处理和流处理有什么区别?
沸在信息检索中检索式与提问式有什么区别?
热无连接机制的木马程序和传统的木马程序有什么区别?
热ejb和spring的区别?
新jndi和jdbc区别?
ground和floor的区别?
Local 变量和 Field 变量有哪些区别?
循环程序结构和分支程序结构有哪些区别?
怎么做一个简单的数据库,可以实现模糊查找检索?
oracle为什么要继续开发mysql?
Java怎么注解实体类实现数据库类型与Java类型对应映射?
Filemaker集合前端后台,可为什么Apple最后用的解决方案是SAP?
用char储存时间与用datetime有什么区别?
在分布式数据库存储中,数据分区和数据放置有什么区别?