草庐IT

jvm-default

全部标签

java - 如果缺少未使用的类,JVM 会抛出异常吗?

考虑程序:publicclassTest{publicstaticvoidmain(String[]args){if(Arrays.asList(args).contains("--withFoo")){use(newFoo());}}staticvoiduse(Foofoo){//dosomethingwithfoo}}如果程序在没有参数的情况下启动,运行时类路径中是否需要Foo?研究报告链接错误时,Java语言规范相当模糊:Thisspecificationallowsanimplementationflexibilityastowhenlinkingactivities(and,

java - Spring Boot : Spring always assigns default value to property despite of it being present in . 属性文件

我正在使用Springboot1.1.8,它使用Spring4.0.7。我正在使用@Value注释Autowiring我的类中的属性。如果属性文件中不存在该属性,我希望有一个默认值,所以我使用“:”来分配默认值。下面是示例:@Value("${custom.data.export:false}")privatebooleanexportData=true;如果属性文件中不存在属性,则应将false分配给变量。但是,如果属性存在于文件中,那么它也会分配默认值并忽略属性值。例如。如果我已经像上面提到的那样定义了属性并且应用程序属性文件有这样的东西custom.data.export=tru

java - jvm 的默认垃圾收集器

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:findwhichtypeofgarbagecollectorisrunning有没有办法判断jvm中默认使用的垃圾收集器是什么?

java - 为什么大多数 JVM gc 不使用引用计数?

为什么他们不需要它们,如果有人决定实现使用它们的虚拟机,他们可能会面临什么问题? 最佳答案 由于循环引用,引用计数容易发生内存泄漏。假设您有一个简单的“节点”对象,它引用了另一个节点,并假设您将其引用设置为自身。该对象的引用计数将始终为1,即使全局变量或堆栈变量中没有指向它的句柄,因此它永远不会被垃圾收集并泄漏内存。这是一个简单的例子,但任何循环引用都会有同样的问题。当然,可以检测到循环引用,但据推测这样做的开销会增加足够的复杂性,以至于其他GC方法更具吸引力。 关于java-为什么大多

java - 如何在 IntelliJ IDEA 中设置 JVM 参数?

我对使用KinesisVideoStream时的说明感到困惑RunDemoAppMain.javain./src/main/demowithJVMargumentssetto-Daws.accessKeyId={YourAwsAccessKey}-Daws.secretKey={YourAwsSecretKey}-Djava.library.path={NativeLibraryPath}fornon-temporaryAWScredential.如何在IntelliJIDEA中设置这些参数? 最佳答案 Intellij允许您在运行

java - Eclipse:无法加载 JNI 共享库“C:\Program Files(x86)\Java\jdk1.7.0_15\bin\..\jre\bin\client\jvm.dll

我正在尝试安装Eclipse。为了安装,我已经完成了以下操作。在C:​​\ProgramFiles(x86)\Java\JDK1.7.0_15安装JDK7u1564位(实际下载名称:jdk-7u15-windows-i586.exe)我在管理员中运行cmd并键入“C:\Users\Alfred>java-version”,这给了我“Java版本“1.7.0_15”java(TM)SE运行时环境(build1.7.0_15-b03)JavaHotspot(TM)ClientVM(build23.7-b01,混合模式,共享)在同一个cmd窗口中,我输入了“C:\Users\Alfred>j

java - JVM退出后守护线程如何存活?

我正在阅读关于Java的setDaemon()方法的文档,当我读到JVM没有等待守护线程完成就退出时感到困惑。但是,由于本质上守护线程是JavaThread,它可能依赖于在JVM上运行来实现其功能,如果JVM在守护线程完成之前退出,守护线程如何生存? 最佳答案 他们无法生存。当所有线程(守护程序线程除外)都已死亡时,JVM将退出。当您启动您的应用程序时,JVM将启动一个单一的非守护线程来运行您的静态main方法。一旦main方法退出,这个主线程就会结束,如果你没有生成其他非守护线程,JVM就会退出。但是,如果您启动了另一个线程,JV

java.net.绑定(bind)异常 : Address already in use: JVM_Bind <null>:80

我在启动Tomcat服务器时收到绑定(bind)异常。我试图终止使用“80”的进程,因为有几个进程正在使用它。获取错误,同时终止进程ID为“0”:ERROR:TheprocesswithPID0couldnotbeterminated.Reason:Thisiscriticalsystemprocess.Taskkillcannotendthisprocess.如何解决这个问题?我不需要使用其他端口来运行tomcat服务器。 最佳答案 错误:java.net.BindException:Addressalreadyinuse:JVM

java - 为什么我的 Oracle JVM 会为一个简单的 'Hello World' 程序创建所有这些对象?

我在玩弄jmap,发现简单的“HelloWorld”Java程序创建了数千个对象。以下是OracleJVMupdate131在启动时创建的对象的截断列表:num#instances#bytesclassname----------------------------------------------1:4024903520[I2:1621158344[C3:45552056java.lang.Class4:19449728[B5:126330312java.lang.String6:51526088[Ljava.lang.Object;7:1158280java.lang.refle

java - 我可以在一台 PC 上运行多个 JVM 吗?

我可以运行多个JVM吗?如果是,那么我如何找到特定类加载到哪个JVM上? 最佳答案 你的意思不是很清楚,但是:您可以在同一台机器上安装多个VM(版本/品牌等)您可以运行多个java进程,无论是相同的JVM版本还是不同的除非您正在运行调试代理或类似的东西,否则我不知道有什么方法可以询问JVM进程是否加载了特定的类。这似乎有点奇怪-你为什么要这样做? 关于java-我可以在一台PC上运行多个JVM吗?,我们在StackOverflow上找到一个类似的问题: htt