深入理解java虚拟机第三版第一章

深入理解java虚拟机这本书本书是以OpenJDK/OracleJDK中的HotSpot虚拟机为主脉络进行讲述

java杂谈

深入理解java虚拟机第三版第一章_第1张图片

  1. 一般以javax.*作为包名,而以java.*为包名的包都是Java SE API的核心包,javaEE的扩展由于历史原因,一部分曾经是扩展包的API后来进入了核心包中,因此核心包中也包含了不少javax.*开头的包名。
  2. Sun公司发布了JDK 1.1,Java里许多最基础的技术支撑点(如JDBC等)都是在 JDK 1.1版本中提出
  3. 它但诞生于名为“Longview Techno-logies”的小公司,后被sun公司收购成为jdk1.3的主流虚拟机
  4. 2004年9月30日,JDK 5发布,工程代号为Tiger(老虎)。Sun公司从这个版本开始放弃了谦逊 的“JDK 1.x”的命名方式,将产品版本号修改成了“JDK x
  5. 而JDK 5在Java语法易用性上做出了非常大的改进。如:自动装箱、泛型、动态注解、枚 举、可变长参数、遍历循环(foreach循环)等语法特性都是在JDK 5中加入的。在虚拟机和API层面上,这个版本改进了Java的内存模型(Java Memory Model,JMM)、提供了java.util.concurrent并发包 等。另外,JDK 5是官方声明可以支持Windows 9x操作系统的最后一个JDK版本。
  6. 。JDK 6的改进包括:提供初步的动态语言支持(通过内置Mozilla JavaScript Rhino引擎实现)、提供编译期注解处理器和微型HTTP服务器API,等等。同时,这个版本对Java虚拟 机内部做了大量改进,包括锁与同步、垃圾收集、类加载等方面的实现都有相当多的改动。
  7. JDK 7包含的改进有:提供新的G1收 集器(G1在发布时依然处于Experimental状态,直至2012年4月的Update 4中才正式商用)、加强对非 Java语言的调用支持(JSR-292,这项特性在到JDK 11还有改动)、可并行的类加载架构等。
  8. JDK 8包含的改进有:对Lambda表达式的支持,这让Java语言拥有了流畅的函数式表达能力,内置Nashorn JavaScript引擎的支持. ·新的时间,日期API,彻底移除HotSpot的永久代
  9. 有LTS版的JDK能够获得为期三年的支持和更新,普通版的 JDK就只有短短六个月的生命周期。JDK 8和JDK 11会是LTS版,再下一个就到2021年发布的JDK 17 了
  10. Oracle正式 宣告Java EE成为历史名词。虽然Java SE、Java EE和Java ME三条产品线里确实只有Java SE称得上成 功,但Java EE毕竟无比辉煌过,现在其中还持有着JDBC、JMS、Servlet等使用极为广泛的基础组件, 然而Oracle仍选择把它“扫地出门”,所有权直接赠送给Eclipse基金会,唯一的条件是以后不准再使 用“Java”这个商标[14],所以取而代之的将是Jakarta EE。

虚拟机

这块内容主要讲了hotspot发展史和其他虚拟机的介绍和历史
最后提到了 Graal vm无语言倾向虚拟机概念,他是在hotspot基础上的增强,可以运行任何语言
深入理解java虚拟机第三版第一章_第2张图片

编译虚拟机

系统环境:ubuntu16.04
jdk9源码地址:http://hg.openjdk.java.net/jdk9

译JDK需要指定一个Bootstrap JDK,因为OpenJDK的各个组成部分有的是用C++编写的,更多的代码则是使用Java自身实现的。所以需要去JDK官网下载一份JDK,编译jdk9要下载jdk8或9,编译jdk8要下载jdk8或7以此类推

jdk8的gz压缩包:链接:https://pan.baidu.com/s/1HxOwgXXeAx63AhoV7zTs9w 提取码:nz53

1.获取源码,这里建议编译jdk9

  apt-get install mercurial
  hg clone http://hg.openjdk.java.net/jdk9/jdk9/

会生产一个jdk9目录 cd 到jdk9目录,执行命令获取剩下的源码

   chmod +x get_source.sh 
   ./get_source.sh

下载完成后jdk9内容如下:
在这里插入图片描述
开始构建

  chmod +x configure
  sudo ./configure --with-boot-jdk=/home/kjctar/Downloads/jdk1.8.0_11/

构建成功后有如下提示:

构建过程中出现任何错误都是没有安装相应的依赖,根据提示 install上就行了

深入理解java虚拟机第三版第一章_第3张图片
开始编译
直接执行make,要编译大概二十几分钟
在这里插入图片描述
编译成功!

cd  build/linux-x86_64-normal-server-release/jdk/bin
./java -version

在这里插入图片描述

你可能感兴趣的:(Java)