《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》JVM 学习笔记 第一章 走近Java

本文是作者学习《深入理解Java虚拟机》的笔记,主要介绍了Java的优点,如跨平台运行、安全的内存管理等。同时,概述了Java技术体系,包括JDK和JRE的区别,并简要提及了Java的发展历程。此外,还分享了如何编译OpenJDK源码的基本步骤,这是一个深入了解JVM原理的好方法。
摘要由CSDN通过智能技术生成

前言

Java 用了有些年头,但是对JVM 只知皮毛,对原理没有深入的了解,概念模糊,嗯!模糊也就算了,反正工作中也用不到或很少用到,主要是跳槽面试时被问到答不上来就无比酸爽啦(不止一次被蹂躏),所以!!!带着惨痛的教训暗下决心,对自己说“ 这块要补一补了!”。既然是学习笔记,学习的模板是《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》-周志明 著,这本书非常不错~推荐。本文是简单记录学习该书的过程与知识点与大家分享。


1、Java的优点 

  1. 一次编写、到处运行。
  2. 安全的内存管理和访问机制,避免了绝大部分内存泄漏和指针越界问题。
  3. 它实现了热点代码检测和运行时编译及优化,这使得 Java 应用能随着运行时间的增长而获得更高的性能。
  4. 各种开源社区提供了丰富的第三方类库。

2、Java技术体系

        JCP(Java Community Process 指 Java社区)官方所定义的Java技术体系包括了一下几个组成部分: 

  1. Java程序设计语言
  2. 各种硬件平台上的 Java 虚拟机实现
  3. Class 文件格式
  4. Java类库API
  5. 来自商业机构和开源社区的第三方 Java 类库

        JDK(Java Development Kit):用于支持Java开发的最小环境。 Java程序设计语言、Java虚拟机实现、Java类库,也就是由上面的1、2、4构成。

        JREJava Runtime Environment) : 用于支持Java程序运行时的标准环境。Java类库中的JavaSE API 子集和Java虚拟机这两部分组成,也就是上面第2项和第4项中的部分内容构成。

        按技术所服务的领域划分或者按照 技术关注的重点业务来划分的话,那Java技术体系可以分为Java Card、Java MEMicro Edition)、Java SEStandard Edition)、Java EEEnterprise Edition)。这里不展开聊了,感兴趣可在网上搜搜。

3、Java发展史、虚拟机家族及展望未来

        原书中这节对Java的前世今生写的很详细,有种看历史剧的感觉,情节紧凑跌宕起伏,强烈建议看原书内容,我个人比较喜欢。

4、打造自己的JDK

        打个比方,你要造轮子,轮子就是开发出来的产品,造轮子需要厂房设备,相当于开发环境,JDK就是提供了这样的环境,为什么要自己做JDK呢?个性化定制、学习原理。。。CentOS8下编译 OpenJDK15 的源码。

基本步骤

        1、下载OpenJDK源码

        2、进入源码目录后执行 bash configure [options] 

        configure命令承担了依赖项检查、参数配置和构建输出目录结构等多项职责,如果编译过程中需要的工具链或者依赖项有缺失,命令执行后将会得到明确的提示,并且给出该依赖的安装命令。
        3、编译 make images
        编译过程很漫长。。。

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值