Java学习
虚拟机:在机器和编译程序之间加入了一层抽象的虚拟的机器。供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机。
Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
Java使用了自动内存垃圾收集机制.
采用基于国际标准的数据类型。Java的原始数据类型在任何机器上都是一样的,例如整型总是32位,长整型总是64位等。
提供了一个用于访问底层操作系统功能的可扩展类库。
JVM相当于架构在真正机器底层上的一层 解释器,负责将他的机器语言--ByteCode转换为真正的机器语言(二进制代码), 对于java程序员来说,JVM已经是机器的最底层了。在你的机器上的所有的物理内存空间里,只有很小的一部分是分配给你 的JVM的。还有很大的部分是分配给了数据库,和操作系统。一个JDBC的数据库连接
实际上包括三部分:
1. JVM可见的数据库连接部分内存。
2. 数据库引擎使用的内存部分。
3. 操作系统使用的通讯支持部分内存。
当我们建立的28个数据库连接的时候,JVM中的部分确实没有超出预算。但是这三 部分中的2和3占了大部分,而你的物理内存是有限的,这个时候你的JVM以外的内存 已经被瓜分完了,JVM自然申请不到内存,那不退出还等什么?:)
由此看来,我们在构建一个Web应用的时候,更多的要从整体考虑问题,不要被
JVM蒙蔽了眼睛,掉进“JVM的陷阱”!
Java学习
最新推荐文章于 2024-09-19 13:19:42 发布