返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版 GraalVM与Java静态编译(原理与应用)/Java核心技术系列 林子
  • 新华书店旗下自营,正版全新
    • 作者: 林子熠著 | 林子熠编 | 林子熠译 | 林子熠绘
    • 出版社: 机械工业出版社
    • 出版时间:2021-11-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    美阅书店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 林子熠著| 林子熠编| 林子熠译| 林子熠绘
    • 出版社:机械工业出版社
    • 出版时间:2021-11-01
    • 版次:1
    • 印次:1
    • 印刷时间:2022-01-01
    • 字数:150.0
    • 页数:200
    • 开本:16开
    • ISBN:9787111696391
    • 版权提供:机械工业出版社
    • 作者:林子熠
    • 著:林子熠
    • 装帧:平装
    • 印次:1
    • 定价:89.00
    • ISBN:9787111696391
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:2022-01-01
    • 语种:暂无
    • 出版时间:2021-11-01
    • 页数:200
    • 外部编号:11364980
    • 版次:1
    • 成品尺寸:暂无


    前言
    第一部分 从解释执行到静态编译:Java的编译发展之路
    第1章 Java静态编译技术的诞生2
    1.1 Java程序的运行生命周期3
    1.1.1 初始化4
    1.1.2 程序预热5
    1.2 冷启动问题8
    1.3 初识Java静态编译技术11
    1.3.1 什么是Java静态编译11
    1.3.2 静态编译的优势12
    1.3.3 静态编译的局限性13
    1.4 小结15
    第2章 Java静态编译的业界实现16
    2.1 Oracle GraalVM16
    2.1.1 GraalVM是什么17
    2.1.2 GraalVM静态编译优点19
    2.1.3 GraalVM静态编译缺点20
    2.1.4 GraalVM发展分析21
    2.2 华为方舟编译器22
    2.3 小结24
    第3章 GraalVM整体结构25
    3.1 子项目与组件25
    3.2 GraalVM编译系统工具mx29
    3.3 在IDE中打开GraalVM32
    3.4 小结33
    第4章 从Java程序到本地代码:静态编译应用流程34
    4.1 获取GraalVM JDK35
    4.1.1 下载发布版35
    4.1.2 下载Docker镜像37
    4.2 从源码编译37
    4.2.1 编译准备37
    4.2.2 编译38
    4.3 获取依赖库40
    4.4 预执行目标应用程序41
    4.5 静态编译目标应用程序43
    4.5.1 命令行模式编译43
    4.5.2 配置文件模式45
    4.5.3 Maven插件模式46
    4.5.4 Gradle插件模式47
    4.6 静态编译Java程序实例48
    4.6.1 静态编译HelloWorld49
    4.6.2 静态编译Spring Boot应用实例50
    4.7 小结52
    第二部分 静态编译实现原理
    第5章 Substrate VM静态编译框架54
    5.1 静态编译启动器55
    5.2 静态编译实现流程57
    5.2.1 类载入59
    5.2.2 准备60
    5.2.3 静态分析61
    5.2.4 全局构建63
    5.2.5 编译64
    5.2.6 生成image65
    5.2.7 写文件65
    5.3 Substrate VM运行时支持67
    5.3.1 内存管理67
    5.3.2 系统信号处理机制69
    5.4 小结70
    第6章 Feature机制71
    6.1 Feature机制概览71
    6.2 Feature管理73
    6.2.1 注册与调用Feature73
    6.2.2 Feature依赖74
    6.3 Feature影响编译流程75
    6.3.1 Feature函数的入参回调75
    6.3.2 访问ImageSingletons单例库76
    6.4 GraalFeature实现静态编译优化77
    6.4.1 GraalVM编译器基础知识77
    6.4.2 扩展lowering79
    6.4.3 注册图的扩展插件79
    6.5 Feature接口函数80
    6.6 小结82
    第7章 编译时替换机制83
    7.1 替换机制在Substrate VM中的应用84
    7.2 基于注解的替换85
    7.2.1 替换类85
    7.2.2 替换枚举类型87
    7.2.3 替换函数88
    7.2.4 替换构造函数89
    7.2.5 替换类中的域90
    7.2.6 替换类的静态初始化函数92
    7.3 实现原理93
    7.3.1 替换机制责任链93
    7.3.2 确定待替换元素集合96
    7.3.3 自定义替换内容98
    7.4 小结98
    第8章 类提前初始化优化100
    8.1 Java中的类初始化100
    8.2 编译时的类初始化101
    8.2.1 类提前初始化的性能分析102
    8.2.2 类提前初始化的安全性分析103
    8.3 优化实现原理106
    8.3.1 早期阶段分析107
    8.3.2 中期阶段分析109
    8.3.3 后期阶段分析111
    8.4 手动设置类初始化时机112
    8.5 小结113
    第9章 反射的实现与优化114
    9.1 反射在传统Java中的实现115
    9.2 基于配置的支持119
    9.2.1 反射配置文件119
    9.2.2 配置局限性121
    9.3 Substrate VM的反射实现122
    9.3.1 解析配置并注册反射信息123
    9.3.2 反射函数常量折叠优化124
    9.3.3 函数反射调用过程优化125
    9.4 其他类似动态特性的支持126
    9.4.1 JNI调用127
    9.4.2 动态代理127
    9.4.3 资源访问128
    9.4.4 序列化特性129
    9.5 小结129
    第10章 序列化131
    10.1 序列化特性的JDK原生实现131
    10.1.1 序列化/反序列化基本流程132
    10.1.2 序列化中的静态编译不友好特性133
    10.2 静态编译的序列化实现136
    10.2.1 解决动态类加载问题136
    10.2.2 解决new抽象类问题138
    10.2.3 静态初始化函数检查139
    10.3 局限性139
    10.4 小结141
    第11章 跨语言编程:用Java语言编写共享库142
    11.1 样例项目cinterfacetutorial 143
    11.2 共享库的Java实现源码解析145
    11.2.1 声明共享库上下文145
    11.2.2 实现C基本数据结构146
    11.2.3 实现C的结构体继承149
    11.2.4 暴露共享库API149
    11.2.5 直接调用C函数152
    11.2.6 共享库函数的返回值153
    11.3 静态编译JNI共享库153
    11.3.1 JNIDemo项目组织结构153
    11.3.2 JNI库API函数的声明155
    11.3.3 JNI函数编程基本过程156
    11.3.4 JNI函数参数传入String157
    11.3.5 自定义JNI函数指针类型158
    11.3.6 调用Java函数159
    11.4 小结160
    第12章 CLibrary机制161
    12.1 isolate161
    12.1.1 错误的多线程调用:简单复用isolate162

    林子熠 博士,阿里巴巴集团技术专家,曾任华为技术有限公司高级软件开发工程师。 专注于Java静态编译方向,主要负责Java静态编译技术在阿里巴巴生态中的应用,并以落地实践中发现的问题为切入点,向GraalVM社区贡献了多项重要特性,是GraalVM社区建设的积极参与者;曾作为核心人员,负责将华为方舟编译器前端的Java字节码和Art Dex字节码转换为方舟中间语言的开发工作;曾受邀作为上海JUG2019报告嘉宾和北京QCon2020报告嘉宾,介绍GraalVM静态编译技术;曾在编译器领域国际顶级学术会议CGO 2021的Graal专项论坛中报告对Java序列化特性的静态编译支持实现。

    揭秘Oracle GraalVM中Java静态编译技术,以突破Java“冷启动”桎梏,实现启动性能“质”的飞跃

    全书逻辑上分为3篇。
    1.第1篇首先概要介绍Java编译器的演进过程,然后介绍Java静态编译的基本原理、总体能力和发展前景2.第2篇详细介绍GraalVM如何实现Java的静态编译,着重介绍是如何支持现有Java特性。
    3.第3篇主要关注GraalVM的实践应用。静态编译目前还未能达到开箱即用的状态,这一部分会介绍如何将传统Java应用编译为二进制可执行文件或静态库文件。
    通过阅读本书,读者可以了解和掌握目前新的Java静态编译技术的原理、特性和优缺点,能够判断评估自己的业务是否适用于静态编译、是否值得投入资源对现有业务进行静态化改造。

    (1)多名专家联袂推荐:北京大学计算机科学技术系主任胡振江教授、阿里云基础软件舵主蔡景现(多隆)、华为方舟编译器总架构师叶寒栋、GraalVM核心开发人员郑雨迪联袂推荐。(2)阿里资深专家撰写:作者林子熠阿里静态编译研究团队的核心成员,曾任华为不错工程师,一直从事静态编译技术的研究与落地。(3)Java应用性能提升制胜法宝:通过静态编译技术实现Java应用冷启动,实现性能质的飞跃。(4)多方面落地指导:深入原理,给出具体应用与调试技术,指导读者做好平稳落地工作。

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购