JVM、JRE和JDK的区别 及 环境变量的作用 什么是垃圾回收机制

JVM、JRE和JDK的区别 及 环境变量的作用 什么是垃圾回收机制

目录

JVM、JRE和JDK的区别

一、JVM

二、JRE

三、JDK

四、总结:

环境变量path和classpath的作用是什么?

JAVA语言的三种技术架构:

什么是java跨平台性?

GC是什么? 为什么要有GC?

一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?


JVM、JRE和JDK的区别

一、JVM

JVM(Java Virtual Machine),是java虚拟机。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。对应的文件位于jdk以及jre目录下的bin\server中的jvm.dll。

JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。

二、JRE

JRE(Java Runtime Environment),是java的运行环境。包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器),但包含java运行程序(java.exe)。

三、JDK

JDK(Java Development Kit),是java的开发工具包。是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。在JDK的安装目录下,主要有以下的目录。

【1】bin,里面存放有我们熟知的java命令,可以被系统直接运行。要让cmd可直接运行这些exe可执行文件,我们需要为bin目录配置环境变量。

注意:用来编译java程序的javac.exe来自于jdk安装目录下的bin,而运行java程序用到的java.exe来自于jre安装目录下的bin中。客户想要使用java程序,总不能自己去配置环境变量吧,因此在安装jre时,自动为java.exe配置好了环境变量。

【2】lib,jvm工作时需要的核心类库,都被打成了jar存放在此目录里。

【3】jre,因此安装了jdk,就不需要再单独安装jre了。

四、总结:

作为预备程序员,自然是选择安装JDK,不需要再单独安装JRE了,并将Jdk安装目录下的bin目录路径添加到path中。而如果作为客户的话,只需要安装JRE就行了,不需要再配置环境变量,因为再安装JRE的时候,系统会自动配置。

环境变量path和classpath的作用是什么?

环境变量path和classpath的作用是什么?

1、PATH环境变量。

作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。

需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经可执行文件javac/java/javadoc等待,设置PATH变量后,就可以在任何目录下执行javac/java等工具了。

2、CLASSPATH环境变量。

作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。

需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

新版的软件,classpath没有什么用了,因为在安装的时候已经选了JDK而且可以添加

补充:JAVA_HOME环境变量。

它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

JAVA语言的三种技术架构:

JAVAEE (企业版): 企业环境下开发应用程序,servlet,jsp,针对web应用程序的开发。

JAVASE(标准版):普通简单的桌面应用程序,商务应用程序。(java版扫雷)

JAVAME(小型版):手机应用软件,电子消费产品或者嵌入式设备提供支持,(使用android,开发,用不到java,android提供的方法更简单)
 

什么是java跨平台性?

   
         通过java编写的应用程序在不同的系统平台上都可以运行
         只要在需要运行java程序的操作系统上,先安装一个java虚拟机,由JVM来负责Java程序在该系统中的运行。

如图:

JVM、JRE和JDK的区别 及 环境变量的作用 什么是垃圾回收机制

GC是什么? 为什么要有GC?

GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,

忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动

监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存

的显示操作方法

一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

 

可以!一个“ java”源文件里面可以包含多个类,类名必须和文件名一致。

 

垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

 

对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用

有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是”可达的”,哪些对象是”不可达的”。当GC确定一些对象为”不可达”时,GC就有责任回收这些内存空间。可以。

程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

 

/*一些笔记:

人使用计算机的两种方式

1、图像化界面操作:效率低;

2、命令行操作 : 效率高。

创建文件 md;

删除文件 rd;*/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114846.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 下钻分析「建议收藏」

    下钻分析「建议收藏」沿着特定属性维度的层次下降,以获取更详细的数据。是数据仓库中的一种分析操作。

    2025年6月6日
    3
  • spring security——基本介绍(一)「建议收藏」

    spring security——基本介绍(一)「建议收藏」一、springsecurity简介springsecurity的核心功能主要包括:认证(你是谁) 授权(你能干什么) 攻击防护(防止伪造身份)其核心就是一组过滤器链,项目启动后将会自动配置。最核心的就是BasicAuthenticationFilter用来认证用户的身份,一个在springsecurity中一种过滤器处理一种认证方式…

    2022年6月16日
    39
  • 高中信息技术知识点_高一信息技术基础知识点整理

    高中信息技术知识点_高一信息技术基础知识点整理第一章绪言一、信息1.信息的含义:理解信息的含义:(三种典型的观点)香农的观点:用来消除不确定的东西维纳的观点:区别于物质与能量的第三类资源钟义信的观点:事物运动的状态与方式2.信息的基本特征:依附性、共享性、时效性、价值性、普遍性等例如:信息必须依附于载体,同一信息可以依附于不同的载体。人…

    2025年8月12日
    3
  • 免费PDF翻译,不限页数,不限字数,保留排版

    免费PDF翻译,不限页数,不限字数,保留排版可以试试这个网站https://superdoctranslator.com/,使用百度的引擎,排版全部保留,不仅支持word和pptx,还支持图片PDF和扫描件,一个月白嫖少说也得600页PDF,用标准版appid连页数都不限制了,主要是排版效果几乎100%还原。…

    2022年6月3日
    67
  • 基于python的电影推荐系统_python为什么叫python

    基于python的电影推荐系统_python为什么叫python好莱坞知名媒体THR《好莱坞报道者》,邀请了2800多名好莱坞影视从业人员,包括779名演员,365名制片人,268名导演等等,由他们选出自己最爱的剧集,最终汇总成为这个百大经典美(英)剧清单。看看你追的剧上榜了吗?看到第一名时,瞬间热泪盈眶!果然是他,最经典,没有之一!100、绝望主妇DesperateHousewives(2004-2012)ABC99、弗尔蒂旅馆FawltyTowe…

    2022年9月30日
    3
  • 2021版 idea激活码(最新序列号破解)

    2021版 idea激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号