java运行机制:跨平台的原因
2015-08-16 19:30
387 查看
java三种核心机制
java虚拟机代码安全性检测
垃圾收集机制(garbage collection)
java程序的编译与运行
【说明】
源程序
.java文件运行编译命令
javac,相当于c语言中的命令
cc
javac编译后生成
class文件,实际上就是一些字节码bytecode。不是我们实际机器的最终执行码,而在C++中,是直接成最终的cpu指令。该字节码是java自定义的一套规则中的一系列指令。最大特点就是平台无关性。
命令
java用来实现运行字节码文件,实际上是调用了虚拟机。最终要转成对应系统的代码。
java虚拟机jvm
虚拟机是在一台计算机上有软件或硬件模拟的计算机;jvm读取并处理经编译过的字节码
class文件;
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
java运行环境jre
jre = jvm + api (lib)jre运行程序时的三种主要功能
加载代码
校验代码
执行代码
java自动垃圾回收技术
在c/c++等语言中,有程序员负责回收无用内存,不需要用delete命令;
java自动垃圾回收
系统级线程跟踪存储空间的分配情况;
在jvm空闲时,检查并释放那些可被释放的存储空间
程序员无须也无法精确控制和干预该回收过程;
jdk(java开发工具包)
JDK = JRE + TOOLS;JRE = JVM + API ;
JDK包含的基本组件包括:
- javac – 编译器,将源程序转成字节码
- jar – 打包工具,将相关的类文件打包成一个文件
- javadoc – 文档生成器,从源码注释中提取文档
- jdb – debugger,查错工具
- java – 运行编译后的java程序(.class后缀的)
- appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
- Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
- Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
- Jconsole: Java进行系统调试和监控的工具
相关文章推荐
- (4)java方法区
- java正则表达式
- String和Date之间的转换(Java)
- MyEclipse10 安装pydev插件
- java was started but returned exit code=13
- Java序列化
- 怎么让自己的java系统使用支付接口
- equals()和==的用法及区别
- Java中E、T、K、V、N的含义
- Java神奇的装箱与拆箱
- 解决ubuntu中JDK的Picked up JAVA_TOOL_OPTIONS提示问题。
- 【转】eclipse下使用git上传(下载)代码至(从)github
- 【原创】Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决
- 图例解析JDK,JRE,JVM概念及使用
- springMVC 笔记
- (3)java棧
- Struts2中validator校验器不起作用的情况
- java 实现线程的其中两种方法总结
- Java设计模式偷跑系列(六)Singleton模式的建模与实现
- springmvc的jar包下载地址