3) Java RMI(Java Remote Method Invocation)用来开发分布式 Java 应用程序。一个 Java 对象的方法 能被远程 Java 虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务 器之间,只要双方的应用程序都是用 Java 写的。 4) Java IDL(Java Interface Definition Language) 提供与 CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得 Java 能集成异构的商务信息资源。 5) JNDI(Java Naming and Directory Interface)提供从 Java 平台到的统一的无逢的连接。这个接口 屏蔽了企业网络所使用的各种命名和目录服务。 6) JMAPI(Java Management API)为异构网络上系统、
网络和服务管理的开发提供一整套丰富的对象 和方法。 7) JMS(
Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅
通信、以及有关推 拉(Push/Pull)技术的各个方面。 8) JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处 理应用
程序、事务处理管理及监控。 序列化, 6. 什么是 java 序列化,如何实现 java 序列化 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对 象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时 所引发的问题。 序列化的实现: 将需要被序列化的类实现 Serializable 接口, 该接口没有需要实现的方法, implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构
造一
个 ObjectOutputStream(对象流)对象, 接着, 使用 ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。 型变量中能不能存贮一个中文汉字 为什么? 中文汉字? 7. char 型变量中能不能存贮一个中文汉字?为什么? CHAR 类型变量时能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 16 个字节,所 以放一个中文是没问题的。 值传递还是引用传递? 8. 值传递还是引用传递? 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那 么这里到底是值传递还是引用传递? 是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值 就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。 字段? 9. Java 如何读取 CLOB 字段? CLOB 字段是 Oracle 用来存储大容量内容的字段类型,CLOB 字段可以存储最高 4G 的容量。 Java 读取 CLOB 和读取普通类型字段有一点不一样,以下代码实现了如何读取 CLOB 字段: connection.setAutoCommit(false); PreparedStatement preparedStatement=connection.prepareStatement(sql); ResultSet rs=preparedStatement.executeQuery(); Clob clob=rs.getClob(colName); if(clob!=null) { Reader reader=((oracle.
sql.CLOB)clob).getCharacterStream(); BufferedReader br=new BufferedReader(reader); String value=”"; String line=”"; while((line=br.readLine())!=null) { value+=line+”\\r\\n“; } } rs.close(); preparedStatement.close(); 其中 value 就是 java 读取的 CLOB 字段的值。 的总行数? 10. Java 如何获得 ResultSet 的总行数? 取得 ResultSet 行数的方法主要有以下几种: 1. 用 ResultSet 的 getRow 方法来取得总行数 2. 利用循环 ResultSet 元素的方法取得总行数 ResultSet rset = stmt.executeQuery(”select * from table”); int rowCount = 0; while(rset.next()) {
rowCount++; } 3. 利用 SQL 语句来取得 ResultSet 的总行数 ResultSet rset = stmt.e