抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Java笔记概念篇

Java Edition

  1. Java SE (Java Platform, Stadard Edition):

Java平台标准版,Java的基础部分(通常学校所教、一般所称的Java语言),包含程序开发、运行所需核心类库以及虚拟机等核心组件。可用于构建桌面应用程序、简单服务器程序。

最基本的语言环境

  1. Java EE (Java Platform, Enterprise Edition):

Java平台企业版,在Java SE基础之上建立而来,包含企业级应用程序和部署的标准、规范。早前的ServletJSPJDBC等等。Java EE 可用于构建分布式、可移植、健壮、可伸缩、安全的服务端Java应用程序。

大概就是单单一个Java SE是没法满足企业开发需要,配套标准之后方便与其他应用程序联合开发(数据库、各种中间件)

  1. Java ME (Java Platform, Micro Edition)

Java的微型版本,主要用于开发嵌入式应用程序。

很早的一个东西,我记得Sun公司刚开始就是往这方面做,现在基本无了( C++, C这些比Java更适合)


JVM、JIT、JRE、JDK

JVM (Java Virtual Machine)

Java 虚拟机,用以运行Java字节码,是一个利用软件技术虚构出来的计算机,也是一种规范

Java程序运行的过程:源文件(.java) -> 编译器 -> 字节码(.class) -> 解释器 -> 机器码

JVM类加载器加载字节码文件,然后解释器逐行解释生成机器码,机器码交给系统之后,系统会与硬件交互完成工作。而解释器这一步就是由JVM调配执行,JVM针对不同系统进行解释器不同的实现,使得相同字节码在不同系统下运行出相同结果
JVM具体细节日后再补充

JIT (Just In Time Compilation)

运行时编译,是一种技术,一般在JVM中使用。其在完成第一次编译后,会将字节码对应的机器码保存,以便下次直接使用(部分方法或代码块运行频繁,JIT就会把这部分“热点代码”编译成本地机器对应的机器码,并缓存。JVM会根据代码执行情况收集信息并相应给出优化)

JRE (Java Runtime Environment)

Java运行时环境,是运行已编译Java程序所需所有内容的集合,包含Java虚拟机(JVM)Java基础类库(Java Class Library)

JDK (Java Development Kit)

Java开发工具包,能够创建和编译Java程序,包含JRE以及一些其他工具比如jdb(调试器)、javadoc(文档注释工具)等

JVM-JRE-JDK三者关系:

Java9引入模块化和jlink,可以使用jlink打包一个程序运行时映像,只需要打包所需的特定包,借此来提供运行时环境并且减少内存和消耗

评论