diff --git a/htroot/api/bookmarks/posts/add_p.java b/htroot/api/bookmarks/posts/add_p.java index 12900e377..3e752e78a 100755 --- a/htroot/api/bookmarks/posts/add_p.java +++ b/htroot/api/bookmarks/posts/add_p.java @@ -77,7 +77,7 @@ public class add_p { } private static void publishNews(final String url, final String title, final String description, final String tagsString) { // create a news message - final HashMap map = new HashMap(); + final HashMap map = new HashMap(8); map.put("url", url.replace(',', '|')); map.put("title", title.replace(',', ' ')); map.put("description", description.replace(',', ' ')); diff --git a/source/de/anomic/crawler/CrawlProfile.java b/source/de/anomic/crawler/CrawlProfile.java index 8a5268613..a5e6f4a06 100644 --- a/source/de/anomic/crawler/CrawlProfile.java +++ b/source/de/anomic/crawler/CrawlProfile.java @@ -314,7 +314,7 @@ public class CrawlProfile { final int cacheStrategy) { if (name == null || name.length() == 0) throw new NullPointerException("name must not be null"); final String handle = (startURL == null) ? Base64Order.enhancedCoder.encode(Digest.encodeMD5Raw(Long.toString(System.currentTimeMillis()))).substring(0, Word.commonHashLength) : startURL.hash(); - mem = new HashMap(); + mem = new HashMap(40); mem.put(HANDLE, handle); mem.put(NAME, name); mem.put(START_URL, (startURL == null) ? "" : startURL.toNormalform(true, false)); diff --git a/source/de/anomic/crawler/ResultURLs.java b/source/de/anomic/crawler/ResultURLs.java index b6b85b82f..4ae7c37ca 100644 --- a/source/de/anomic/crawler/ResultURLs.java +++ b/source/de/anomic/crawler/ResultURLs.java @@ -59,10 +59,10 @@ public final class ResultURLs { private final Map> resultStacks; private final Map> resultDomains; - public ResultURLs() { + public ResultURLs(int initialStackCapacity) { // init result stacks - resultStacks = new HashMap>(); - resultDomains = new HashMap>(); + resultStacks = new HashMap>(initialStackCapacity); + resultDomains = new HashMap>(initialStackCapacity); for (EventOrigin origin: EventOrigin.values()) { resultStacks.put(origin, new LinkedList()); resultDomains.put(origin, new ScoreCluster()); @@ -271,7 +271,7 @@ public final class ResultURLs { * @param args */ public static void main(final String[] args) { - final ResultURLs results = new ResultURLs(); + final ResultURLs results = new ResultURLs(10); try { final DigestURI url = new DigestURI("http", "www.yacy.net", 80, "/"); final URIMetadataRow urlRef = new URIMetadataRow(url, "YaCy Homepage", "", "", "", new Date(), new Date(), new Date(), "", new byte[] {}, 123, 42, '?', new Bitfield(), "de", 0, 0, 0, 0, 0, 0); diff --git a/source/de/anomic/crawler/RobotsEntry.java b/source/de/anomic/crawler/RobotsEntry.java index 421fe8d20..041007e2c 100644 --- a/source/de/anomic/crawler/RobotsEntry.java +++ b/source/de/anomic/crawler/RobotsEntry.java @@ -99,14 +99,14 @@ public class RobotsEntry { this.allowPathList = new LinkedList(); this.denyPathList = new LinkedList(); - this.mem = new HashMap(5); + this.mem = new HashMap(10); if (loadedDate != null) this.mem.put(LOADED_DATE,Long.toString(loadedDate.getTime())); if (modDate != null) this.mem.put(MOD_DATE,Long.toString(modDate.getTime())); if (eTag != null) this.mem.put(ETAG,eTag); if (sitemap != null) this.mem.put(SITEMAP,sitemap); if (crawlDelayMillis > 0) this.mem.put(CRAWL_DELAY_MILLIS, Long.toString(crawlDelayMillis)); - if ((allowPathList != null)&&(allowPathList.size()>0)) { + if (allowPathList != null && !allowPathList.isEmpty()) { this.allowPathList.addAll(allowPathList); final StringBuilder pathListStr = new StringBuilder(allowPathList.size() * 30); @@ -117,7 +117,7 @@ public class RobotsEntry { this.mem.put(ALLOW_PATH_LIST,pathListStr.substring(0,pathListStr.length()-1)); } - if ((disallowPathList != null)&&(disallowPathList.size()>0)) { + if (disallowPathList != null && !disallowPathList.isEmpty()) { this.denyPathList.addAll(disallowPathList); final StringBuilder pathListStr = new StringBuilder(disallowPathList.size() * 30); diff --git a/source/de/anomic/crawler/ZURL.java b/source/de/anomic/crawler/ZURL.java index e18de0475..288cad8d6 100755 --- a/source/de/anomic/crawler/ZURL.java +++ b/source/de/anomic/crawler/ZURL.java @@ -90,10 +90,6 @@ public class ZURL implements Iterable { this.stack = new ConcurrentLinkedQueue(); } - public int size() { - return urlIndex.size() ; - } - public void clear() throws IOException { if (urlIndex != null) urlIndex.clear(); if (stack != null) stack.clear(); diff --git a/source/de/anomic/data/DidYouMean.java b/source/de/anomic/data/DidYouMean.java index 6734e4c86..a241b377b 100644 --- a/source/de/anomic/data/DidYouMean.java +++ b/source/de/anomic/data/DidYouMean.java @@ -224,7 +224,7 @@ public class DidYouMean { public void test(String s) throws InterruptedException { Set libr = LibraryProvider.dymLib.recommend(s); libr.addAll(LibraryProvider.geoDB.recommend(s)); - if (libr.size() != 0) createGen = false; + if (!libr.isEmpty()) createGen = false; for (String t: libr) guessLib.put(t); if (createGen) guessGen.put(s); } diff --git a/source/de/anomic/search/RankingProfile.java b/source/de/anomic/search/RankingProfile.java index 3551e0a1b..930ce83f3 100644 --- a/source/de/anomic/search/RankingProfile.java +++ b/source/de/anomic/search/RankingProfile.java @@ -121,7 +121,7 @@ public class RankingProfile { this(ContentDomain.TEXT); // set defaults if ((profile != null) && (profile.length() > 0)) { //parse external form - final HashMap coeff = new HashMap(); + final HashMap coeff = new HashMap(40); final String[] elts = ((profile.startsWith("{") && (profile.endsWith("}"))) ? profile.substring(1, profile.length() - 1) : profile).split(","); int p; final int s = (prefix == null) ? 0 : prefix.length(); @@ -187,7 +187,7 @@ public class RankingProfile { } public Map preToExternalMap(final String prefix) { - final Map ext = new HashMap(); + final Map ext = new HashMap(40); ext.put(prefix + DOMLENGTH, Integer.toString(coeff_domlength)); ext.put(prefix + YBR, Integer.toString(coeff_ybr)); ext.put(prefix + DATE, Integer.toString(coeff_date)); diff --git a/source/de/anomic/search/ReferenceOrder.java b/source/de/anomic/search/ReferenceOrder.java index 341190afe..d1ea00979 100644 --- a/source/de/anomic/search/ReferenceOrder.java +++ b/source/de/anomic/search/ReferenceOrder.java @@ -75,8 +75,6 @@ public class ReferenceOrder { public void run() { BlockingQueue vars = WordReferenceVars.transform(container); - WordReferenceVars entryMin = null; - WordReferenceVars entryMax = null; HashMap doms0 = new HashMap(); Integer int1 = 1; @@ -88,8 +86,8 @@ public class ReferenceOrder { while ((iEntry = vars.take()) != WordReferenceVars.poison) { decodedEntries.put(iEntry); // find min/max - if (entryMin == null) entryMin = iEntry.clone(); else entryMin.min(iEntry); - if (entryMax == null) entryMax = iEntry.clone(); else entryMax.max(iEntry); + if (min == null) min = iEntry.clone(); else min.min(iEntry); + if (max == null) max = iEntry.clone(); else max.max(iEntry); // update domcount dom = iEntry.metadataHash().substring(6); count = doms0.get(dom); @@ -113,8 +111,6 @@ public class ReferenceOrder { } catch (Exception e) { Log.logException(e); } finally { - if (min == null) min = entryMin.clone(); else min.min(entryMin); - if (max == null) max = entryMax.clone(); else max.max(entryMax); try { decodedEntries.put(WordReferenceVars.poison); } catch (InterruptedException e) {} diff --git a/source/de/anomic/search/SearchEvent.java b/source/de/anomic/search/SearchEvent.java index 971294cd9..7047e7293 100644 --- a/source/de/anomic/search/SearchEvent.java +++ b/source/de/anomic/search/SearchEvent.java @@ -331,7 +331,7 @@ public final class SearchEvent { } */ final TreeMap abstractJoin = (rcAbstracts.size() == query.queryHashes.size()) ? SetTools.joinConstructive(rcAbstracts.values(), true) : new TreeMap(); - if (abstractJoin.size() != 0) { + if (!abstractJoin.isEmpty()) { //System.out.println("DEBUG-INDEXABSTRACT: index abstracts delivered " + abstractJoin.size() + " additional results for secondary search"); // generate query for secondary search final TreeMap secondarySearchURLs = new TreeMap(); // a (peerhash:urlhash-liststring) mapping diff --git a/source/de/anomic/search/Switchboard.java b/source/de/anomic/search/Switchboard.java index e4c4cbadf..e2a5d5dd5 100644 --- a/source/de/anomic/search/Switchboard.java +++ b/source/de/anomic/search/Switchboard.java @@ -385,7 +385,7 @@ public final class Switchboard extends serverSwitch { indexSegments.setSegment(Segments.Process.PUBLIC, getConfig(SwitchboardConstants.SEGMENT_PUBLIC, "default")); // init crawl results monitor cache - crawlResults = new ResultURLs(); + crawlResults = new ResultURLs(100); // start yacy core log.logConfig("Starting YaCy Protocol Core"); diff --git a/source/de/anomic/server/serverClassLoader.java b/source/de/anomic/server/serverClassLoader.java index 2faadd068..5f3ba26af 100644 --- a/source/de/anomic/server/serverClassLoader.java +++ b/source/de/anomic/server/serverClassLoader.java @@ -37,12 +37,12 @@ public final class serverClassLoader extends ClassLoader { public serverClassLoader() { //super(ClassLoader.getSystemClassLoader()); super(Thread.currentThread().getContextClassLoader()); - this.classes = new HashMap>(); + this.classes = new HashMap>(100); } public serverClassLoader(final ClassLoader parent) { super(parent); - classes = new HashMap>(); + classes = new HashMap>(100); } public Package[] packages() { diff --git a/source/de/anomic/yacy/dht/Dispatcher.java b/source/de/anomic/yacy/dht/Dispatcher.java index cc9e26dc0..c8add1a26 100755 --- a/source/de/anomic/yacy/dht/Dispatcher.java +++ b/source/de/anomic/yacy/dht/Dispatcher.java @@ -211,7 +211,7 @@ public class Dispatcher { for (ReferenceContainer c: containers) { container = this.segment.termIndex().delete(c.getTermHash()); if (this.log.isFine()) this.log.logFine("selected " + container.size() + " urls for word '" + c.getTermHashAsString() + "'"); - if (container.size() != 0) rc.add(container); + if (!container.isEmpty()) rc.add(container); } } diff --git a/source/net/yacy/document/Condenser.java b/source/net/yacy/document/Condenser.java index 9eb892c11..cb10d58e4 100644 --- a/source/net/yacy/document/Condenser.java +++ b/source/net/yacy/document/Condenser.java @@ -300,7 +300,7 @@ public final class Condenser { int idx; int wordInSentenceCounter = 1; boolean comb_indexof = false, last_last = false, last_index = false; - final HashMap sentences = new HashMap(); + final HashMap sentences = new HashMap(100); // read source final sievedWordsEnum wordenum = new sievedWordsEnum(is); diff --git a/source/net/yacy/document/parser/html/CharacterCoding.java b/source/net/yacy/document/parser/html/CharacterCoding.java index ac98ef929..9a2dd4fa1 100644 --- a/source/net/yacy/document/parser/html/CharacterCoding.java +++ b/source/net/yacy/document/parser/html/CharacterCoding.java @@ -175,10 +175,10 @@ public class CharacterCoding { "\u00FF","ÿ" }; - private final static HashMap html2unicode4xml = new HashMap(); - private final static HashMap html2unicode4html = new HashMap(); - private final static HashMap unicode2html4xml = new HashMap(); - private final static HashMap unicode2html4html = new HashMap(); + private final static HashMap html2unicode4xml = new HashMap(mapping4xml.length * 2); + private final static HashMap html2unicode4html = new HashMap(mapping4html.length * 2); + private final static HashMap unicode2html4xml = new HashMap(mapping4xml.length * 2); + private final static HashMap unicode2html4html = new HashMap(mapping4html.length * 2); static { Character c; for (int i = 0; i < mapping4html.length; i += 2) { diff --git a/source/net/yacy/kelondro/index/Cache.java b/source/net/yacy/kelondro/index/Cache.java index 3f4cb9a07..e2fccb917 100644 --- a/source/net/yacy/kelondro/index/Cache.java +++ b/source/net/yacy/kelondro/index/Cache.java @@ -136,7 +136,7 @@ public final class Cache implements ObjectIndex, Iterable { private final Map memoryStats() { // returns statistical data about this object - final HashMap map = new HashMap(); + final HashMap map = new HashMap(20); map.put("objectHitChunkSize", (readHitCache == null) ? "0" : Integer.toString(readHitCache.rowdef.objectsize)); map.put("objectHitCacheCount", (readHitCache == null) ? "0" : Integer.toString(readHitCache.size())); map.put("objectHitMem", (readHitCache == null) ? "0" : Long.toString(readHitCache.rowdef.objectsize * readHitCache.size())); diff --git a/source/net/yacy/kelondro/index/ObjectArrayCache.java b/source/net/yacy/kelondro/index/ObjectArrayCache.java index bc2c98e07..30447ed0b 100644 --- a/source/net/yacy/kelondro/index/ObjectArrayCache.java +++ b/source/net/yacy/kelondro/index/ObjectArrayCache.java @@ -150,14 +150,14 @@ public final class ObjectArrayCache { } public final byte[] removeoneb() { - if ((index1 != null) && (index1.size() != 0)) { + if (index1 != null && !index1.isEmpty()) { final Row.Entry indexentry = index1.removeOne(); assert (indexentry != null); if (indexentry == null) return null; //assert consistencyAnalysis0() : "consistency problem: " + consistencyAnalysis(); return indexentry.getColBytes(1); } - if ((index0 != null) && (index0.size() != 0)) { + if (index0 != null && !index0.isEmpty()) { final Row.Entry indexentry = index0.removeOne(); assert (indexentry != null); if (indexentry == null) return null; diff --git a/source/net/yacy/kelondro/index/ObjectIndexCache.java b/source/net/yacy/kelondro/index/ObjectIndexCache.java index 2fddb8364..3392c46d5 100644 --- a/source/net/yacy/kelondro/index/ObjectIndexCache.java +++ b/source/net/yacy/kelondro/index/ObjectIndexCache.java @@ -190,34 +190,34 @@ public final class ObjectIndexCache implements ObjectIndex, Iterable } public final synchronized Row.Entry removeOne() { - if ((index1 != null) && (index1.size() != 0)) { + if (index1 != null && !index1.isEmpty()) { return index1.removeOne(); } - if ((index0 != null) && (index0.size() != 0)) { + if (index0 != null && !index0.isEmpty()) { return index0.removeOne(); } return null; } public final synchronized int size() { - if ((index0 != null) && (index1 == null)) { + if (index0 != null && index1 == null) { return index0.size(); } - if ((index0 == null) && (index1 != null)) { + if (index0 == null && index1 != null) { return index1.size(); } - assert ((index0 != null) && (index1 != null)); + assert (index0 != null && index1 != null); return index0.size() + index1.size(); } public final synchronized boolean isEmpty() { - if ((index0 != null) && (index1 == null)) { + if (index0 != null && index1 == null) { return index0.isEmpty(); } - if ((index0 == null) && (index1 != null)) { + if (index0 == null && index1 != null) { return index1.isEmpty(); } - assert ((index0 != null) && (index1 != null)); + assert (index0 != null && index1 != null); if (!index0.isEmpty()) return false; if (!index1.isEmpty()) return false; return true; diff --git a/source/net/yacy/kelondro/rwi/TermSearch.java b/source/net/yacy/kelondro/rwi/TermSearch.java index 4b0740e53..1d44f2c3c 100644 --- a/source/net/yacy/kelondro/rwi/TermSearch.java +++ b/source/net/yacy/kelondro/rwi/TermSearch.java @@ -50,7 +50,7 @@ public class TermSearch { new HashMap>(0) : base.searchConjunction(queryHashes, urlselection); - if ((inclusionContainers.size() != 0) && + if (!inclusionContainers.isEmpty() && (inclusionContainers.size() < queryHashes.size())) inclusionContainers = new HashMap>(0); // prevent that only a subset is returned diff --git a/source/net/yacy/kelondro/table/Table.java b/source/net/yacy/kelondro/table/Table.java index cecc19e4d..ff7ea8bdd 100644 --- a/source/net/yacy/kelondro/table/Table.java +++ b/source/net/yacy/kelondro/table/Table.java @@ -265,7 +265,7 @@ public class Table implements ObjectIndex, Iterable { private final Map memoryStats() { // returns statistical data about this object assert table == null || table.size() == index.size() : "table.size() = " + table.size() + ", index.size() = " + index.size(); - final HashMap map = new HashMap(); + final HashMap map = new HashMap(8); map.put("tableSize", Integer.toString(index.size())); map.put("tableKeyChunkSize", Integer.toString(index.row().objectsize)); map.put("tableKeyMem", Integer.toString(index.row().objectsize * index.size())); diff --git a/source/net/yacy/kelondro/util/Domains.java b/source/net/yacy/kelondro/util/Domains.java index 1dc66ada9..d053e82c5 100644 --- a/source/net/yacy/kelondro/util/Domains.java +++ b/source/net/yacy/kelondro/util/Domains.java @@ -357,7 +357,7 @@ public class Domains { "INT=International" }; - private static HashMap TLDID = new HashMap(); + private static HashMap TLDID = new HashMap(32); //private static HashMap TLDName = new HashMap(); private static void insertTLDProps(final String[] TLDList, final int id) { diff --git a/source/net/yacy/kelondro/util/ISO639.java b/source/net/yacy/kelondro/util/ISO639.java index 07e2fd33f..ab6a6c3ba 100755 --- a/source/net/yacy/kelondro/util/ISO639.java +++ b/source/net/yacy/kelondro/util/ISO639.java @@ -168,7 +168,7 @@ public class ISO639 { "zh-Chinese", "zu-Zulu"}; - static HashMap mapping = new HashMap(); + static HashMap mapping = new HashMap(codes.length); static { for (int i = 0; i < codes.length; i++) {