Java 的两种重要机制
来源:互联网 发布:linux切换用户权限命令 编辑:程序博客网 时间:2024/06/10 00:05
初学java时,认识到了java的两个核心机制,现在来总结一下。
①Java虚拟机(Java Virtual Machine) 简写 JVM
②垃圾收集机制(Garbage collection) 简写 GC
一、核心机制之Java虚拟机
① Java虚拟机可以理解成一个以字节码为机器指令的CPU;(机器指令是CPU能直接识别并执行的指令,它的表现形式是二进制编码。)
② 对于不同的运行平台,有不同的虚拟机;
③ Java虚拟机机制屏蔽了底层运行平台的差别,能够很好的实现跨平台。
Java编译器 执行 |--->JVM for UNIX
源程序(*.java文件)========>字节码(*.class文件)=========> |--->JVM for Windows
|--->JVM for other
在不同的平台上有相应平台的虚拟机(相当于Java程序是运行在Java准备的虚拟环境中),这样就保证了Java程序的跨平台性.
注:由此也可以看出Java是解释型语言
补充说明:语言类型
①编译型语言:直接编译成操作系统可识别的可执行文件,例如C,C++
②解释型语言:需要首先编译为.class等字节码文件后在逐行解释为操作系统可识别的可执行文件,例如Java
二、核心机制之垃圾收集
Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。
分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null即可。对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式确定哪些对象是“可达的”,哪些对象是“不可达的”,当GC确定一些对象为“不可达”时,GC就有责任回收这些内存空间。
GC在JVM中通常是由一个或一组进程来实现的,它本身也和用户程序一样占用heap(堆)空间,运行时也占用CPU,当进程运行时,应用程序停止运行。
因此,当GC运行时间较长时,用户能够感到Java程序的停顿,另一方面,如果GC运行时间太短,则可能对象回收率太低,这意味着还有很多应该回收的对象没有被回收,这即要求我们在设计GC时要均衡效率。
来自 <http://www.cnblogs.com/wangyong/p/3169144.html>
- Java 的两种重要机制
- 二分的两种重要模型
- java两种核心机制
- 易错、易望、基础、重要知识点——java中最常用的两种排序方式
- Java语言包含两种内在的同步机制
- java SWing事件调用的两种机制
- java异常处理机制及两种异常的区别
- Java反射机制及其获取InputStream的两种方式
- 复用类的两种机制
- java两种核心机制之一--java虚拟机机制
- java两种核心机制之一--java垃圾回收机制
- java两种核心机制之一--java垃圾回收机制
- (转载)Java的两种核心机制----运行机制和垃圾回收机制
- set集合的两种重要实现类
- 两种重要的思想(面向对象 & 面向过程)
- 创建C常量的两种机制
- Session的两种实现机制
- android的两种异步机制
- 蓝桥杯 九宫重排
- 【VScode】VScode 调用浏览器预览HTML (windows+ubuntu方法)
- ef操作基类示例
- Appium 新手贴:Windows 平台上的使用 Python 语言实现 appium 自动化程序 for Android (完整版)
- Markdown语法测试1
- Java 的两种重要机制
- Codeforces Round #394(Div. 2)B. Dasha and friends【思维+暴力】
- 如何使用EA画ER图?
- Tango 开发指南 — 区域学习 API (Java 描述)
- ubuntn16.04 安装msgpack
- Tautology POJ - 3295
- 【9936】二叉苹果树
- Codeforces Round #394 (Div. 2)C. Dasha and Password【暴力】
- Hibernate表中的1+N的问题