草庐IT

java - 在 Windows 上通过命令行设置 JVM

是否可以指定调用“javajarjar_name.jar”时使用的JVM。我的机器上安装了两个JVM。我无法更改JAVA_HOME,因为它可能会破坏已准备好运行的代码。亲切的问候斯蒂芬 最佳答案 是的-只需明确提供java.exe的路径。例如:c:\Users\Jon\Test>"c:\ProgramFiles\java\jdk1.6.0_03\bin\java.exe"-versionjavaversion"1.6.0_03"Java(TM)SERuntimeEnvironment(build1.6.0_03-b05)JavaHo

java - 在将 Java 日期写入 SQL TIMESTAMP 列之前,JDBC 是否会将日期从 JVM 时区转换为数据库 session 时区?

在编写Java之前Date到SQLTIMESTAMP列,是否JDBC将Java虚拟机时区的日期转换为数据库session的日期?例如,假设Java虚拟机时区是UTC并且数据库session时区是UTC-5.如果Java程序试图存储2000-01-0100:00:00通过将其传递给PreparedStatement#setTimestamp(int,Timestamp),根据JDBC标准,数据库是否存储TIMESTAMP'2000-01-0100:00:00'或TIMESTAMP'1999-12-3119:00:00'? 最佳答案 不

java - JVM 是 32 位还是 64 位?

在阅读本书时here.我可以看到以下部分:32OR64BIT?Ifyouhavea32-bitoperatingsystem,thenyoumustusea32-bitversionoftheJVM.Ifyouhavea64-bitoperatingsystem,thenyoucanchoosetouseeitherthe32-or64-bitversionofJava.Don’tassumethatjustbecauseyouhavea64-bitoperatingsystem,youmustalsousea64-bitversionofJava.Ifthesizeofyourhea

java - 地址已在使用 : JVM_Bind

我在WindowsXPPro上使用Glassfish3.0.1、JVM1.6.0_21;我不确切知道我的环境发生了什么变化,但我一尝试部署企业应用程序(ejb模块+应用程序客户端模块)就会得到这个堆栈跟踪。除了Glassfish之外,端口3820上没有运行任何东西...我用netstat检查了服务器停止和服务器启动的情况。这可能是什么原因?一些内部流程冲突?关于如何进一步调试的任何提示?WARNING:Cannotfindresourcebundleforthislogger.classnamethatfailed:org.glassfish.enterprise.iiop.impl.

java - 将 clojure/scala repl 附加到正在运行的 JVM

我有一个在Sunjava6JVM中的tomcat下运行的javaweb应用程序。有没有办法将scala或clojureREPL附加到正在运行的JVM?一旦webapp启动并运行,将在其中进行调用的上下文已经在运行的VM中设置好了。因此,这对于调用任意Java方法调用以进行增量、探索性开发和调试非常有帮助。 最佳答案 根据您的要求复制其他问题的答案:liverepl:将ClojureREPL连接到正在运行的Java或Clojure进程,无需任何特殊设置来自网站:启动连接到任何正在运行的Java或Clojure进程的ClojureREP

java - 如何防止对 System.exit() 的调用终止 JVM?

我几乎可以肯定这是不可能的,但值得一试。我正在为某个工具编写命令行界面。我说的是调用另一个Java应用程序的Java应用程序。该工具在执行后调用System.exit,这反过来又终止了我自己的执行环境。我不想那样。有什么方法可以忽略System.exit调用? 最佳答案 是的,这可以使用SecurityManager。试试下面的classMySecurityManagerextendsSecurityManager{@OverridepublicvoidcheckExit(intstatus){thrownewSecurityExc

java - 为什么不从下一个 JVM 中删除类型删除?

Java在Java5中引入了带有泛型的类型删除,因此它们可以在旧版本的Java上工作。这是兼容性的权衡。我们已经失去了兼容性[1][2][3]--字节码可以在较新版本的JVM上运行,但不能在较早版本上运行。这看起来是更糟糕的选择:我们已经丢失了类型信息,我们仍然无法在旧版本上运行为新版本JVM编译的字节码。发生了什么?具体来说,我问是否有任何技术原因导致无法在下一版本的JVM中删除类型删除(假设,像以前的版本一样,它的字节码无论如何都无法在上一版本上运行)。[3]:类型删除可以以类似于retrolambda的方式向后移植对于那些真正喜欢它的人。编辑:我认为对向后与向前兼容性定义的讨论掩

Java Lambda : How it works in JVM & is it OOP?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion例如,在匿名内部类的情况下,传递(匿名)对象引用并执行该对象的方法。Lambda是在需要时执行的代码块。当遇到lambda时,JVM会发生什么?JVM将lambdas相关的代码块存放在哪里(Heap:Young,OldorPermanentGeneration)?我尝试搜索,我得到了使用lambdas的语法,但无法理解JVM内部发生了什么,因为在JAVA中一切都是基于对象的。那么在OOP的上下文中,la

java - 什么是 JVM -server 参数?

我在http://shootout.alioth.debian.org/中看到了Java服务器用于编程语言基准。我知道-server是运行JVM的参数。我想知道:我们什么时候使用-server参数,它是如何工作的?我们可以在java桌面应用程序中使用这个参数吗?谢谢。 最佳答案 它只是选择“服务器热点虚拟机”。见documentation(Solaris/Linux)对于java。根据维基百科:Sun'sJREfeatures2virtualmachines,onecalledClientandtheotherServer.TheC

eclipse - JDK/JRE/JVM/Java SDK |它们都是什么意思?有时你可以用 JRE 开发,有时你需要 JDK?

说实话,我对所有这些术语(JDK/JRE/JavaSDK)都很困惑。我不确定每个人的作用。当我第一次开始在eclipse中做简单的java示例时,我很确定我只有JRE,我相信这是普通用户用来在他们的系统上运行java程序/小程序的默认java安装程序。但是,现在在类里面我们使用的是GoogleAppengine,这需要我猜想与JavaSDK相同的JDK。在浪费了一些时间后发现安装JDK意味着我还必须将java/bin添加到环境变量中以使javac-version在命令提示符下工作,我发现只有JDK具有javac...我早期的java程序在没有安装JDK并因此没有javac的情况下如何工