虚拟机与jdk,虚拟机与plc通讯

作者:高方托管网 2024-08-21 00:22:54 0

大家好,今天小编关注到一个比较有意思的话题,就是关于虚拟机与jdk的问题,于是小编就整理了2个相关介绍虚拟机与jdk的解答,让我们一起看看吧。

servlet和JDK/JVM有关系吗?

Servlet是一套接准,Servlet容器通过Socket监听Tcp连接,解析其中的Http请求,然后调用开发者编写的Servlet,通过Servlet传递的参数,开发者可以相对方便的获取到Http请求的相关信息,如参数,Cookies,Header等。Servlet其实也是普通的Java类,你也可以自己去实现自定义的servlet。

虚拟机与jdk,虚拟机与plc通讯

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。

JVM(java virtual machine)就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

所以总结下来JDK包含了JVM,而servlet的运行依赖于JVM的运行。

《深入理解Java虚拟机》过时了吗?

可以负责任的讲,目前没有过时,未来短期内也不会过时。《深入理解Java虚拟机》是否过时,首先取决于 Java 语言本身是否过时了。目前Java在绝大多数领域占有不可忽视的地位。在语言排行榜中,也是长期居于前列。java 本身的可移植性,使得很多服务器以及web后端开发都青睐有加,而其自身语言的特性,以及丰富的库,更让他在众多语言中经久不衰。而作为Java开发中至关重要的虚拟机,开发者能够多大程度上深入理解它的机制,也是区别优秀的Java开发者和普通开发者的标杆之一。所以作为Java的开发者,如果想在技术上有更深入的发展,虚拟机机制是必须要过的一道坎。而《深入理解Java虚拟机》这本书是相对比较经典的介绍该方面知识的书籍,还是值得推荐的。

本不想来回答这个问题,但看到下面那个Java高级架构狮,只是直接放出了java虚拟机的内存结构图,觉得还是有必要来说下这个问题的。

先谈是不是过时的问题。

现在我们在国内可以读到的《深入理解Java虚拟机》应该是它的第2版吧,我没有去查过,有没有更新的版本,大致长这样

它所针对的,主要是JDK7的规范,那么,从JDK7到现在的JDK 12正式发布,应该说JDK已经在各方面,都发生了很大的变化。

考虑到目前在整个业界,甚至连JDK8的规范,其实还普及未久,那么,简单的就以JDK7和JDK8下,关于PermGen空间的事情,来做个例子。

在《深入理解Java虚拟机》的2.4.3中,谈到了运行时常量池的溢出,其中给出了一个说明,即:

但估计你照此去理解JDK8及其以后的虚拟机,恐怕要抓瞎,因为,从JDK8开始,已经没有PermGen空间了,取而代之的是Metaspace。

当然,这不是什么大的问题,但也说明实际上,这么多年,JDK也在与时俱进的发展着,所以:

目前的情况远远没到过时的程度!

如果是从事Java开发,我觉得早点深入理解Java虚拟机一定是正确的选择,这种核心基础的功力如果修炼的好,一定会对工作甚至职业有很大的帮助!!

到此,以上就是小编对于虚拟机与jdk的问题就介绍到这了,希望介绍关于虚拟机与jdk的2点解答对大家有用。

相关推荐