• 我脑中的JVM大全附带Java8的特性


    Java虚拟机-sun classic vm

    世界上第一款商用的Java虚拟机。
    只能使用纯解释器的方式来执行Java代码。

    Java虚拟机-ExactVM

    Exact Memory Management 准确试内存管理
    虚拟机可以知道内存中某个位置的数据具体使什么类型的,在进行垃圾回收的时候可以判断堆上的数据是否能被使用。
    编译器和解释器混合工作以及俩及即时编译器。
    只在Solaris平台发布。

    Java虚拟机-HotSpotVM

    HotSpot,是较新的Java虚拟机技术,用来代替JIT(just-in-time compilation,及时编译)技术,可以大大提高Java运行的性能。Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢。而该技术将常用的部分代码编译为本地(原生,native)代码,这样显著提高了性能。

    对于初学者来说,尽管Hotspot有些神秘,但是性能方面它确实很棒,因为动态建模(dynamic profiling)是优良性能的捷径。HotSpot从运行应用中采样数据,从而可以优化代码,进而得到良好性能。它相当于以模仿人工的方法进行优化。在程序运行的开始,Java代码仍然解释执行,但HotSpot引擎开始进行采样(Profiling)。HotSpot引擎可以集中精力来对HotSpot代码进行深度优化,从而使这部分代码的执行更加迅捷。因此当HotSpot优化时,它为优化设立了一层保护来确保优化的基本原理有效;但当这层保护失效时,优化就会很慢。

    Java虚拟机-KVM

    Kilobyte 是在手机平台运行。而且简单高效,轻量,高度可移植。相传诺基亚S60用的就是这个虚拟机。

    Java虚拟机-JRockit

    现在已经被Oracle收购
    BEA 自称世界上最快的虚拟机
    专注服务端的应用

    优势:

    • 垃圾回收器
    • MessionControl 服务套件(用于寻找生产环境中内存泄露)

    Java虚拟机-J9

    IBM公司生产的自称最快的虚拟机
    全称IBM Technology for Java virtual Machine IT4j
    类似于HotSpot

    不是Java虚拟机的Java虚拟机-dalvik

    不是一个Java虚拟机,无法执行编译后的class可执行文件。
    主要是在android开发的。
    DEX dalvik Executalbe 可执行文件

    Microsoft JVM

    。。。都是历史了。

    JDK8的特性

    接口的默认方法和静态方法

    Java8使用了俩个概念扩展了接口的含义,默认方法和静态方法,默认方法使得卡覅这可以在不破坏二进制兼容的前提下,往现存接口中添加新的方法,即不强制那些实现了该接口的类也同时实现这个新加的方法。

    Lambda表达式和函数式编程

    函数式编程时技术的发展方向,而lambda使函数式编程最基础的内容。
    最简单的体现就是不用再写大量的匿名内部类。
    此外,因为lambda的引入,集合操作也得到了很大的改善。比如,stream API,把map,reduce,filter这样的基本函数式编程的概念与Java集合结合起来。在大多数情况下,我们可以告别for,while,if。

    Data Api

    重复注解

    更好的类型推断

    Java 8 编译器在类型推断方面有很大的提升,在很多场景下编译器可以推导出某个参数的数据类型,从而使代码更为简洁。

  • 相关阅读:
    List<Map>遍历相加
    jqgrid属性
    idea Could not autowire. No beans of 'xxxx' type found
    【笔记】抓取百度贴吧
    python url中文转码
    python lxml 库
    Python 基础 (笔记)
    HTML 背景
    HTML Iframe
    HTML 响应式 Web 设计
  • 原文地址:https://www.cnblogs.com/godoforange/p/11547344.html
Copyright © 2020-2023  润新知