Utilities type // is this a function? typeof someValue === 'function'; // is this an object? someValue != null && Object.prototype.toString.call(someValue) === "[object Object]"; // works in modern browsers Array.isArray(someValue); // w…
Principle Use the higher-level concurrency utilities instead of wait and notify for easiness. Use ConcurrentHashMap in preference to Collections.synchronizedMap or Hashtable. Use concurrent collections in preference to externally synchronized collect…