加载中...
扫一扫
下载苏宁易购APP
关注苏宁推客公众号
自购省钱·分享赚钱
下载苏宁金融APP
关注苏宁易购服务号
用户评价:----
物流时效:----
售后服务:----
实名认证领苏宁支付券立即领取 >
¥
提前抢
SUPER会员专享
由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
欢迎光临本店铺
点我可查看更多商品哦~
100%刮中券,最高50元无敌券,券有效期7天
亲,今日还有0次刮奖机会
我的云钻:0
您的云钻暂时不足,攒足云钻再来刮
恭喜获得1张券!
今天的机会已经全部用完了,请明天再来
恭喜刮出两张券,请选择一张领取
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
全新GraalVM与Java静态编译 原理与应用林子熠9787111696391
¥ ×1
商品
服务
物流
序前言部 从解释执行到静态编译:Java的编译发展之路章 Java静态编译技术的诞生21.1 Java程序的运行生命周期31.1.1 初始化41.1.2 程序预热51.2 冷启动问题81.3 初识Java静态编译技术111.3.1 什么是Java静态编译111.3.2 静态编译的优势121.3.3 静态编译的局限131.4 小结15第2章 Java静态编译的业界实现162.1 Oracle GraalVM162.1.1 GraalVM是什么172.1.2 GraalVM静态编译优点192.1.3 GraalVM静态编译缺点202.1.4 GraalVM发展分析212.2 华为方舟编译器22. 小结24第3章 GraalVM整体结构253.1 子项目与组件253.2 GraalVM编译系统工具mx293.3 在E中打开GraalVM323.4 小结33第4章 从Java程序到本地代码:静态编译应用流程344.1 获取GraalVM JDK354.1.1 下载发布版354.1.2 下载Docker镜像374.2 从源码编译374.2.1 编译准备374.2.2 编译384.3 获取依赖库404.4 预执行目标应用程序414.5 静态编译目标应用程序434.5.1 命令行模式编译434.5.2 配置文件模式454.5.3 Maven插件模式464.5.4 Gradle插件模式474.6 静态编译Java程序实例484.6.1 静态编译HelloWorld494.6.2 静态编译Spring Boot应用实例504.7 小结52第二部分 静态编译实现原理第5章 Substrate VM静态编译框架545.1 静态编译启动器555.2 静态编译实现流程575.2.1 类载入595.2.2 准备605.. 静态分析615.2.4 全局构建635.2.5 编译645.2.6 生成image655.2.7 写文件655.3 Substrate VM运行时支持675.3.1 内存管理675.3.2 系统信号处理机制695.4 小结70第6章 Feature机制716.1 Feature机制概览716.2 Feature管理736.2.1 注册与调用Feature736.2.2 Feature依赖746.3 Feature影响编译流程756.3.1 Feature函数的入参回调756.3.2 访问ImageSingletons单例库766.4 GraalFeature实现静态编译优化776.4.1 GraalVM编译器基础知识776.4.2 扩展lowering796.4.3 注册图的扩展插件796.5 Feature接口函数806.6 小结82第7章 编译时替换机制837.1 替换机制在Substrate VM中的应用847.2 基于注解的替换857.2.1 替换类857.2.2 替换枚举类型877.. 替换函数887.2.4 替换构造函数897.2.5 替换类中的域907.2.6 替换类的静态初始化函数927.3 实现原理937.3.1 替换机制责任链937.3.2 确定待替换元素集合967.3.3 自定义替换内容987.4 小结98第8章 类提前初始化优化1008.1 Java中的类初始化1008.2 编译时的类初始化1018.2.1 类提前初始化的能分析1028.2.2 类提前初始化的安全分析1038.3 优化实现原理1068.3.1 早期阶段分析1078.3.2 中期阶段分析1098.3.3 后期阶段分析1118.4 手动设置类初始化时机1128.5 小结113第9章 反的实现与优化1149.1 反在传统Java中的实现1159.2 基于配置的支持1199.2.1 反配置文件1199.2.2 配置局限1219.3 Substrate VM的反实现1229.3.1 解析配置并注册反信息19.3.2 反函数常量折叠优化1249.3.3 函数反调用过程优化1259.4 类似动态特的支持1269.4.1 JNI调用1279.4.2 动态代理1279.4.3 资源访问1289.4.4 序列化特1299.5 小结1290章 序列化13110.1 序列化特的JDK原生实现13110.1.1 序列化/反序列化基本流程13210.1.2 序列化中的静态编译不友好特13310.2 静态编译的序列化实现13610.2.1 解决动态类加载问题13610.2.2 解决new抽象类问题13810.. 静态初始化函数检查13910.3 局限13910.4 小结1411章 跨语言编程:用Java语言编写共享库14211.1 样例项目cinterfacetutorial 14311.2 共享库的Java实现源码解析14511.2.1 声明共享库上下文14511.2.2 实现C基本数据结构14611.. 实现C的结构体继承14911.2.4 暴露共享库API14911.2.5 直接调用C函数15211.2.6 共享库函数的返回值15311.3 静态编译JNI共享库15311.3.1 JNemo项目组织结构15311.3.2 JNI库API函数的声明15511.3.3 JNI函数编程基本过程15611.3.4 JNI函数参数传入String15711.3.5 自定义JNI函数指针类型15811.3.6 调用Java函数15911.4 小结1602章 CLibrary机制16112.1 isolate16112.1.1 错误的多线程调用:简单复用isolate16212.1.2 正确的多线程调用:为每个线程新建isolate16312.1.3 正确的多线程调用:映线程与isolate16412.2 WordBase接口系统1651. 注解系统1671..1 @CContext注解1671..2 @CEntryPoint注解1721.. @InvokeCFunctionPointer注解17312.4 正确释放内存17312.5 小结175第三部分 静态编译实战3章 静态编译Serverless应用到阿里云函数计算平台17813.1 阿里云函数计算平台17813.2 静态编译基于Micronaut的Spring-Boot示例项目17913.3 部署到阿里云18013.4 能比较18013.5 小结1824章 native-image-agent的实现18314.1 native-image-agent与JVMTI18314.2 实现静态编译的JVMTI Agent18514.3 native-image-agent的可用选项18814.4 小结1905章 调试19115.1 编译debug版本的native image19115.2 使用GDB调试native image19315.2.1 启动GDB19415.2.2 增加函数断点19415.. GDB TUI分屏界面19515.2.4 单步调试19715.2.5 查看Java对象的值19715.3 小结199
林子熠,博士,集团技术专家,曾任华为技术有限公司高级软件开发。专注于Java静态编译方向,主要负责Java静态编译技术在生态中的应用,并以落地实践中发现的问题为切入点,向GraalVM社区贡献了多项重要特,是GraalVM社区建设的积极参与者;曾作为核心人员,负责将华为方舟编译器前端的Java字节码和ArtDex字节码转换为方舟中间语言的开发工作;曾受邀作为上海JUG2019报告嘉宾和北京Con2020报告嘉宾,介绍GraalVM静态编译技术;曾在编译器领域国际很好学术会议CGO 2021的Graal专项论坛中报告对Java序列化特的静态编译支持实现。
(1)多名专家联袂:北京大学计算机科学技术系主任胡振江教授、阿里云基础软件舵主蔡景现(多隆)、华为方舟编译器总架构师叶寒栋、GraalVM核心开发人员郑雨迪联袂。(2)阿里资深专家撰写:作者林子熠阿里静态编译研究团队的核心成员,曾任华为高级,一直从事静态编译技术的研究与落地。(3)Java应用能提升制胜法宝:通过静态编译技术实现Java应用冷启动,实现能质的飞跃。(4)落地指导:深入原理,给出具体应用与调试技术,指导读者做好平稳落地工作。
抢购价:¥ 38.00
易购价:¥ 38.00
注:参加抢购将不再享受其他优惠活动
亲,很抱歉,您购买的宝贝销售异常火爆,让小苏措手不及,请稍后再试~
验证码错误
看不清楚?换一张
确定关闭
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
查看我的收藏夹
非常抱歉,您前期未参加预订活动,无法支付尾款哦!
关闭
抱歉,您暂无任性付资格
继续等待
0小时0分
立即开通
SUPER会员