java的jdk和jre有什么区别?
一、java的jdk和jre的区别
JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。
JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运 行Java程序的平台。JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。
JRE主要包含:java类库的class文件(都在lib目录下打包成了jar)和虚拟机(jvm.dll);JDK主要包含:java类库的 class文件(都在lib目录下打包成了jar)并自带一个JRE。那么为什么JDK要自带一个JRE呢?而且jdk/jre/bin下的client 和server两个文件夹下都包含jvm.dll(说明JDK自带的JRE有两个虚拟机)。
记得在环境变量path中设置jdk/bin路径麽?老师会告诉大家不设置的话javac和java是用不了的。确实jdk/bin目录下包含了所有的命令。可是有没有人想过我们用的java命令并不是jdk/bin目录下的而是jre/bin目录下的呢?不信可以做一个实验,大家可以把jdk /bin目录下的java.exe剪切到别的地方再运行java程序,发现了什么?一切OK!(JRE中没有javac命令,原因很简单,它不是开发环境)那么有人会问了?我明明没有设置jre/bin目录到环境变量中啊?试想一下如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需 要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的 java.exe添加到了系统变量中,验证的方法很简单,去Windows/system32下面去看看吧,发现了什么?有一个java.exe。
延伸阅读:
二、java初学者用什么软件
用myeclipse或者eclipse,记事本都可以。
1.初学者的话不建议上来就用IDE开发工具比如说Eclipse、MyEclipse、IntelliJ IDEA、netbean。但是也可以使用这些,不建议的原因不便于你了解JavaAPI,及相关的编译原理,编译过程之类的。主要是就是熟悉基础。
2. 刚开始可以使用记事本、editplus、notepad,这些工具的话,比较单纯,但是可能会给初学者制造一些不必要的麻烦,影响学习的积极性。
3.会让你快速找到编程的快感。2的话如果你搞定了使用IDE的话也就是如数家珍。并且对于基础也会了解的比较多,因为在使用2的过程中你会犯下很多错误,当然大多数可能都是拼写错误,但是要大胆试错,不要怕。
4.也可以使用记事本编辑保存格式为.java的文件,然后安装JDK,使用cmd去编译执行。
以上就是关于java的jdk和jre有什么区别的内容希望对大家有帮助。
相关推荐HOT
更多>>字符集和编码方式的区别?
一、字符集和编码方式的区别字符集:多个字符的集合。例如GB2312是中国国家标准的简体中文字符集,GB2312收录简化汉字(6763个)及一般符号、序...详情>>
2023-10-20 19:26:54黑客和编程有什么区别?
一、黑客和编程的区别1.很多程序员都是科班出身,而黑客大多数都是靠兴趣去自学的;2.程序员是解决软件或硬件问题,黑客则做一些网络的工作。比...详情>>
2023-10-20 16:30:30什么是微软Azure?
一、什么是微软AzureMicrosoft Azure是微软提供的基于云的平台和服务,允许通过微软管理的数据中心的全球网络开发、部署和管理应用程序和服务...详情>>
2023-10-20 14:46:55云控跟群控有什么区别?
一、云控跟群控的区别1. 控制手机数量云控:一台电脑就可以控制1-20000部手机同时运行,通过阿里云服务器传输任务,手机和手机之间不需要任何连...详情>>
2023-10-20 14:21:23