首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JDK,JRE,JVM区别与联系

JVMJDKEclipseJava企业应用 很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的。 今天特写此文,来整理下三者的关系。 JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国 内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比 SUN的JDK高的多。但不管怎么说,我们还是需要先把基础的Sun JDK掌握好。 JDK有以下三种版本: J2SE,standard edition,标准版,是我们通常用的一个版本J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序 我们常常用JDK来代指Java API,Java API是Java的应用程序接口,其实就是前辈们写好的一些java Class,包括一些重要的语言结构以及基本图形,网络和文件I/O等等 ,我们在自己的程序中,调用前辈们写好的这些Class,来作为我们自己开发的一个基础。当然,现在已经有越来越多的性能更好或者功能更强大的第三方类库 供我们使用。 JRE:Java Runtime Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE 下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。 JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。 下图很好的表面了JDK,JRE,JVM三者间的关系: 我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些 JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

01

Java开发技术大揭底——让你认知自己技术上的缺陷,成为架构师一、分布式架构体系二、微服务架构三、阅读源码、分析源码四、工具的使用五、性能优化

一、分布式架构体系 分布式怎么来的。传统的电信、银行业,当业务量大了之后,普通服务器CPU/IO/网络到了100%,请求太慢怎么办?最直接的做法,升级硬件,反正也不缺钱,IBM小型机,大型机,采购了堆硬件。 但是互联网不能这么干,互联网没有那么财大气粗,还有很多初创,能不能赚钱还不知道。所以就有了软件方面的解决方案:分布式系统,简单说,就是一台服务器不行,我用两台、10台、100台...这就要软件系统需要支持。 那么多台机器,我如何让他们协同工作,这就需要一个调度中心(或注册中心);肯定涉及到机器间通信,那

09

我的HarmonyOS实战——鸿蒙系统开发入门学习

安卓操作系统连接外部设备时,发现,配对,连接,组合,验证每一步都不能少。连接上了之后才能调用控制第三方设备。换一个设备之后,所有的代码需要重写。所有用安卓也可以连接外部设备并进行控制,但是太过于麻烦。 而且不具备通用性鸿蒙操作系统就解决了这个痛点,设备与设备之间的连接就不需要我们开发者自己去写了,每一个设备都安装上鸿蒙操作系统之后,鸿蒙系统会通过软总线把这些设备都连接在一起。我们在应用开发的时候,只需要写很少的代码可以调用第三方设备,就好像是使用手机本身的设备一样方便。 所以,在鸿蒙的整个体系中,手机不仅仅是手机了,而是一个超控控制终端。这个终端可能会有十个屏幕,十个喇叭等。调用手机本身的硬件跟调用外部的硬件几乎没有任何差别。

01

JAVA编程基础(一) 搭建开发环境

本系列教程主要面向想学习编程的童鞋,不论你还是大学生还是进入职场,通读此系列教程,都会给你不一样的体验。童鞋,你几年级啦? 大一?恭喜你,猎奇、欣悦、感恩、憧憬,未知先觉,读到了此系列JAVA编程教程,接下来,更希望在别人的前面你——坚挺、持久地战斗下去。 大二?思修、英语、物理、高数…waca,周末还有课….人生貌似又套进了一个黑圈子,是否已经开始对你的大学生活感到怀疑了呢?没关系,此教程让你不再迷茫,这学期的目标就这个吧,选好一门编程语言扎根下去吧。 大三?不要紧,不论你是否参加过数学建模大赛还是ACM大赛还是你已经是学霸了,你更应该需要一门招式来作为言之担当,证明你不只是内力深厚而且招式多花样。 大四?yo,好紧!!进不去,怎么办?名企双选会、就业推荐表、大学履历、英语四六级…屌丝真急了,我时常后悔没有在那个深黑的夜里走向女神白白(然并卵),可幸你看到了此文,夜黑了,风有点凉,你也应该醒了,从此在JAVA编程道路上越走越远,也能改变世界——成为”猿”。

01
领券