Java中的JDK,JRE和JVM有什么区别和联系
Java中的JDK,JRE和JVM有本质的区别:JDK是Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源;JRE是Java运行环境,用于运行Java程序;JVM是Java虚拟机,负责解释执行字节码文件。三者的主要联系:JDk包含JRE,JRE中包含JVM。
1.JDK,JRE和JVM的区别
(1)本质和概念区别
JDK是Java Development Kit的缩写,是Java的开发工具包,它提供了编译、运行Java程序所需的各种工具和资源。
JRE是Java Runtime Environment的缩写,是Java运行环境,包含JVM标准实现及Java核心类库。
JVM是Java Virtual Mechinal的缩写,即Java虚拟机,它是整个java实现跨平台的最核心的部分。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
(2)作用和使用上的区别
JDK用于开发,程序开发者必须安装JDK来编译、调试程序;
JRE用于运行Java程序,它没有包含任何开发工具,如编译器和调试器等,因此普通用户只需要安装JRE来运行Java程序。
JVM负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的,但它们都提供了相同的接口。
2.JDK,JRE和JVM的联系
简单来讲,JDK包含了JRE,JRE包含了JVM。JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。
延伸阅读
Java中SSH框架和SSM框架有什么区别
Java中SSH框架和SSM框架主要有两点区别:1.MVC分离的实现方式不同;2.持久层的框架不同。SSH框架中,MVC分离的实现方式为Struts,SSM框架为SpringMVC;SSH持久层的框架前者为Hibernate,而SSM为MyBatis。
1.SSH框架
一般常说的SSH组合框架,就是Struts,Spring,Hibernate,后来Struts被SpringMVC来取代,所以SSH也可以是后者的组合。在这4中框架中,Struts和Hibernate目前来看,已经比较陈旧,而且也是比较重的框架,企业中目前已经很少用了。
在10多年前,SSH绝对是业内最流行的企业级开发框架。SSH框架是以Struts框架进行MVC分离、控制业务跳转,同时使用Hibernate进行持久化,最后配合Spring的统一管理进行实现的开发框架。相对于传统的J2EE开发框架来讲性能相对较高、资源消耗相对较少。
SSH框架具体优势如下:框架进行了代码分层,将Java代码和HTML代码进行分层,大大降低了开发人员的技术难度,不需要同时精通Java后端知识和Web前端知识。由于使用了Struts框架进行了MVC分离,降低了各层代码间的耦合度。与Spring的AOP机制相互独立,互不影响。使用SSH框架开发项目,能够大大提高项目的开发效率与开发质量。良好的扩展性和维护性。
2.SSM框架
SSM框架也被称为“SSM组合”,是由Spring+SpringMVC+MyBatis三个框架整合而成的。其实,SpringMVC属于Spring框架,所以SSM框架其实就是Spring和Mybatis两个框架的整合运用。因此,SSM框架可以说是Mybatis的进阶版——Mybatis-plus。这个组合可以说是目前比较流行的组合了,一二线城市中,不少的项目还在使用SSM框架。
那SSM框架的优势又有哪一些呢?对于MVC模式的实现,SpringMvc更加的轻量。由于SpringMvc本身属于Spring,因此与Spring的配合使用契合度更高。Mybatis相对Hibernate更加轻量,同时将Sql和业务代码进行了很好的解耦。MyBatis的学习门槛更低,相对于传统的JDBC差距不大,更好入门及掌握。

