--- old/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java Fri Feb 24 10:52:27 2012 +++ new/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java Fri Feb 24 10:52:25 2012 @@ -85,7 +85,7 @@ private DataOutputStream dataOut; /** table holding currently open connection IDs and related info */ - private Hashtable connectionTable = new Hashtable(7); + private Hashtable connectionTable = new Hashtable<>(7); /** number of currently open connections */ private int numConnections = 0; @@ -131,7 +131,6 @@ { try { int op, id, length; - Integer idObj; MultiplexConnectionInfo info; while (true) { @@ -148,9 +147,7 @@ multiplexLog.log(Log.VERBOSE, "operation OPEN " + id); } - idObj = new Integer(id); - info = - (MultiplexConnectionInfo) connectionTable.get(idObj); + info = connectionTable.get(id); if (info != null) throw new IOException( "OPEN: Connection ID already exists"); @@ -158,7 +155,7 @@ info.in = new MultiplexInputStream(this, info, 2048); info.out = new MultiplexOutputStream(this, info, 2048); synchronized (connectionTable) { - connectionTable.put(idObj, info); + connectionTable.put(id, info); ++ numConnections; } sun.rmi.transport.Connection conn; @@ -174,9 +171,7 @@ multiplexLog.log(Log.VERBOSE, "operation CLOSE " + id); } - idObj = new Integer(id); - info = - (MultiplexConnectionInfo) connectionTable.get(idObj); + info = connectionTable.get(id); if (info == null) throw new IOException( "CLOSE: Invalid connection ID"); @@ -185,7 +180,7 @@ if (!info.closed) sendCloseAck(info); synchronized (connectionTable) { - connectionTable.remove(idObj); + connectionTable.remove(id); -- numConnections; } break; @@ -199,9 +194,7 @@ "operation CLOSEACK " + id); } - idObj = new Integer(id); - info = - (MultiplexConnectionInfo) connectionTable.get(idObj); + info = connectionTable.get(id); if (info == null) throw new IOException( "CLOSEACK: Invalid connection ID"); @@ -211,7 +204,7 @@ info.in.disconnect(); info.out.disconnect(); synchronized (connectionTable) { - connectionTable.remove(idObj); + connectionTable.remove(id); -- numConnections; } break; @@ -219,9 +212,7 @@ // remote endpoint declaring additional bytes receivable case REQUEST: id = dataIn.readUnsignedShort(); - idObj = new Integer(id); - info = - (MultiplexConnectionInfo) connectionTable.get(idObj); + info = connectionTable.get(id); if (info == null) throw new IOException( "REQUEST: Invalid connection ID"); @@ -238,9 +229,7 @@ // remote endpoint transmitting data packet case TRANSMIT: id = dataIn.readUnsignedShort(); - idObj = new Integer(id); - info = - (MultiplexConnectionInfo) connectionTable.get(idObj); + info = connectionTable.get(id); if (info == null) throw new IOException("SEND: Invalid connection ID"); length = dataIn.readInt(); @@ -273,7 +262,6 @@ // If all possible 32768 IDs are used, // this method will block searching for a new ID forever. int id; - Integer idObj; do { lastID = (++ lastID) & 0x7FFF; id = lastID; @@ -283,8 +271,7 @@ // two endpoints. if (orig) id |= 0x8000; - idObj = new Integer(id); - } while (connectionTable.get(idObj) != null); + } while (connectionTable.get(id) != null); // create multiplexing streams and bookkeeping information MultiplexConnectionInfo info = new MultiplexConnectionInfo(id); @@ -298,7 +285,7 @@ if (numConnections >= maxConnections) throw new IOException("Cannot exceed " + maxConnections + " simultaneous multiplexed connections"); - connectionTable.put(idObj, info); + connectionTable.put(id, info); ++ numConnections; } @@ -331,10 +318,10 @@ return; alive = false; - Enumeration enum_ = connectionTable.elements(); + Enumeration enum_ = + connectionTable.elements(); while (enum_.hasMoreElements()) { - MultiplexConnectionInfo info = - (MultiplexConnectionInfo) enum_.nextElement(); + MultiplexConnectionInfo info = enum_.nextElement(); info.in.disconnect(); info.out.disconnect(); }