草庐IT

JVM指令手册

全部标签

java - 从 JVM 访问 token 端点时出现 Google 身份验证错误

我们运行一个带有JVM后端的Web应用程序(Java7update75;代码在Scala中,但我认为这不相关)。我们使用Google通过Oauth进行身份验证。在过去几个月中,有几天我们间歇性地无法对用户进行身份验证。进出Google的重定向是成功的,但是当我们尝试在https://www.googleapis.com/oauth2/v4/token调用token_endpoint时为了验证身份验证,我们有时会遇到以下异常:javax.net.ssl.SSLHandshakeException:servercertificatechangeisrestrictedduringreneg

java - 跨不同 JVM 的 Java 标准库中的 SerialVersionUID

基于此处SerialVersionUID的描述:https://docs.oracle.com/javase/8/docs/platform/serialization/spec/class.html#a4100,似乎有必要始终在您创建的任何类中包含SerialVersionUID,以便用于序列化的JVM和用于反序列化的不同JVM不会自动分配它们自己的SerialVersionUID,由于虚拟机。这对于控制我自己的类的反序列化非常有效,但是如果我想确保标准库中使用JVMA序列化的类可以被JVMB反序列化怎么办?MapmyMap=newHashMap();HashMap定义了一个Seri

java - 让 JVM 使用我自己的类加载器

我编写了自己的类加载器。我需要使用我的类加载器加载我所有的类。我已将以下内容传递给VM:-Djava.system.class.loader=MyClassLoader只有我的包中第一个引用的类正在使用我的类加载器加载。我的包中的其他类正在使用AppClassLoader加载。这是MyClassLoader的样子:importjava.io.IOException;importjava.io.InputStream;importjava.net.URL;importjava.util.Enumeration;publicclassMyClassLoaderextendsClassLoa

java - JLS 是否允许此指令重新排序?

根据Java语言规范(Example17.4-1),以下代码段(从A==B==0开始)...Thread1Thread2----------------r2=A;r1=B;B=1;A=2;...可能导致r2==2和r1==1。这是因为B=1;的执行结果不依赖于r2=A是否执行过,因此JVM可以自由调换执行这两条指令。换句话说,规范允许以下交错:Thread1Thread2----------------B=1;r1=B;A=2;r2=A;这显然导致r2==1和r1==1。我的问题:假设我们稍微调整一下示例:Thread1Thread2----------------r2=A;r1=B;

java - JVM 核心线程

在我的机器上启动一个JVM实例时,一个简单的类在main()中运行无限sleep,我在JVM中看到四个关键线程(除了主线程):附加监听器引用处理程序终结器信号调度器销毁JavaVM我很想了解每个核心JVM线程的用途。通过快速的互联网搜索,我发现了这些线程的以下详细信息:AttachListener:动态附加有一个附加监听器线程目标JVM。这是一个线程,当第一个发生附加请求。SignalDispatcher:当操作系统向JVM发出信号时,信号调度线程将信号传递给适当的处理程序。ReferenceHandler:高优先级线程入队挂起引用。GC创建一个简单的引用链接列表需要处理,这个线程快速

java - 从 Sun JVM 过渡到 JRockit 时需要注意的注意事项?

我们正在考虑将一个大型产品从依赖Sun的JVM过渡到JRockit。我还没有天真到相信这会是一个平稳的过渡(尽管我宁愿错了)。我们应该注意或重点关注哪些问题进行回归测试? 最佳答案 好吧,你当然有单元测试,对吗?:-)我使用JRockit只是为了“好玩”,从来没有遇到过问题。据我所见,它被用于许多种类繁多的应用程序中,因此它应该可以正常工作。好像也通过了JCK(Sun的兼容性测试),应该是顺利的。我认为要打破的领域是:垃圾收集器native代码(JNI)文件系统处理、线程等...(除非他们使用Sun库代码)文件系统、线程等...都是

java - JVM 基准测试应用程序

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我们想要比较不同JVM在不同环境(Windows、Solaris等)中相同Java版本(1.5)的一般性能(CPU、I/O、网络等)。您是否知道可用于比较来自不同JVM的结果的任何JVM基准测试应用程序?非常感谢。

java - Heroku JVM 调优

我在Heroku的Play2框架上编写了一个应用程序,但遇到内存问题。2013-03-21T01:28:35+00:00heroku[web.1]:Processrunningmem=543M(106.1%)2013-03-21T01:28:35+00:00heroku[web.1]:ErrorR14(Memoryquotaexceeded)在本地,我在Heroku(512MB)上使用相同的JVM设置和内存限制对其进行了分析,但当我在Heroku上发送请求时,它几乎立即运行了我们的堆空间。JAVA_OPTS:-Xmx384m-Xss512k-XX:+UseCompressedOops如

java - 是否可以在Java8中执行SIMD比较指令?

在Java8中,可以像本文一样执行几种SIMD指令http://prestodb.rocks/code/simd/说。我想知道SIMD比较指令是否可以在Java8中执行。我想检查两个字符(UTF-16、16位数字)的相等性,如果它们相同则获取0xffff的值,如果不相同则获取0x0。我有一个很大的char数组,我想通过循环数组在每个char元素和特定char(例如0x0022)之间执行上述相等性检查。在Java8中是否可以执行SIMD比较指令?或者有什么位操作或算法可以高效快速地执行字符比较吗?谢谢。 最佳答案 根据this,数组相

java - 为什么 getSum 没有被热点 jvm 内联?

这是我试图从JavaPerformance:TheDefinitiveGuide,Page97重现的示例关于逃逸分析的主题。这可能是应该发生的事情:getSum()必须足够热,并且必须使用适当的JVM参数将其内联到调用方main()中。因为list和sum变量都没有从main()方法中逃逸,所以它们可以被标记为NoEscape因此JVM可以为它们使用堆栈分配而不是堆分配。但我跑遍了jitwatch结果显示getSum()编译成本地程序集,但没有内联到main()中。更不用说因此堆栈分配也没有发生。我在这里做错了什么?(我把整个代码和热点日志都放在了here。)代码如下:importja