今天给各位分享java命名目录接口的知识,其中也会对java 接口命名规范进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、JAVA 怎么学习2、jndi(java命名与目录接口)api下有哪些常用的包和接口?3、什么是命名和目录服务4、javase与javaee的区别
JAVA 怎么学习
你好,学习java只要掌握好方式和方法,其实学起来并不是非常难。比如你可以自学也可以选择机构学。
java是目前主流的开发语言,程序员不论是大数据、云计算、web前端、后端开发等都需要从java学起,如果你想计入IT高薪行列,建议学java!
java学的内容主要有:
①JAVA编程基础(基础语法、面向对象、和谐特性等)
②WEB应用开发(静态网页制作、Oracle数据库、Java Web开发技术、Linux技术、网站性能与安全、软件工程开发流程、Java Web和谐等)
③企业级框架开发(数据结构与算法、SSH框架、JavaEE和谐等)
④项目实训
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
jndi(java命名与目录接口)api下有哪些常用的包和接口?
JNDI(Java 命名和目录接口)
分布式计算环境通常使用命名和目录服务来获取共享的组件和资源。命名和目录服务将名称与位置、服务、信息和资源关联起来。
命名服务提供名称—对象的映射。目录服务提供有关对象的信息,并提供定位这些对象所需的搜索工具。有许多命名和目录服务实现,并且到它们的接口是不同的。
Java 命名和目录接口或 JNDI 提供了一个用于访问不同的命名和目录服务的公共接口。请参阅 URL java.sun.com/products/jndi/serviceproviders.html 以获取支持通过 JNDI 接口访问命名和目录服务的供应商列表。
JNDI(Java Naming and Directory Interface)
当你在开发企业beans时,JNDI很重要,因为对一个EJB的访问是通过JNDI的命名服务完成的。运用一个命名服务来查找与一个特定名字相关的一个对象。在EJB context中,一个命名服务找到一个企业bean,给定这个bean的名字。因此,了解JNDI在开发一个EJB应用程序中是至关重要的。另外,JDBC可以用JNDI来访问一个关系数据库。
附:The JNDI Tutorial
(下载)
JDBC2.0扩展API(1)
[ 作者: 不详 添加时间: 2001-8-24 14:11:50 ]
来源:
JDBC 2.0 API被划分为两部分:JDBC 2.0核心API和JDBC 2.0标准扩展API。核心API在java.sql里面。这是原来的版本就实现了的基本的功能。标准扩展API在javax.sql里面。由JDBC2.0规范新规定的一些接口在这里面。当然,JDBC2.0也对原来版本的java.sql核心做了一些改动。不过不是很大。原来JDBC1.0的程序可以不加修改的在JDBC2.0上运行。这是Java的一贯的良好的作风。最新的JDBC包可以从sun公司的网站上下载。
JDBC2.0的扩展API增加了一些数据访问和数据源访问的重大的功能。这中间有一些是主要用来做企业计算的。用JDBC2.0的新的扩展包,JDBC提供了一个从JAVA2平台的通用的数据访问的方法。
首先,我们来看看JDBC标准扩展的API怎样来和JDBC2.0结合在一起的。JDBC2.0包括两个包:
1、 java.sql包,个包里面是JDBC2.0的核心API。它包括了原来的JDBC API(JDBC 1.0版本),再加上一些新的2.0版本的API。这个包在Java 2 Platform SDK里面有。
2、 javax.sql包,这里面是JDBC2.0的标准扩展API。这个包是一个全新的,在Java 2 Platform SDK, Enterprise Edition里面单独提供。
JDBC2.0的核心API包括了JDBC1.0的API,并在此基础上增加了一些功能,对某些性能做了增强。使java语言在数据库计算的前端提供了统一的数据访问方法,效率也得到了提高。
JDBC是向后兼容的,JDBC1.0的程序可以不加修改的运行在JDBC2.0上。但是,假如程序中用到了JDBC2.0的新特性,就必须要运行在JDBC2.0版本上。
概括的来说,JDBC核心API的新特性在两个方面做了工作。一个是支持一些新的功能,另一个就是支持SQL3的数据类型。
1、 在支持新功能方面:包括结果集可以向后滚动,批量的更新数据。另外,还提供了UNICODE字符集的字符流操作。
2、 在支持SQL3的数据类型方面:包括新的SQL3数据类型,增加了对持久性对象的存贮。
为了对数据的存取,操作更加方便,JDBC的新特性是应用程序的设计更容易了。例如:数据块的操作能够显著的提高数据库访问的性能。新增加的BLOB, CLOB,和数组接口能够是应用程序操作大块的数据类型,而不必客户端在存贮之前进行其它的处理。这样,就显著的提高了内存的使用效率。
下面我们来介绍JDBC2.0的标准扩展API。标准扩展API分为如下几个方面:
1、 DataSource接口:和Java名字目录服务(JNDI)一起工作的数据源接口。它提供了对数 吹囊恢指玫牧臃椒ā?br;2、 Connection pooling(连接池):可以重复使用连接,而不是对每个请求都使用一个新的连接。
3、 Distrubute transaction(分布式的事务):在一个事务中涉及到了多个数据库服务器。
4、 Rowsets:JavaBean组件包含了结果集,主要用来将数据传给瘦客户,或者提供一个可以滚动的结果集。
下面我们一个一个来介绍:
一、DataSource接口是一个更好的连接数据源的方法:
JDBC1.0是原来是用DriverManager类来产生一个对数据源的连接。JDBC2.0用一种替代的方法,使用DataSource的实现,代码变的更小巧精致,也更容易控制。
一个DataSource对象代表了一个真正的数据源。根据DataSource的实现方法,数据源既可以是从关系数据库,也电子表格,还可以是一个表格形式的文件。当一个DataSource对象注册到名字服务中,应用程序就可以通过名字服务获得DataSource对象,并用它来产生一个与DataSource代表的数据源之间的连接。
关于数据源的信息和如何来定位数据源,例如数据库服务器的名字,在哪台机器上,端口号等等,都包含在DataSource对象的属性里面去了。这样,对应用程序的设计来说是更方便了,因为并不需要硬性的把驱动的名字写死到程序里面去。通常驱动名字中都包含了驱动提供商的名字,而在DriverManager类中通常是这么做的。如果数据源要移植到另一个数据库驱动中,代码也很容易做修改。所需要做的修改只是更改DataSource的相关的属性。而使用DataSource对象的代码不需要做任何改动。
由系统管理员或者有相应权限的人来配置DataSource对象。配置DataSource,包括设定DataSource的属性,然后将它注册到JNDI名字服务中去。在注册DataSource对象的的过程中,系统管理员需要把DataSource对象和一个逻辑名字关联起来。名字可以是任意的,通常取成能代表数据源并且容易记住的名字。在下面的例子中,名字起为:InventoryDB,按照惯例,逻辑名字通常都在jdbc的子上下文中。这样,逻辑名字的全名就是:jdbc/ InventoryDB。
一旦配置好了数据源对象,应用程序设计者就可以用它来产生一个与数据源的连接。下面的代码片段示例了如何用JNDI上下文获得一个一个数据源对象,然后如何用数据源对象产生一个与数据源的连接。开始的两行用的是JNDI API,第三行用的才是JDBC的API:
Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup(“jdbc/InventoryDB”);Connection con = ds.getConnection(“myPassword”, “myUserName”);
在一个基本的DataSource实现中,DataSource.getConnection方法返回的Connection对象和用DriverManager.getConnection方法返回的Connection对象是一样的。因为DataSource提供的方便性,我们推荐使用DataSource对象来得到一个Connection对象。我们希望所以的基于JDBC2.0技术的数据库驱动都包含一个基本的DataSource的实现,这样就可以在应用程序中很容易的使用它。
对于普通的应用程序设计者,是否使用DataSource对象只是一个选择问题。但是,对于那些需要用的连接池或者分布式的事务的应用程序设计者来说,就必须使用DataSource对象来获得Connection,原因在下面我们会提到。
二、Connection pooling(连接池):
连接池是这么一种机制,当应用程序关闭一个Connection的时候,这个连接被回收,而不是被destroy,因为建立一个连接是一个很费资源的操作。如果能把回收的连接重新利用,会减少新创建连接的数目,显著的提高运行的性能。
假设应用程序需要建立到一个名字为EmpolyeeDB的DataSource的连接。使用连接池得到连接的代码如下:
Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup(“jdbc/EmployeeDB”);Connection con = ds.getConnection(“myPassword”, “myUserName”);除了逻辑名字以外,我们发现其代码和上面举的例子的代码是一样的。逻辑名字不同,就可以连接到不同的数据库。DataSource对象的getConnection方法返回的Connection是否是一个连接池中的连接完全取决于DataSource对象的实现方法。如果DataSource对象实现与一个支持连接池的中间层的服务器一起工作,DataSource对象就会自动的返回连接池中的连接,这个连接也是可以重复利用的。
是否使用连接池获得一个连接,在应用程序的代码上是看不出不同的。在使用这个Connection连接上也没有什么不一样的地方,唯一的不同是在java的finally语句块中来关闭一个连接。在finally中关闭连接是一个好的编程习惯。这样,即使方法抛出异常,Connection也会被关闭并回收到连接池中去。代码应该如下所示:
try{…
}catch(){…
}finally{ if(con!=null)con.close();}
三、分布式事务:
获得一个用来支持分布式事务的连接与获得连接池中的连接是很相似的。同样,不同之处在于DataSource的实现上的不同,而不是在应用程序中获得连接的方式上有什么不同。假设DataSource的实现可以与支持分布式事务中间层服务器一起工作,得到连接的代码还是如下所示:
Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup(“jdbc/EmployeeDB”); Connection con = ds.getConnection(“myPassword”, “myUserName”);由于性能上的原因,如果一个DataSource能够支持分布式的事务,它同样也可以支持连接池管理。
从应用程序设计者的观点来看。是否支持分布式的事务的连接对它来说没什么不同,唯一的不同是在事务的边界上(开始一个事务的地方和结束一个事务的地方),开始一个事务或者结束一个事务都是由事务服务器来控制的。应用程序不应该做任何可能妨碍服务的事情。应用程序不能够直接调用事务提交commit或者回滚rollback操作,也不能够使用事务的自动提交模式auto-commit mode(在数据库操作完成的时候自动的调用commit或者rollback)。
在一个连接参与了分布式事务的时候,下面的代码是你不能做的(con表示支持分布式事务的连接Connection)。
con.commit();或者con.rollback();或者con.setAutoCommit(true);对于通常的Connection来说,缺省的是auto-commit模式。而对于支持分布式事务的Connection来说,缺省不是auto-commit模式。注意,即使Connection是支持事务的,它也可以用于没有事务的情况。关于事务边界的限制只是是对分布式事务的情况下才成立的。
配置支持连接池的DataSource的时候,涉及到配置ConnectionPoolDataSource对象,这个对象是三层体系结构中的中间层来管理连接池的。同样的,在配置支持分布式事务的时候,需要配置XADataSource,XADataSource是中间层用来管理分布式事物的对象。ConnectionPoolDataSource和XADataSource是由驱动提供商提供的,对应用程序的设计者来说是透明的。和基本的DataSource一样,系统管理员来配置ConnectionPoolDataSource和XADataSource对象。
四、结果集:
结果集对象是一行行数据的容器。根据其目的,可以通过多种方法实现。RowSet及其相关的接口与JDBC2.0的标准扩展API有点不同,他们并不是驱动的一部分,RowSet是在驱动的上层实现的,可以由其它的任何人来实现他们。
任何类型的rowset都实现了RowSet接口,RowSet接口扩展了ResultSet接口。这样RowSet对象就有了ResultSet对象所有的功能。能够通过getXXX方法得到数据库中的某列值,通过updateXXX方法可以修改某列值,可以移动光标,是当前行变为另一行。
当然,我们更感兴趣的是RowSet接口提供的新的功能。作为一个JavaBean组件,RowSet对象可以增加或者删除一个listener(监听者),可以get或者set其属性值,这些属性中,有一个是字符串,表示一个对数据库Query请求,RowSet接口定义了设定参数的方法,也提供了执行这个请求的方法。这意味着RowSet对象能够执行查询请求,可以根据它产生的结果集进行计算。同样,RowSet也可以根据任何表格数据源进行计算,所以,它不局限于关系数据库。
从数据源得到数据之后,RowSet对象可以和数据源断开连接,rowset也可以被序列化。这样,RowSet就可以通过网络传递给瘦客户端。
RowSet可以被重新连接到数据源,这样,做的修改就可以存回到数据源中去。如果产生了一个listener,当RowSet的当前行移动,或者数据被修改的时候,监听者就会收到通知。例如,图形用户界面组件可以注册成为监听者,当RowSet更改的时候,图形用户界面接到通知,就可以修改界面,来符合它所表示的RowSet。
根据不同的需要,RowSet接口可以通过多种方法来实现。Java software已经写了一个CachedRowSet实现,从中可以得到这个实现。
与CachedRowSet类不样的是,JDBCRowSet类总是保持一个和数据源的连接。这样,在ResultSet外围简单到加了一层,是基于JDBC技术的驱动看起来象是一个简单的JavaBean组件一样。
总结:JDBC2.0标准扩展API通过见DataSource注册到JNDI名字服务上,将JDBC技术扩展为一个全新的概念。使应用程序的代码更加精巧,易于控制。新的API支持了连接池,支持分布式的事务。最后,还使java应用程序可以在网络上传播结果集,是不可以滚动的ResultSet变成了可以滚动的RowSet。
什么是命名和目录服务
JNDI:命名和目录服务
stringpropertiesjavacredentialsinterfaceapi
主要内容
-JNDI介绍
-JNDI架构
-包结构
-JNDI上下文
-JNDI的使用
-JNDI实例
2.1 JNDI介绍
——Java命名和目录接口(Java Naming and Directory Interface,JNDI)是一组在Java应用中访问命名和
目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在
这种服务里,对象不但有名称,还有属性。
——命名和目录服务用于在分布式计算环境中共享资源,用户在不清楚资源具体位置的情况下,依靠这种服务机制
可以获取和使用资源。
——JNDI允许服务器按照指定的名字处置对象,远程客户机可以检索JNDI服务,获得一个对指定对象的引用。JNDI
最简单的形式就是用来查找通过Java EE 5服务器注册的资源。
命名服务
——命名服务作为一种基础设施出现在众多的计算机系统,其意义在于提供根据名称关联对象和通过对象匹配相应
名称的服务。命名服务允许你通过名称找到一个与之对应的对象。
——一个命名服务的主要功能就是把一个人类容易理解的名字映射到相应的对象。举例来说,Internet域名系统(
DNS)把机器名字(例如)映射到IP地址(192.9.48.5)。一个文件系统把一个文件名(例如c:/
bin/autoexec.bat)映射到一个文件句柄以便程序能够存取文件的内容。
目录服务
——目录服务是命名服务的自然扩展。两者之间的主要差别是目录服务中对象可以有属性(例如,用户有email地址),
而命名服务中对象没有属性。因此,在目录服务中,你可以根据属性搜索对象。JNDI允许你访问文件系统中的文件,
定位远程RMI注册的对象,访问象LDAP这样的目录服务,定位网络上的EJB组件。
2.2 JNDI架构
JNDI架构提供了一组标准的独立于命名系统的API,这些API构件在于命名系统有关的驱动之上。这一层有助于将应用
与实际数据源分离,而不用理会应用访问的是LDAP,RMI,DNS,还是其他的目录服务。换句话说,JNDI独立于目录服务
的具体实现,只要你有目录的服务提供接口(或驱动),你就可以使用目录服务。
Java应用程序
—————
JNDI应用编程接口
——————
命名和目录管理器
———————-
服务提供者接口(SPI)
————————–
Weblogic JNDI树|LDAP|RMI|DNS|……
2.2 JNDI架构
JNDI提供了应用编程接口(application programming interface,API)和服务提供者接口(service provider
interface,SPI).这一点的真正含义是,要让你的应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,
这正是JNDI SPI发挥作用的地方。服务提供者,这正是JNDI SPI发挥作用的地方。服务提供者基本上是一组类,这些
类为各种具体的命名和目录服务实现了JNDI接口-很像JDBC驱动为各种具体的数据库系统实现了JDBC接口一样。作为
一个应用开发者,你不必操心JNDI SPI。你只需要确认你要使用的每一个命名或目录服务都有服务提供者。
2.3 包结构
——JNDI包含在Java SE平台中。要使用JNDI,您必须有JNDI的类和至少一个服务提供者。JDK 1.3及以上的版本包
含了JNDI,支持以下服务:
1.LDAP(Lightweight Directory Access Protocol)服务提供者
2.CORBA COS(Common Object Request Broker Architecture Common Object Services)命名服务提供
者
3.RMI(Java Remote Method Invocation)注册服务提供者
4.DNS(Domain Name System)服务提供者
2.3 包结构
更多的服务提供者可以在如下网址找到可以下载的服务提供者列表:
特别有意思的或许是如下网址提供的Windows 注册表JNDI服务提供者:
这个服务提供者使你可以访问Windows XP/2000/NT/Me/9x的windows注册表。也可以在如下网址下载JNDI/LDAP Booster Pack:
这个Booster Pack包含了对流行的LDAP控制的支持和扩展。它代替了与LDAP 1.2.1服务提供者捆绑在一起的booster pack。
关于控制和扩展的更多信息可以在如下网站看到:
另一个有趣的服务提供者是Sun的支持DSML v2.0(Directory Service Markup Language,目录服务标记语言)的服务提供者。DSML的目的是在目录服务和XML之间架起一座桥梁。
2.3 包结构
JNDI API由5个包组成:
1、Javax.naming:包含了访问命名服务的类和接口。例如,它定义了Context接口,这是命名服务执行查询的入口。
2、Javax.naming.directory:对命名包的扩充,提供了访问目录服务的类和接口。例如,它为属性增加了新的类,提供了表示目录上下文的DirContext接口,定义了检查和更新目录对象的属性的方法。
3、Javax.naming.event:提供了对访问命名和目录服务时的时间通知的支持。例如,定义了NamingEvent类,这个类用来表示命名/目录服务产生的事件,定义了侦听NamingEvents的NamingListener接口。
4、Javax.naming.ldap:这个包提供了对LDAP 版本3扩充的操作和控制的支持,通用包javax.naming.directory没有包含这些操作和控制。
5、Javax.naming.spi:这个包提供了一个方法,通过javax.naming和有关包动态增加对访问命名和目录服务的支持。这个包是为有兴趣创建服务提供者的开发者提供的。
2.4 JNDI上下文
java.naming包中定义了Context接口,这是查询、binding/unbinding、重命名对象,以及创建和删除子上下文的核心接口。
命名服务将名称和对象联系起来。这种联系称之为绑定(binding)。一组这样的绑定称之为上下文(context),上下文提供了解析(即返回对象的查找操作)。其他操作包括:名称的绑定和取消绑定,列出绑定的名称。
lookup
最常用的操作是look()。您为lookup()提供想要查找的对象名,它返回绑定到这个名称的对象。
bindings
listBindings()返回名-对象绑定的枚举。一个绑定是一个三元组,包含绑定对象的名称、对象的类名以及对象本身。
List
list()和listBindings()类似,但它返回的名称枚举包含对象名和对象的类名。list()对于想要浏览上下文中绑定对象的信息,但不想得到实际的对象这类应用程序很有用。即使listBindings()提供所有相同的信息,但这是一个很昂贵的操作。
Name
Name是一个代表一般名称的接口,零个或多个组件的有序列表。命名系统使用这个接口定义名称,这些名称遵循名称和目录概念一节中的约定。
References
使用不同的方式保存在命名和目录服务中的对象。引用是对象的十分简单的代表。
JNDI定义了表示引用的引用类。引用包含了如何创建对象副本的信息。JNDI尝试将目录中查找到的对象应用转化成它所代表的Java对象,所以JNDI客户端有保存在目录中的是实际的Java对象这种假象。
2.5 JNDI的使用
-创建初始上下文环境
Context ctx=new InitialContext();
-JNDI对象绑定
String s=“Test String”;
ctx.bind(“Chapter2”,s);
-JNDI对象的重新绑定
ctx.rebind(“Chapter2”,s);
-删除JNDI对象
ctx.unbind(“Chapter2”);
-查找名字服务中某个对象的引用
String s=(String)ctx.lookup(“Chapter2”);
2.6 JNDI 实例
简单实例:
-将一个String对象绑定到名字“name”上,并给其赋值为JNDI Test example,然后将其输出。
-给name重新赋值为welcome to you,再将其输出。
public class JNDIDemo
{
public static void main(String[] args)
{
Context ctx=null;
Properties p=new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,”weblogic.jndi.WLInitialContextFactory”);
p.put(Context.PROVIDER_URL,”t3://www.easyaq.com:7001″);
try{
ctx=new InitialContext(p);
String test=”JNDI Test example”;
ctx.bind(“name”,test);
String s=(String)ctx.lookup(“name”);
System.out.println(s);
String str=”welcome to you “;
ctx.rebind(“name”,str);
s=(String)ctx.lookup(“name”);
System.out.println(s);
}
catch(NamingException e)
{
System.out.println(e.toString());
}
}
}
附加安全验证的实例
客户机在创建InitialContext时,通过在属性值中加入两个属性来设置用户名和密码。
Properties p=new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,”weblogic.jndi.WLInitialContextFactory”);
p.put(Context.PROVIDER_URL,”t3://www.easyaq.com:7001″);
//下面的内容是为了验证用户身份而设置的
p.put(Context.SECURITY_PRINCIPAL,”maly”);//用户名maly
p.put(Context.SECURITY_CREDENTIALS,”12345678″);//密码12345678
END
javase与javaee的区别
javase与javaee的区别在于领域不同和作用不同:
1、领域不同:
javase为平台标准版,可供任何领域使用。
javaee为平台企业版,主要供应企业的使用。
2、作用不同:
javase提供了开发与运行Java软件的编译器等开发工具、软件库及Java虚拟机。它也是Java2平台、企业版本和Java网页服务的基础。
JavaEE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等。
同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。
Java SE的简介:
Java se是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算,从此Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。
Java语言恐怕是稳居网路应用程序语言的首选了,这都要归功于它高度的安全性以及跨平台的特性,几乎在目前所有的电脑平台上您都可以见得到Java的芳踪。
Java se用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序,Java SE包括用于开发Java Web服务的类库,同时,Java SE为Java EE提供了基础。
Java Se的特点:
Java是一门面向对象的编程语言;
面向对象(Object Oriented) 是一种软件开发思想。它是对现实世界的一种抽象,面向对象会把相关的数据和方法组织为一个整体来看待。
Java摒弃了C++中难以理解的多继承、指针、内存管理等概念;不用手动管理对象的生命周期
Java语言具有功能强大和简单易用两个特征,现在企业级开发,快速敏捷开发,尤其是各种框架的出现,使Java成为越来越火的一门语言。
Java是门静态语言,静态语言指的就是在编译期间就能够知道数据类型的语言,在运行前就能够检查类型的正确性,一旦类型确定后就不能再更改。
Java具有平台独立性和可移植性;
Java有一句非常著名的口号:Write once,run anywhere,也就是一次编写,到处运行。
Java能够容易实现多线程;
Java具有高性能;
Java具有健壮性;
Java很容易开发分布式项目。
JavaEE的简介:
JavaEE应用程序是由组件构成的,也就是说它是基于组件开发的。组件是具有独立功能的单元,它们通过相关的类和文件组装成JavaEE应用程序,并与其它组件相交互。一个组件的更改不会影响其它组件,代码重复减少,重用率高。有利于良好的分工与协作,实现并行开发。如果是用三层结构开发,那么表示层与数据访问层相互独立,因此美工可以更方便的扩充表示层,使系统具有良好的可扩展性。
JavaEE技术内容:
JDBC:
java数据连接,是一种用于执行SQL语句的java API.,可以为多种关系数据库提供统一访问。有了JDBC就不用因为不同的数据库而要写个不同的应用程序,开发人员只需要使用JDBC API写一个程序就够了。
JNDI:
java命名和目录接口,提供了一种统一的方式可以在网络上查找和访问服务,通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回数据库链接简历所必须的信息。
在DataSource中事先简历多个数据库链接,保存在数据库连接池中,当程序访问数据库时,只用从连接池中取空闲状态的数据库链接即可,访问结束,撤销资源,数据库链接重新回到连接池。
EJB:
EJB是sun的javaEE服务器端组建模型,设计目标与核心应用是部署分布式应用程序,简单来说就是把已经编写好的程序(即类)打包放到服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。包括四种对象类型:无状态回话bean(提供独立服务),有状态回话bean(提供回话交互),实体bean(持久性数据在内存中的体现,服务器崩溃后可恢复),消息驱动bean。
RMI:
远程方法调用,能够让某个java虚拟机上的对象像调用本地对象一样的调用另外一个java虚拟机中的对象上的方法。
JSP:
Java服务器页面,是一个动态内容模板,实现了html语法中的java扩展。
Servlet:
Servlet是一种小型的java程序,它扩展了web服务器的功能,作为一种服务器端的应用,当被请求时同时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与jsp类似,不过实现的方式不同,jsp通常是大多数html代码中嵌入少量的java代码,而servlets全部由java写成并且合并成html
XML:
是一种可扩展的标记语言,被用来在不同的商务过程中共享数据,其目标是平台独立性,记得在学习xml的时候,可以自己写标签,只要有结束标签就可以识别,还是相当强大的。
JMS:
是一个java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持,消息通信可以是点对点的,也可以是发布订阅型的。
java IDL:
JavaIDL支持的是一个瞬间的CORBA对象,即在对象服务器处理过程中有效。实际上,java IDL的ORB是一个类库而已,并不是一个完整的平台软件,但它对java IDL应用系统和其他CORBA应用系统之间提供了很好的底层通信支持,实现了OMG定义的ORB基本功能。
JTS:
组件事物监听器,TPM是一个程序,它代表应用程序协调分布式事物的执行。TPM与数据库出现的时间长短差不多;在60年代后期,IBM首先开发了CICS,至今人们仍在使用。经典的(或者说程序化)TPM管理被程序化定义为针对事务性资源(比如数据库)的操作序列的事物。随着分布式对象协议,如CORBA、DCOM和RMI的出现,人们希望看到事务更面向对象的前景,将事务性语义告知面向对象的组件要求对TPM模型进行扩展-在这个模型中事务是按照事务性对象的调用方法定义的,JTS只是一个组件事物监听器(有时也称为对象事务监听器(object transaction monitor))或称为CTM。
JTA:
JTA允许应用程序执行分布式事务处理—在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大的增强了数据访问能力。
JavaMail:
提供给开发者处理电子邮件相关的编程接口。
JAF:
JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。
java命名目录接口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 接口命名规范、java命名目录接口的信息别忘了在本站进行查找喔。