草庐IT

jvm-serializers

全部标签

Java/JVM(热点): Is there a way to save JIT performance gains at compile time?

当我测量我的Java应用程序的吞吐量时,我发现随着时间的推移性能提高了50%:对于前10万条消息,我每秒收到约3,000条消息对于第二个10万条消息,我每秒收到约4,500条消息。我相信性能会随着JIT优化执行路径而提高。不保存JIT编译的原因是“JVM执行的优化不是静态的,而是动态的,基于数据模式和代码模式。很可能这些数据模式将在应用程序的生命周期内发生变化,从而导致缓存优化达不到最佳效果。”但是,我知道这些数据模式在我的应用程序生命周期内不会改变,甚至在多个应用程序生命周期内也不会改变。那么我怎样才能在HotSpotJVM中“保存”这些性能提升呢?另请参阅相关的question和d

java - 抽象类和接口(interface)在 JVM 中的存储方面有什么区别

这个问题在这里已经有了答案:Javainterfaces...Dynamicorstaticmemory?(3个答案)关闭7年前。抽象类和接口(interface)在JVM中的存储方面有什么区别。更准确地说,JVM将接口(interface)存储在其内存中的什么位置?

java - 适当的 Tomcat 5.5 启动参数来调整 JVM 以满足极高的需求、大堆 Web 应用程序?

我们最近将一个大型、高要求的Web应用程序从Tomcat4迁移到Tomcat5.5,并注意到一些似乎与JVM暂停有关的特殊减速行为。为了在Tomcat4上运行我们的应用程序并支持随着时间的推移增加的负载,许多不太标准的JVM参数被设置和调整如下,我希望有TomcatJVM调整经验的人可以评论任何可能有害的东西到Tomcat5.5安装。另请注意,其中一些可以从以前的Java版本中继承(我们使用这些参数在Java1.6上成功运行Tomcat4一段时间,但可能已经引入了一些以帮助Java1.4上的垃圾收集,这是Java的基础我们的Tomcat4安装了很长时间,现在可能弊大于利)。一些注意事项

c# - 从 Java 调用 .NET 程序集 : JVM crashes

我有一个第三方.NET程序集和一个大型Java应用程序。我需要从Java应用程序调用.NET类库提供的方法。该程序集未启用COM。我已经在网上搜索过,到目前为止我有以下内容:C#代码(cslib.cs):usingSystem;namespaceCSLib{publicclassCSClass{publicstaticvoidSayHi(){System.Console.WriteLine("Hi");}}}编译(使用.net3.5,但使用2.0时也是如此):csc/target:librarycslib.csC++代码(clib.cpp):#include#usingusingnam

java - 如何在 Windows 中查看正在执行的 java 程序的类路径和 jvm args

在*nix中,我只是执行ps-ef|grepjava查看正在执行的java程序的jvmargs和类路径。如何在Windows命令提示符中看到它?我想看看某些jar是否真的在正在运行的weblogic服务器的类路径中。 最佳答案 我会在命令行中使用jinfo这将为您提供这些信息以及更多信息 关于java-如何在Windows中查看正在执行的java程序的类路径和jvmargs,我们在StackOverflow上找到一个类似的问题: https://stackov

聊聊JVM优化的常用指令

一、jpsjps是(javaprocessStatusTool),Java版的ps命令,查看java进程及其相关的信息,如果你想找到一个java进程的pid,那可以用jps命令替代linux中的ps命令了,简单而方便。jps[options][hostid]options参数解释:-l:显示进程id,显示主类全名或jar路径-q:显示进程id-m:显示进程id,显示JVM启动时传递给main()的参数-v:显示进程id,显示JVM启动时显示指定的JVM参数hostid:主机或其他服务器ip最常用示例:jps-l输出jar包路径,类全名jps-m输出main参数jps-v输出JVM参数二、jin

java - 如何删除 JVM 属性 "https.proxyHost"?

我出于某种目的在我的系统上使用了代理。但是现在我没有在我的系统上设置任何代理,也没有从AndroidStudio代理设置中删除代理并将其设置为无代理。但我不断收到以下错误:YouhaveJVMproperty"https.proxyHost"setto....Thismayleadtoincorrectbehavior.ProxyshouldbesetinSettings|HTTPProxy同样,当我尝试在没有代理服务器的情况下构建/同步Gradle文件时,文件不会被编译,并说请检查我有互联网连接的网络连接。 最佳答案 如果有人仍在

Java:在运行时从同一 JVM 中获取类的字节码

相关:Isthereawaytoobtainthebytecodeforaclassatruntime?我正在为Clojure添加持久性,我终于准备好添加函数了。在Clojure中,函数被字节编译为具有调用方法(以及其他方法)的类。这样,功能是一流的。为了使这些持久化,我需要序列化和反序列化这些类。如何在无法访问.class文件的情况下获取类的字节码?如果我弄错了,请纠正我,但使用代理需要生成一个单独的VM,该代理连接到第一个VM。我需要从同一个VM执行此操作。仅仅使用Serializable来设置和获取Class对象是不够的。反序列化后,我需要加载该类,并且在后续的VM实例中,可能会

java - 为什么 JVM 不预先编译整个程序,而是一段一段地编译呢?

对于这个主题,HerbertSchildt写道:ItisimportanttounderstandthatitisnotpracticaltocompileanentireJavaprogramintoexecutablecodeallatonce,becauseJavaperformsvariousrun-timechecksthatcanbedoneonlyatruntime.他指的是什么运行时检查?请说明是逐段编译字节码的原因,而不是整个程序。 最佳答案 逐个编译它可能有几个原因(这是我想到的前两个):优化多次使用的代码,不需

java - 当 JVM 在垃圾收集期间崩溃(段错误)时,我如何才能找出正在收集的内容?

我在应用程序的同一阶段大致在我的JVM中遇到段错误,但在崩溃报告中有不同的堆栈跟踪。然而,它似乎总是在GC期间发生。由于崩溃发生在我尝试过的所有三个JVM(OpenJDK6、Oracle1.6.0_25和1.7.0)中,每个都有两个GC(并行收集器和CMS),并且它发生在应用程序的同一区域,我我想,如果我能找到GC试图收集的内容,我可能会在我的代码中发现导致这次崩溃的一些特殊之处。是否存在众所周知的GC问题编码实践?有哪些方法可用于诊断此问题?我能否对在我的应用程序中触发此问题的位置做出任何有根据的猜测?我可以使用哪些(GC调整)参数来缩小问题范围?有没有办法在堆转储中发现(可能)有问