I have 81K records of Long object and I am trying to store it in HashSet. My code snippet looks like this:
private static HashSet<Long> hashSet = new HashSet<>(Arrays.asList(*81K records*));
While compiling this is giving me StackOverflow Error
. I am not understanding why only 81K records are being problem here? Solutions are appreciated.
Java version. :
openjdk version "1.8.0_322"
OpenJDK Runtime Environment Corretto-8.322.06.1 (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM Corretto-8.322.06.1 (build 25.322-b06, mixed mode)
Stack Trace:
[javac]
[javac]
[javac] The system is out of resources.
[javac] Consult the following stack trace for details.
[javac] java.lang.StackOverflowError
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
[javac] at com.sun.tools.javac.code.Type.map(Type.java:220)
Line 220 of Type
:
208 /**
209 * Return the least specific subtype of t that starts with symbol
210 * sym. If none exists, return null. The least specific subtype
211 * is determined as follows:
212 *
213 * <p>If there is exactly one parameterized instance of sym that is a
214 * subtype of t, that parameterized instance is returned.<br>
215 * Otherwise, if the plain type or raw type `sym' is a subtype of
216 * type t, the type `sym' itself is returned. Otherwise, null is
217 * returned.
218 */
219 public Type asSub(Type t, Symbol sym) {
220 return asSub.visit(t, sym);
221 }
222 // where
223 private final SimpleVisitor<Type,Symbol> asSub = new SimpleVisitor<Type,Symbol>() {