草庐IT

jvm-arguments

全部标签

java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified问题

问题如图:1.问题描述IllegalArgumentException顾名思义,非法参数异常(差点看出来了,但凡我英文好点......)Nameforargumentoftype[java.lang.String]notspecified,andparameternameinformationnotfoundinclassfileeither.未指定[java.lang.String]类型的参数的名称,并且在类文件中也找不到参数名称信息。2.总结产生问题先看一下自己的代码,我看到问题就被吓到了,就去搜,也没仔细看是什么异常,嗯,这千万不要啊!先看是什么异常,再看代码嘛。结果发现,不小心多打了两

java - 使用 Vert.x 事件总线 'locally'(java,单个 jvm)时是否可以避免序列化?

我的情况是:单个JVM仅Java(我不需要通晓多种语言)我不想支付序列化成本来在总线上发布不可变事件(发布对java对象的引用会起作用)。我知道vert.x事件总线的范围比我的用例要广泛得多。我想到了一个类似于akka的行为:当你去分发时,你必须为你的消息提供序列化,如果你留在本地,引用就会被传递。有什么可以让我在Vert.x中做到这一点吗? 最佳答案 Vert.x已经有了这样的优化。当发送到同一个JVM时,对象不会被序列化或反序列化。你可以在这里看到实际的代码:https://github.com/eclipse/vert.x/b

java - 从 JNI 方法中创建 JVM

是否可以使用JNIAPI从JNI方法中创建JVM?我尝试使用JNI函数“JNI_CreateJavaVM()”来执行此操作,但它不起作用(该函数一直返回小于零的值)。这是我使用的基本代码(C++):JNIEnv*env;JavaVM*jvm;jintres;#ifdefJNI_VERSION_1_2JavaVMInitArgsvm_args;JavaVMOptionoptions[2];options[0].optionString="-Djava.class.path="USER_CLASSPATH;options[1].optionString="-verbose:jni";vm_

java - 一台机器上可以有多少个 JVM?

我有一个无限运行的类(什么都不做,只是循环和sleep),叫做NeverReturn。我尝试在WindowsXP32位中使用以下命令运行它:java-Xms1200MNeverReturn我发现使用命令我只能同时创建4个java实例。第5个和下一个java命令将无法创建jvm。如果我将命令更改为-Xms600M,我可以创建8个java实例。第九次失败。谁能解释一下?我正在使用sunjdk1.6update23和jdk1.5update22。 最佳答案 如果您有四个JVM实例,每个实例使用1200M内存,那么您将分配4800M内存。如

java - "classpath:"前缀是 Spring 特有的,还是 JVM 的概念?

我的web.xml中有这个:contextConfigLocationclasspath:spring-config.xml我怀疑这是只有Spring使用的约定?如果是,加载我的应用程序是否会花费更长的时间,因为我没有指定直接文件位置,但现在它必须搜索整个类路径? 最佳答案 IsuspectthisisaconventionusedonlybySpring?是的,它代表一个ClassPathResource并且是Spring'sResourceabstraction的一部分Ifitis,willittakemyapplongerto

java - JVM 字符串方法实现

String类有一些方法,我不明白为什么要这样实现它们...replace就是其中之一。publicStringreplace(CharSequencetarget,CharSequencereplacement){returnPattern.compile(target.toString(),Pattern.LITERAL).matcher(this).replaceAll(Matcher.quoteReplacement(replacement.toString()));}与更简单、更高效(快速!)的方法相比,是否有一些明显的优势?publicstaticStringreplace

java - noverify 和 Xverify :none? 的区别

JVM参数noverify和Xverify:none之间有什么区别? 最佳答案 它们是一样的。-X表示非标准参数。非标准参数仅适用于某些VM(因此得名非标准)。noverify只是Xverify:none的快捷方式。为什么两者都有?我不认为你会得到真正的答案,除非你问开发人员-它没有记录(据我所知)。我最好的猜测是保持一致并减少冗长。这只是猜测,但是noverify存在的原因可能是基于开发人员使用-Xverify:true的频率。如果默认启用验证,则没有太多理由使用-Xverify:true,因此-Xverify:false将是使用

java - JVM源码中的 'intrinsify'是什么意思?

'intrinsify'是否意味着JVM的源代码有些'保守',但是JIT编译器可以在JVM预热时做一些优化?例如,UNSAFE_ENTRY(void,Unsafe_SetOrderedObject(JNIEnv*env,jobjectunsafe,jobjectobj,jlongoffset,jobjectx_h))UnsafeWrapper("Unsafe_SetOrderedObject");oopx=JNIHandles::resolve(x_h);oopp=JNIHandles::resolve(obj);void*addr=index_oop_from_field_offse

java - JVM 在守护线程未完成之前不退出

我刚刚偶然发现守护线程的一种奇怪行为,我无法解释。我已将我的代码缩减为最小、完整且可验证的示例:publicstaticvoidmain(String[]args)throwsInterruptedException{Threadrunner=newThread(()->{finalintSIZE=350_000;for(inti=0;irunner线程执行的代码大约需要12秒才能在我的盒子上终止,我们对它的作用不感兴趣,因为我只需要花一些时间进行计算。如果此代码段按原样运行,它将按预期工作:它在启动后立即终止。如果我取消注释Thread.sleep(1000)行并运行该程序,它会运行

【Java JVM】垃圾回收

1垃圾回收的理论依据当前大部分的垃圾收集器都遵循着“分代收集”(GenerationalCollection)的理论进行设计的,建立在2个分代假设之上弱分代假说(WeakGenerationalHypothesis):绝大多数对象都是朝生夕灭的强分代假说(StrongGenerationalHypothesis):熬过越多次垃圾收集过程的对象就越难以消亡根据这2个假说,收集器将Java堆划分出不同的区域,然后将回收对象依据其年龄(年龄即对象熬过垃圾收集过程的次数)分配到不同的区域之中存储。现在主流的Java虚拟机实现通常将Java堆分为2个区域:新生代(YoungGeneration)老年代(