diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
index 85a0807f51b668eaef1a68a89419c7cf0ce86b2e..58e0f39fca73397ccf946974ea77e82f697d011e 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
@@ -842,7 +842,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
         if (_log.shouldLog(Log.INFO))
             _log.info("Sending error " + msg + " to: " + nInfo);
         Map<String, Object> map = new HashMap<String, Object>(4);
-        List<Object> error = new ArrayList(2);
+        List<Object> error = new ArrayList<Object>(2);
         error.add(Integer.valueOf(err));
         error.add(msg);
         map.put("e", error);
@@ -1294,7 +1294,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
         } else {
             List<byte[]> hashes;
             if (peers.isEmpty()) {
-                hashes = Collections.EMPTY_LIST;
+                hashes = Collections.emptyList();
             } else {
                 hashes = new ArrayList<byte[]>(peers.size());
                 for (Hash peer : peers) {
diff --git a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java
index 3b3b77abc6b4f706c061ffadc573d6d96e0da917..f688ddc16a980f86f92d5a039a101e9937c5921b 100644
--- a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java
+++ b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java
@@ -1186,7 +1186,7 @@ public class POP3MailBox implements NewMailListener {
 		if (!isConnected())
 			return null;
 		synchronized( synchronizer ) {
-		       return new ArrayList(uidlToID.keySet());
+		       return new ArrayList<String>(uidlToID.keySet());
 		}
 	}
 
diff --git a/core/java/src/net/i2p/crypto/eddsa/math/ed25519/Ed25519LittleEndianEncoding.java b/core/java/src/net/i2p/crypto/eddsa/math/ed25519/Ed25519LittleEndianEncoding.java
index 70bd6fdf3d85e93a42c5411dcb2c951c49d28ef5..75e1196dd4480a7900dff578d570b6a28275a2e8 100644
--- a/core/java/src/net/i2p/crypto/eddsa/math/ed25519/Ed25519LittleEndianEncoding.java
+++ b/core/java/src/net/i2p/crypto/eddsa/math/ed25519/Ed25519LittleEndianEncoding.java
@@ -70,7 +70,7 @@ public class Ed25519LittleEndianEncoding extends Encoding {
 
         // Step 1:
         // Calculate q
-        q = (19 * h9 + (((int) 1) << 24)) >> 25;
+        q = (19 * h9 + (1 << 24)) >> 25;
         q = (h0 + q) >> 26;
         q = (h1 + q) >> 25;
         q = (h2 + q) >> 26;
diff --git a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java
index ba292394a75ad1edc95e3d0795939f660572dc01..cffff089c8661e85782df4eda32e8f82f66423f9 100644
--- a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java
+++ b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java
@@ -337,7 +337,7 @@ public class I2PSSLSocketFactory {
             return enabledArr;
         }
         if (log.shouldLog(Log.DEBUG)) {
-            List<String> foo = new ArrayList(selected);
+            List<String> foo = new ArrayList<String>(selected);
             Collections.sort(foo);
             log.debug("Selected: " + foo);
         }
diff --git a/router/java/src/net/i2p/router/Blocklist.java b/router/java/src/net/i2p/router/Blocklist.java
index dedc87db5e6f2e790eb0fa512d535106767a20eb..4e931f6656374fd9232e54f7a9bfe57bb31a2426 100644
--- a/router/java/src/net/i2p/router/Blocklist.java
+++ b/router/java/src/net/i2p/router/Blocklist.java
@@ -117,7 +117,7 @@ public class Blocklist {
     public void startup() {
         if (! _context.getBooleanPropertyDefaultTrue(PROP_BLOCKLIST_ENABLED))
             return;
-        List<File> files = new ArrayList(3);
+        List<File> files = new ArrayList<File>(3);
 
         // install dir
         File blFile = new File(_context.getBaseDir(), BLOCKLIST_FILE_DEFAULT);
diff --git a/router/java/src/net/i2p/router/networkdb/PublishLocalRouterInfoJob.java b/router/java/src/net/i2p/router/networkdb/PublishLocalRouterInfoJob.java
index d1bd948366f9dbc3bdf2a0c8f16bba45639827b0..5a561a10710585fcedac15a655f7762a8ee6124f 100644
--- a/router/java/src/net/i2p/router/networkdb/PublishLocalRouterInfoJob.java
+++ b/router/java/src/net/i2p/router/networkdb/PublishLocalRouterInfoJob.java
@@ -78,7 +78,7 @@ public class PublishLocalRouterInfoJob extends JobImpl {
             _log.debug("Old routerInfo contains " + oldRI.getAddresses().size() 
                        + " addresses and " + oldRI.getOptionsMap().size() + " options");
         try {
-            List<RouterAddress> oldAddrs = new ArrayList(oldRI.getAddresses());
+            List<RouterAddress> oldAddrs = new ArrayList<RouterAddress>(oldRI.getAddresses());
             List<RouterAddress> newAddrs = getContext().commSystem().createAddresses();
             int count = _runCount.incrementAndGet();
             if (_notFirstTime && (count % 4) != 0 && oldAddrs.size() == newAddrs.size()) {
diff --git a/router/java/src/net/i2p/router/tunnel/PumpedTunnelGateway.java b/router/java/src/net/i2p/router/tunnel/PumpedTunnelGateway.java
index 9493932e658440d43270a9747e4b0961d7c998a5..614c7faab9bcca51bd59c1d0e3df3eb95b302373 100644
--- a/router/java/src/net/i2p/router/tunnel/PumpedTunnelGateway.java
+++ b/router/java/src/net/i2p/router/tunnel/PumpedTunnelGateway.java
@@ -63,6 +63,7 @@ class PumpedTunnelGateway extends TunnelGateway {
         super(context, preprocessor, sender, receiver);
         if (getClass() == PumpedTunnelGateway.class) {
             // Unbounded priority queue for outbound
+            // fixme lint PendingGatewayMessage is not a CDPQEntry
             _prequeue = new CoDelPriorityBlockingQueue(context, "OBGW", INITIAL_OB_QUEUE);
             _nextHop = receiver.getSendTo();
             _isInbound = false;