Java到处运行的基础之 Class 文件】的更多相关文章

Java 实现一次编译到处运行的基础,来源于 Java 虚拟机屏蔽了操作系统的底层细节.使用 class 文件存储编译后的源程序,使得 Java 程序的编译与操作系统解耦.正是因为 Java class 文件的设计与 Java 语言解耦,分别发布了 Java语言规范和 Java 虚拟机规范,使得其他语言如Scala.Groovy.JRuby.JPython 等基于Java 虚拟机的语言按照 class 文件格式要求生成的class 文件也能在虚拟机上运行. class 文件格式 class 文件…
聊聊文字,写一篇关于 java 基础知识的博文. JVM 线程栈 到 函数运行 每一个JVM线程来说启动的时候都会创建一个私有的线程栈.一个jvm线程栈用来存储栈帧,jvm线程栈和C语言中的栈很类似,它负责管理局部变量.部分运算结果,同时也参与到函数调用和函数返回的工作中.JVM规范中运行线程栈的大小可以是固定的或者是动态分配的,也可以是根据一定规则计算的.不同jvm对栈的实现会不同,一些可能提供给开发人员自己控制jvm线程栈初始大小的方式:对于动态分配来说也可能提供对jvm最大和最小值的设置.…
Java 由 Sun 公司在 1995 首次发布,既是一门编程语言,也是一个计算平台. Java 运行时版本 Java Runtime Edition 当你下载 Java 完时候,你会得到一个 Java Runtime Time(JRE).JRE 由三部分组成 : JVM,Java 平台的核心类,支持 Java 平台的库.这三部分是执行 Java 应用运行的基础. Java 编程语言 Java 是一门面向对象的编程语言,包括以下特性: 平台独立 - Java 应用被编译成字节码存储在 .clas…
1.问题如下 当在命令行使用java命令执行字节码文件时提示“错误:找不到或无法加载主类” 2. 问题分析 这是由于在运行时类的全名应该是包名+类名,例如在包net.xsoftlab.baike下的类SelfDefineClassLoader的全名应为net.xsoftlab.baike.SelfDefineClassLoader. 3.问题的解决 java命令后跟类的全名,执行时会根据字节码文件的路径加上类的全名来寻找class文件的位置,需注意路径中不能再含有类全名中包路径部分. 当我们以j…
1:高级语言的运行机制: 我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序. 翻译,其实翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同. 1.1:编译型语言(c,c++): 使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性”翻译“成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式…
Java编译运行过程 程序员所编写的是以.java为后缀的文件,此文件操作系统不能正确识别,因此,首先要经过编译,生成所谓的字节码文件(.class),而字节码文件需要JVM来提供运行环境的支持. JVM是一个软件,安装在操作系统中,是建立在操作系统之上的,为字节码文件提供运行环境,效果如图 – 1 所示. 图- 1 Java官方提供了针对不同平台的JVM软件,即:不同平台的JVM是不同的.但这些JVM遵循着相同的标准,即:只要是标准的.class文件,就可以在不同的JVM上运行,而且运行的效果…
1.java语言的特点: 简单的:面向对象的:跨平台(操作系统)的(一次编译,到处运行):高性能的: 2.类名的首字母大写,方法小写: 3.历史: java2(即java),为什么加个2呢?1998年12月,SUN公司发布了JDK1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用JDK1.1版本,所以我们所说的Java都是指Java2. java2包括: Java Card (应用在IC卡) J2ME (micro edition,精简版)(嵌入式系统开发设计) J2SE (sta…
二.Java怎样实现一次编译到处运行(平台无关性) 1.java平台无关性原理 Java源码首先被编译成字节码,再由不同平台的JVM进行解析,JAVA语言在不同的平台上运行时不需要进行重新编译,Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令. 2.为什么JVM不直接将源码进行编译成机器码去执行 (1)准备工作太过繁琐 JVM每次进行编译的时候都会对源代码进行各种检查,纠错 (2)兼容性 JVM不仅仅可以给java语言编译成的class文件进行解释,还可以对任何语言,只要是解…
Java语言是当前流行的一种程序设计语言,因其安全性.平台无关性.性能优异等特点,受到广大编程爱好者的喜爱. 想学习Java语言的同学对于Java的运行机制是必须要了解的!! 计算机高级语言的类型主要有编译型和解释型两种,C语言和C++就属于编译型语言,Python和JavaScript属于解释型语言,而Java则是两种语言类型的结合!也就是说Java程序运行时,必须经过编译和运行两个步骤. Java首先利用文本编辑器编写Java源程序,源程序的后缀名为.java 再利用编译器(javac)将源…
基础 JDK:Java Development Kit(Java开发者工具 包含JRE和JVM) JRE:Java Runtime Environment(java运行时环境,包含JVM) JVM:Java Virtual Machine(java虚拟机,模拟了一个cpu处理程序,java跨平台核心) 卸载JDK 1.删除Java安装目录 2.删除JAVA_HOME 3.删除path下关于Java的目录 4.cmd 测试Java -version查看是否成功删除 安装JDK 1.下载JDK8 2…