当前位置:主页 > 计算机电子书 > 程序设计 > JRockit pdf电子书下载
高质量反馈 / 投诉

JRockit权威指南:深入理解JVM PDF 高质量版

2023-08-11 10:54:50 类别:JRockit

  • 更新:2023-08-11 10:54:50
  • 大小:223.7 MB
  • 出版:人民邮电出版社
  • 作者:马库斯·希尔特
  • 类别:JRockit
  • 格式:PDF

网盘下载 本地下载

扫二维码手机浏览

  • 码农点评:《JRockit权威指南:深入理解JVM》是一本非常值得推荐的书籍。书中详细介绍了JRockit虚拟机的各个方面,从JRockit指南到JVM内部剖析,从Java虚拟机原理到Java性能提升关键,作者莫枢(RednaxelaFx)通过丰富的实践经验和深入的理论知识,为读者带来了深入深刻的理解。特别值得一提的是,该书被阿里中间件团队推荐为JVM参考书,足以证明其在JVM领域的权威性和实用性。无论是新手还是有经验的Java开发者,都可以通过阅读该书深入学习和了解Java虚拟机,从而提升自己在Java开发和性能优化方面的能力。
  • 资源介绍

    给网友们整理JRockit相关的 PDF电子书资料,由人民邮电出版社出版,作者是马库斯·希尔特,介绍了关于JRockit、JRockit指南、JVM方面,格式为PDF,资源大小223.7 MB,目前在JRockit类资源综合评分为:7.6分。

    JRockit权威指南:深入理解JVM

    JRockit权威指南:深入理解JVM 电子书封面

    内容节选

    前言

    最近在给熔断器组件增加一个降级策略(Hystrix好像没有这个配置),我们提供了如下几种策略:

    1、默认策略

    2、返回常量值

    3、抛出指定异常

    4、执行一段groovy脚本

    当然了,这些配置都是可以在平台上配置,并立即生效的。

    目前返回常量值的实现如下:

    今天发现,如果每次都返回同一个对象,而且这个逻辑对业务来说是黑盒(业务不知道每次拿到的对象是同一个),如果对这个对象进行了操作,那肯定会影响到其它的请求,为了避免背锅,我们需要每次返回一个新的对象,第一反应是通过clone是否可行(因为每次json的序列化也会损耗性能),但是jdk自带的clone方法只是浅克隆,如果对象中包含了另一个复杂对象,clone出来的对象还是存在被修改的风险。

    详细介绍:

    大家可以看下面一个例子:

    class Master {
     String name;
     public Master(String name) {
      this.name = name;
     }
    }

    初始化一个Master类

    class Dog implements Cloneable {
     String name;
     int age;
     Master master;
    
     public Dog(String name, int age, Master master) {
     this.name = name;
     this.age = age;
     this.master = master;
     }
    
     @Override
     protected Object clone() throws CloneNotSupportedException {
     return super.clone();
     }
    
     @Override
     public String toString() {
     return "{name:" + name + ", age: " + age + ", master: "+ master.name + "}";
     }
    }

    再初始化一条狗

    public static void main(String[] args) throws Exception {
     Master master = new Master("zj0");
     Dog dog1 = new Dog("旺财", 1, master);
     Dog dog2 = (Dog)dog1.clone();
     dog1.name = "比利";
     dog1.master.name = "zj1";
     System.out.println(dog2);
    } 

    最后运行一下,结果如下:

    {name:旺财, age: 1, master: zj1}

    dog1是原始狗,dog2是克隆出来的,但是我修改dog1的master的name时,克隆的master也跟着变化了,这显然不行。

    虽然一直都知道Object的clone方法是浅克隆,也一直没继续探索一下,今天碰到了就顺手看下JVM的实现,好像很简单,在jvm.cpp文件中,搜索"JVM_Clone"

    以前一直没用过clone这个方法,通过源码发现在运行的时候会检查类是否实现Cloneable接口,编译的时候不检查,想啥呢?

    根据对象或者数据的大小,从堆中开辟一块同等大小的内存,然后把原始对象的数据都复制到新的内存地址,对于基本类型,可以把原始值复制过来,但是对于内部对象来说,其保存的只是一个地址,复制时也是对地址的复制,最终还是指向同一个对象,所以就造成了上述的问题。

    内容介绍

    本书面向所有以Java编程语言为工作中心的开发人员和系统管理员,分为3大部分。*部分着重介绍了JVM和自适应运行时的工作原理,并以JRockit为例专门介绍到底什么是好的Java代码。第二部分介绍JRockit Mission Control套件的具体功能,以及如何使用JRockit Mission Control套件来查找应用程序的性能瓶颈。第三部分介绍Java发展方向。

    目录

    • 第1章 起步  1
    • 第2章 自适应代码生成 6
    • 第3章 自适应内存管理 43
    • 第4章 线程与同步 80
    • 第5章 基准测试与性能调优 113
    • 第6章 JRockit Mission Control套件 147
    • 第7章 Management Console 165
    • 第8章 JRockit Runtime Analyzer 182
    • 第9章 JRockit Flight Recorder 199
    • 第10章 Memory Leak Detector 216
    • 第11章 JRCMD 229
    • 第12章 JRockit Management API 259
    • 第13章 JRockit Virtual Edition 271
    • 附录A 参考文献 292
    • 附录B 术语表 296

    以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。


    下载地址

    下载地址:网盘下载

    学习心得

    网友NO.28856
    网友NO.28856

    JRockit监控内存泄漏问题的实践 1、下载jrockit-jdk1.6.0_45-R28.2.7-4.1.0-windows-ia32.exe 2、安装好Jrokit后, 设置JAVA_HOME指向Jrokit安装目录,在cmd下输入:java -version java version "1.5.0_14" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03) BEA JRockit(R) (build R27.5.0-110_o-99226-1.5.0_14-20080528-1505-windows-ia32, compiled mode) 然后配置打开Tomcat的bin目录下catalina.bat文件 找到: set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% 并在其后添加: -Xmanagement -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 修改完成后,如下: set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% -Xmanagement -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 接着,运行startup.bat启动Tomcat 可以看到下面的语句: [JRockit] Management server started on port 7091, ssl=false, authenticate=false. 2010-8-20 10:32:15 org.apache.catalina.core.AprLifecycleListener init

    网友NO.39676
    网友NO.39676

    Jrockit是Bea开发的符合JAVA虚拟机规范的虚拟机+虚拟机监控软件。 虚拟机:Jrockit Real Time 监控软件:Jrockit Mission Control Jrockit Real Time与SUN的JDK是完全兼容的,也就是说以前在SUN的虚拟机上跑的程序,在Jrockit Real Time上不会出现任何问题。 以前这套软件只提供1个小时的免费监控时间。就是说虚拟机启动1个小时内监控软件可以连上,过了一个小时就连不上了。这对一天才泄漏20M的应用程序来说,没有什么意义。现在已经完全免费了。这是开发者的福音。 最 重要的,Jrockit是目前作者尝试过的,唯一一套可以在生产环境中进行内存监控的软件,其他软件都会严重降低虚拟机的效率应用基本无法使用。因为内存 泄漏有时就算在压力测试中也很难发现。大部分都是在生产环境中产生的。如果没有一个基本不影响运行效率的软件,想解决只能靠运气。以前我解决过一次 JAVA内存泄漏的问题,将程序从WEBLOGIC迁移到TOMCAT上解决了决完全属于运气。现在有了这个工具,解决起来就非常方便了。

    2小时57分钟前回答

    eclipse修改jvm参数调优方法(2种)

    本文介绍了eclipse修改jvm参数调优方法(2种),分享给大家,具体如下: 一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些配置,就会有很大的改善。 有两种方法: 1、打开eclipse配置文件eclipse.ini,更改把-Xmx(其数值代表jvm可以使用的最大内存数) 2. 运行java程序时,选择run-run configuration-arguments,输入-Xms100M -……

    10小时6分钟前回答

    JVM垃圾回收原理解析

    概述 Java运行时区域中,程序计数器,虚拟机栈,本地方法栈三个区域随着线程的而生,随线程而死,这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收问题。而Java堆和方法区则不一样,一个接口的多个实现类需要的内存不一样,一个方法的多个分支需要的内存可能也不一眼,我们只有在运行期,才能知道会创建的对象,这部分的内存分配和回收,是垃圾回收器所……

    欢迎发表评论:

    联系我们

    邮件联系:3522365@qq.com

    QQ联系:3522365