Tag: jvm

Java类名的区分大小写

如果在不同的目录中写入两个具有相同大小写不敏感的公共Java类,那么这两个类在运行时就不可用。 (我在Windows,Mac和Linux上用HotSpot JVM的几个版本testing过,如果有其他的JVM在同一时间使用,我不会感到惊讶)。例如,如果我创build一个名为a A类, : // lowercase/src/testcase/a.java package testcase; public class a { public static String myCase() { return "lower"; } } // uppercase/src/testcase/A.java package testcase; public class A { public static String myCase() { return "upper"; } } 包含上面代码的三个eclipse项目可以从我的网站上获得 。 如果尝试我这样调用两个类的myCase : System.out.println(A.myCase()); System.out.println(a.myCase()); typechecker成功,但是当我直接运行上面的代码生成的类文件时,我得到: 线程“main”中的exceptionjava.lang.NoClassDefFoundError:testcase / A(错误名称:testcase / a) 在Java中,名称通常是区分大小写的。 一些文件系统(如Windows)不区分大小写,所以我不惊讶上述行为发生,但似乎是错误的 。 不幸的是,Java规范很奇怪,不能确定哪些类是可见的。 […]

限制java ssldebugging日志logging

使用JVM标志 -Djavax.net.debug=ssl 正在产生巨大的日志logging,服务器上每个SSL事件的细节。 有反正只有它logging错误? 或者可能有一些这些标志的更好的子集产生更整洁的输出 all turn on all debugging ssl turn on ssl debugging The following can be used with ssl: record enable per-record tracing handshake print each handshake message keygen print key generation data session print session activity defaultctx print default SSL initialization sslctx print SSLContext tracing sessioncache print session cache tracing keymanager […]

java编译到底有多精确?

java编译过程困惑 OK我知道这一点:我们编写java源代码,独立于平台的编译器将其转换为字节码,然后依赖于平台的jvm将其转换为机器码。 所以从一开始我们写java源代码。 编译器javac.exe是一个.exe文件。 这个.exe文件到底是什么? 是不是用java编写的java编译器,那么怎么会有执行它的.exe文件? 如果编译器编写的代码是java,那么编译器的代码是如何在编译阶段执行的,因为它的工作就是执行java代码的jvm。 语言本身如何编译自己的语言代码? 这一切似乎像鸡和鸡蛋问题给我。 现在.class文件包含什么内容? 它是一种文本forms的抽象语法树,它是表格信息,它是什么? 任何人都可以告诉我关于如何在机器代码中转换我的Java源代码的清晰和详细的方式。

如何增加Eclipse中的应用程序堆大小?

有人说我需要在我的应用程序的运行configuration中这样做。 当我打开那个窗口时,你能告诉我如何设置正确的参数和内存量吗? 说如何设置2GB或1.5GB?

年轻,终身和烫发一代

我与堆,年轻,终身和烫发一代混淆。 谁能解释一下吗?

重复的Java运行时选项:首选项的顺序是什么?

考虑下面的命令行 java -Xms128m -Xms256m myapp.jar JVM最小内存( Xms选项)适用于哪些设置:128m或256m?

Java版本之间是否存在向后不兼容的具体示例?

在Java版本中,Java版本X的Java源代码/ Java类文件不能在版本Y(Y> X)下编译/运行的Java发行版之间是否存在不兼容的问题? “Java发行版”的意思是: JDK 1.0(1996年1月) JDK 1.1(1997年2月) J2SE 1.2(1998年12月) J2SE 1.3(2000年5月) J2SE 1.4(2002年2月) J2SE 5.0(2004年9月) Java SE 6(2006年12月) 家庭规则: 请尽可能包含参考和代码示例。 请在答案中尽量具体/具体。 被标记为@Deprecated的类不算作向后兼容性。

由于权限错误,无法启动jstatd

我尝试在linux机器上运行jstatd jvm监视工具 jboss@hostAddr:/usr/java/jdk1.6.0_18/bin> uname -a Linux hostAddr 2.6.16.60-0.34-smp #1 SMP Fri Jan 16 14:59:01 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux 用下面的命令: jstatd -J-Djava.security.policy=~/jstatd.all.policy jstatd.all.policy内容 grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; 不幸的是我得到以下输出: Could not create remote object access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write) java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at […]

在Scala中使用部分函数 – 它是如何工作的?

我是新来的Scala,我正在使用2.9.1,并且试图让我的头部如何使用部分函数。 我对咖喱函数有一个基本的了解,而且我知道,局部函数就像是二元或者其他类似的咖喱函数。 正如你可以告诉我有点在这个绿色。 似乎在某些情况下,如XML过滤,能够部分function将是非常有利的,所以我希望更好地了解如何使用它们。 我有一个使用RewriteRule结构的函数,但是我需要它使用两个参数,而RewriteRule结构只有一个,或者是一个部分函数。 我认为这是我正在考虑有帮助的情况之一。 任何build议,链接,智慧的话等欢迎! 迄今为止的答案是非常好的,已经澄清了我的一些基本误解。 我想他们也解释我在哪里挣扎 – 我想也许发布一个更具体的新问题将有所帮助,所以我也会这样做。

为什么JVM启动缓慢?

究竟是什么使得JVM(特别是Sun的实现)与其他运行时(如CPython)相比运行速度慢? 我的印象是,它主要是与一大堆图书馆无论是否需要加载,但这似乎是不应该需要10年的时间来解决的。 想想看,JVM的启动时间与Windows上的CLR相比如何呢? 如何Mono的CLR? 更新:我特别关心在Unix中常见的小型实用程序的用例。 Java现在适合这种风格吗? 无论Java的启动开销是多less,是为每个Java进程加起来的,还是开销只在第一个进程中才真正体现?