আমি খুঁজে পেয়েছি যে হটস্পট-ক্লায়েন্ট এবং-সার্ভার ব্যতীত পরিচালনা শিমের সমস্ত ভিএম আর্গুমেন্টের তালিকা করে। সুতরাং, আপনি যদি ভিএম নাম থেকে স্বীকৃত / সংরক্ষণকার যুক্তি অনুমান করেন এবং এটি রানটাইম ম্যানেজমেন্ট বিনের তালিকায় যুক্ত করেন, আপনি আর্গুমেন্টের সম্পূর্ণ তালিকা পাবেন।
এসএসসিসিই এখানে:
import java.util.*;
import java.lang.management.ManagementFactory;
class main {
public static void main(final String[] args) {
System.out.println(fullVMArguments());
}
static String fullVMArguments() {
String name = javaVmName();
return (contains(name, "Server") ? "-server "
: contains(name, "Client") ? "-client " : "")
+ joinWithSpace(vmArguments());
}
static List<String> vmArguments() {
return ManagementFactory.getRuntimeMXBean().getInputArguments();
}
static boolean contains(String s, String b) {
return s != null && s.indexOf(b) >= 0;
}
static String javaVmName() {
return System.getProperty("java.vm.name");
}
static String joinWithSpace(Collection<String> c) {
return join(" ", c);
}
public static String join(String glue, Iterable<String> strings) {
if (strings == null) return "";
StringBuilder buf = new StringBuilder();
Iterator<String> i = strings.iterator();
if (i.hasNext()) {
buf.append(i.next());
while (i.hasNext())
buf.append(glue).append(i.next());
}
return buf.toString();
}
}
আপনি যদি একটিতে যুক্তি চান তবে ছোট করা যেতে পারে List<String>
।
চূড়ান্ত দ্রষ্টব্য: কমান্ড লাইনের যুক্তিগুলির মধ্যে ফাঁকা থাকার বিরল ক্ষেত্রে পরিচালনা করার জন্য আমরা এটি বাড়িয়ে দিতে চাই।