草庐IT

jvm-serializers

全部标签

java - JVM 分析器与 Mac OS X Activity 监视器中的内存使用情况

我一直在分析我的java应用程序,并且对我的应用程序报告的内存使用情况感到困惑(通过eclipse运行)。它与分析器报告的内存使用情况总是非常不同,甚至与自身都不匹配。应用程序的JVM标志是:-Xmx1G-Xms1G -XX:MaxMetaspaceSize=256M-XX:CompressedClassSpaceSize=256M此图显示进程“java”的报告内存为1.67GB。当我双击该进程时,分割显示1.15GB的“实际内存大小”和其他各种内存指标。飞行记录器显示应用程序遵守其1GB堆大小。我进行的测试表明它也遵守其元空间限制。我的问题有两个:1)知道为什么报告的内存使用情况在进

java - JVM 分析器与 Mac OS X Activity 监视器中的内存使用情况

我一直在分析我的java应用程序,并且对我的应用程序报告的内存使用情况感到困惑(通过eclipse运行)。它与分析器报告的内存使用情况总是非常不同,甚至与自身都不匹配。应用程序的JVM标志是:-Xmx1G-Xms1G -XX:MaxMetaspaceSize=256M-XX:CompressedClassSpaceSize=256M此图显示进程“java”的报告内存为1.67GB。当我双击该进程时,分割显示1.15GB的“实际内存大小”和其他各种内存指标。飞行记录器显示应用程序遵守其1GB堆大小。我进行的测试表明它也遵守其元空间限制。我的问题有两个:1)知道为什么报告的内存使用情况在进

java - -XX :NewRatio and -XX:OldSize JVM flags? 是什么意思

我正在使用以下命令行启动我的java应用程序:java-XX:+PrintCommandLineFlags-verbose:gc-XX:+PrintGCDetails\-XX:+UseConcMarkSweepGC-jarstart.jarJVM启用以下选项:-XX:MaxNewSize=87244800-XX:MaxTenuringThreshold=4-XX:NewRatio=7-XX:NewSize=21811200-XX:OldPLABSize=16-XX:OldSize=65433600-XX:+PrintCommandLineFlags-XX:+PrintGC-XX:+Pr

java - -XX :NewRatio and -XX:OldSize JVM flags? 是什么意思

我正在使用以下命令行启动我的java应用程序:java-XX:+PrintCommandLineFlags-verbose:gc-XX:+PrintGCDetails\-XX:+UseConcMarkSweepGC-jarstart.jarJVM启用以下选项:-XX:MaxNewSize=87244800-XX:MaxTenuringThreshold=4-XX:NewRatio=7-XX:NewSize=21811200-XX:OldPLABSize=16-XX:OldSize=65433600-XX:+PrintCommandLineFlags-XX:+PrintGC-XX:+Pr

c++ - 如何使用 Boost.serialize 序列化派生模板类?

我想序列化/反序列化以下类:classFeature{...virtualstringstr()=0;};templateclassGenericFeature:publicFeature{Tvalue;...virtualstringstr();};我阅读了boost.serialize文档,并说您必须注册类(class)。我可以在构造函数中注册它们。但是加载会有问题,因为注册是动态的,而不是静态的(据我了解,您必须在序列化/反序列化之前注册类)。如何保存/加载这些类型的类? 最佳答案 首先告诉boostFeature是抽象的,并

c++ - 如何使用 Boost.serialize 序列化派生模板类?

我想序列化/反序列化以下类:classFeature{...virtualstringstr()=0;};templateclassGenericFeature:publicFeature{Tvalue;...virtualstringstr();};我阅读了boost.serialize文档,并说您必须注册类(class)。我可以在构造函数中注册它们。但是加载会有问题,因为注册是动态的,而不是静态的(据我了解,您必须在序列化/反序列化之前注册类)。如何保存/加载这些类型的类? 最佳答案 首先告诉boostFeature是抽象的,并

c++ - Boost.Serialization 在不同平台上的序列化是否不同?

我使用Boost.Serialization来序列化std::map。代码是这样的voidDictionary::serialize(std::string&buffer){try{std::stringstreamss;boost::archive::binary_oarchivearchive(ss);archivein(source);boost::archive::binary_iarchivearchive(in);archive>>dict_;}catch(conststd::exception&ex){throwDictionaryException(ex.what())

c++ - Boost.Serialization 在不同平台上的序列化是否不同?

我使用Boost.Serialization来序列化std::map。代码是这样的voidDictionary::serialize(std::string&buffer){try{std::stringstreamss;boost::archive::binary_oarchivearchive(ss);archivein(source);boost::archive::binary_iarchivearchive(in);archive>>dict_;}catch(conststd::exception&ex){throwDictionaryException(ex.what())

java - JVM 信号链 SIGPIPE

我们有一个带有嵌入式JVM(Sun的)的C++应用程序。因为我们注册了自己的信号处理程序,所以建议我们在初始化JVM之前这样做,因为它会安装自己的处理程序(seehere)。据我了解,JVM在内部知道信号是否来自它自己的代码,如果不是,它会沿着链将信号传递给我们的处理程序。我们开始看到的是我们正在获取SIGPIPE,其调用堆栈大致如下所示(顶部条目是我们的信号处理程序):/.../libos_independent_utilities.so(_ZN2os32smart_synchronous_signal_handlerEiP7siginfoPv+0x9)[0x2b124f7a3989

java - JVM 信号链 SIGPIPE

我们有一个带有嵌入式JVM(Sun的)的C++应用程序。因为我们注册了自己的信号处理程序,所以建议我们在初始化JVM之前这样做,因为它会安装自己的处理程序(seehere)。据我了解,JVM在内部知道信号是否来自它自己的代码,如果不是,它会沿着链将信号传递给我们的处理程序。我们开始看到的是我们正在获取SIGPIPE,其调用堆栈大致如下所示(顶部条目是我们的信号处理程序):/.../libos_independent_utilities.so(_ZN2os32smart_synchronous_signal_handlerEiP7siginfoPv+0x9)[0x2b124f7a3989