入职没见过P8领导,3月后他带着份769页虚拟机笔记出关了

简介: Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三方Java框架(如Spring、 MyBatis等) 构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。

Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三方Java框架(如Spring、 MyBatis等) 构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。

这种状况很大程度上是由Java开发技术本身的一个重要优点导致的:在虚拟机层面隐藏了底层技术的复杂性以及机器与操作系统的差异性。运行程序的物理机千差万别,而Java虚拟机则在千差万别的物理机上面建立了统一的运行平台,实现了在任意-台Java虚拟机上编译的程序,都能在任何其他Java虚拟机上正常运行。这一极大的优势使得Java应用的开发比传统C/C + +应用的开发更高效快捷,程序员可以把主要精力放在具体业务逻辑,而不是放在保障物理硬件的兼容性上。通常情况下,一个程序员只要了解了必要的Java类库API、Java语法,学习适当的第三方开发框架,就已经基本满足日常开发的需要了。虚拟机会在用户不知不觉中完成对硬件平台的兼容及对内存等资源的管理工作。因此,了解虚拟机的运作并不是普通开发人员必备的,或者说首要学习的知识。

然而,凡事都具备两面性。随着Java技术的不断发展,它已被应用于越来越多的领域之中。其中一些领域,如互联网、能源、金融、通信等,对程序的性能、稳定性和扩展性方面会有极高的要求。一段程序很可能在10个人同时使用时完全正常,但是在10000个人同时使用时就会缓慢、死锁甚至崩溃。毫无疑问,要满足10000个人同时使用,需要更高性能的物理硬件,但是在绝大多数情况下,提升硬件性能无法等比例提升程序的运行性能和并发能力,甚至有可能对程序运行状况没有任何改善。这里面有Java虚拟机的原因:为了达到“所有硬件提供一致的虚拟平台”的目的,牺牲了一些硬件相关的性能特性。 更重要的是人为原因:如果开发人员不了解虚拟机诸多技术特性的运行原理,就无法写出最适合虚拟机运行和自优化的代码。

其实,目前商用的高性能Java虚拟机都提供了相当多的优化参数和调节手段,用于满足应用程序在实际生产环境中对性能和稳定性的要求。如果只是为了入门学习,让程序在自己的机器上正常工作,那么这些特性可以说是可有可无的;但是,如果用于生产开发,尤其是大规模的、企业级的生产开发,就迫切需要开发人员中至少有一部分人对虚拟机的特性及调节方法具有很清晰的认识。所以在Java开发体系中,对架构师、系统调优师、高级程序员等角色的需求一直都非常大。学习虚拟机中各种自动运作特性的原理也成为Java程序员成长路上最终必然会接触到的一课。通过本书,读者可以以一个相对轻松的方式学到虚拟机的运作原理。

本书一共分为五个部分:走近Java、自动内存管理、虚拟机执行子系统、程序编译与代码优化、高效并发。各个部分之间基本上是互相独立的,没有必然的前后依赖关系,读者可以从任何一个感兴趣的专题开始阅读,但是每个部分各个章节间则有先后顺序。

由于文章篇幅限制,无法为大家展示全部内容,仅展示目录及部分片段,完整版已为大家备好,需要获取用以学习的朋友,可以点击此处来获取就可以了!

第一部分走近Java

第1章走近Java

第二部分自动内存管理

第2章Java内存区域与内存溢出异常

第3章垃圾收集器与内存分配策略

第4章虚拟机性能监控、故障处理工具

第5章调优案例分析与实战

第三部分虚拟机执行子系统

第6章类文件结构

第7章虚拟机类加载机制

第8章虚拟机字节码执行引擎

第9章类加载及执行子系统的案例与实战

第四部分程序编译与代码优化

第10章前端编译与优化

第11章后端编译与优化

第五部分高效井发

第12章Java内存模型与线程

第13章线程安全与锁优化

本书面向的读者

(1)使用Java技术体系的中、高级开发人员Java虚拟机作为中、高级开发人员修炼的必要知识,有着较高的学习门槛,本书可作为学习虚拟机的教材。

(2)系统调优师

系统调优师是最近几年才兴起并迅速流行起来的职业,本书中的大量案例、代码和调优实战将会对系统调优师的日常工作有直接的参考作用。

(3)系统架构师

保障系统的性能、并发和伸缩等能力是系统架构师的主要职责之一 ,而这部分与虚拟机的运作密不可分,本书可以作为他们制定应用系统底层框架的参考资料。

领取文章中阿里P8闭关3个月总结的769页虚拟机笔记只需要:

可以点击此处来获取就可以了!

相关文章
|
10月前
|
Java 程序员
详解虚拟机!京东大佬出品HotSpot VM源码剖析笔记(附完整源码)
有这么一句话:学Java不怕找不到工作,Java的就业前景好,岗位也多,入门还快...但真的是这样吗?为什么明明岗位空缺单位却招不到合适的人?为什么很多学习Java的人却没有单位录用?答案就一个字:卷!公司对于Java开发的要求都变高了,很多东西你不仅要会用,还得知道其中的原理,不然免谈~
|
11月前
|
运维 算法 安全
阿里P8写出的2023最新版《深入理解Java虚拟机3》轻松学会JVM底层
Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三E方Java框架(如Spring、 MyBatis等) 构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。
|
11月前
|
运维 数据安全/隐私保护 虚拟化
运维小笔记:Windows-VMWare 虚拟机密码移除
本文介绍一种使用大白菜 PE 系统内置的密码移除工具,通过加载到 VMWare 虚拟机上,移除虚拟机密码的方法
410 0
|
算法 Java Linux
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【下部】
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【下部】
165 0
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【下部】
|
算法 Java 编译器
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】
145 0
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】
|
XML 存储 Ubuntu
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪。   于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间。
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
|
存储 XML Ubuntu
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开始搭建rk3568的sdk开发环境。
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
|
人工智能 Ubuntu Linux
RK3568开发笔记(三):RK3568虚拟机基础环境搭建之更新源、安装网络工具、串口调试、网络连接、文件传输、安装vscode和samba共享服务
RK3568开发笔记(三):RK3568虚拟机基础环境搭建之更新源、安装网络工具、串口调试、网络连接、文件传输、安装vscode和samba共享服务
RK3568开发笔记(三):RK3568虚拟机基础环境搭建之更新源、安装网络工具、串口调试、网络连接、文件传输、安装vscode和samba共享服务
|
IDE 编译器 Linux
Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境
Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境
Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境
|
Ubuntu 编译器 Python
Hi3516开发笔记(七):Hi3516虚拟机交叉开发环境搭建之交叉编译Qt
Hi3516开发笔记(七):Hi3516虚拟机交叉开发环境搭建之交叉编译Qt
Hi3516开发笔记(七):Hi3516虚拟机交叉开发环境搭建之交叉编译Qt

热门文章

最新文章