package util; import fileserv.FileChunk; public class Constants { public static final String INCOMPLETE_UPLOAD_SUFFIX = ".part"; public static final int MAX_UPLOADS; static { long maxMem = Runtime.getRuntime().maxMemory(); if (maxMem == Long.MAX_VALUE) { // Apparently the JVM was started without a memory limit (no -Xmx cmdline), // so we assume a default of 256MB maxMem = 256l * 1024l * 1024l; } maxMem /= 1024l * 1024l; // Now maxMem is the amount of memory in MiB MAX_UPLOADS = (int) Math.max(1, (maxMem - 64) / (FileChunk.CHUNK_SIZE_MIB + 1)); } }