Java运行机制及IDEA的安装使用 java程序运行机制 计算机高级语言分为编译型语言跟解释型语言,而java同时具有两者的特点. 可能对于新手来说,什么是编译,什么是解释; 简单来说,编译就是将代码语言整体完全翻译成机器可读懂的代码,再交托给机器运行,像java,c,c++等; 解释呢,就是我敲一行,翻译一行,机器执行一行,像python等. 相比较而言,编译型语言的运行速度更快. 而java是先用javac编译成字节码文件,也就是我们所说的.class文件,等到了操作系统平台这一步时,再将…
内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代码一次性“翻译”成该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行文件格式,这个转换过程称为编译(Compile).编译生成的可执行程序可以脱离开发环境,在特定的平台下独立运行.有些还需要链接其他编译好的目标代码 编译型语言是程序在执行之前需要一个专门的编译过程,把程序…
JVM学习(1)——通过实例总结Java虚拟机的运行机制-转载http://www.cnblogs.com/kubixuesheng/p/5199200.html 文章转载自:http://www.cnblogs.com/kubixuesheng/p/5199200.html 特别在此声明.那位博主写的真的很好 ,感谢!! 俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: JVM的历史 JVM的运行流程简介 JVM的组成(基于 Java 7) JVM调优…
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: JVM的历史 JVM的运行流程简介 JVM的组成(基于 Java 7) JVM调优参数:-Xmx和-Xms 逃逸分析(DoEscapeAnalysis )的概念——JVM栈上分配实验 JVM中client模式(-client)和server模式(-server)的区别 查看GC日志的方法 使用idea对JVM进行参数输入 Java栈,Java堆和方法区的交互原理 为了能让递归方法调用的次数更多一些,应该怎…
1. 运行机制 Java源文件(*.java)-----使用javac编译----编译成*.class文件----使用java解释执行----特定平台的机器码 2. 原理 负责解释执行字节码文件的就是JVM. 所有平台上的JVM向编译器提供相同的编程接口,所以*.class文件都一致,与平台无关.而不同平台的JVM都是不同的,但提供了相同的接口.只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行了.JVM就是个转换器.…
转自oschina 一:JVM基础概念 JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现.编译虚拟机的指令集与编译微处理器的指令集非常类似.Java虚拟机包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收堆和一个存储方法域.           Java虚拟机(JVM)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行. 带着几个问题我们来阅读下面的文章,希望能够对jv…
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话.不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案.也不许执行代码看真正答案哦.如果你的答案是正确,那么这篇文章你就不用浪费时间看啦. <span style="">package Test; public class TestException { pu…
俗话说:“十五的月亮十六圆”.那学习是不是也是如此呢?如果把月亮看成是我们的愿望,那十五便是我们所处的“高原期”,坚持迈过这个坎,我相信你的愿望终究会现实的.记得马云曾说:今天很残酷,明天更残酷,后天很美好,但绝大部分人是死在明天晚上,所以每个人不要放弃今天.是的,我们不应该放弃今天,因为每个脚印都值得期待,每一次机会都值得尝试.不扯了,还是步入正题吧! Java的运行机制:Java源程序经过编译器编译成平台无关的字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码发送给特定平台的解释器…
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: JVM的历史 JVM的运行流程简介 JVM的组成(基于 Java 7) JVM调优参数:-Xmx和-Xms 逃逸分析(DoEscapeAnalysis )的概念——JVM栈上分配实验 JVM中client模式(-client)和server模式(-server)的区别 查看GC日志的方法 使用idea对JVM进行参数输入 Java栈,Java堆和方法区的交互原理 为了能让递归方法调用的次数更多一些,应该怎…
JVM系类的文章全部转载自:http://www.cnblogs.com/kubixuesheng/p/5199200.html 特别在此声明.那位博主写的真的很好 ,感谢!! 俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习!涉及到的知识点总结如下: JVM的历史 JVM的运行流程简介 JVM的组成(基于 Java 7) JVM调优参数:-Xmx和-Xms 逃逸分析(DoEscapeAnalysis )的概念--JVM栈上分配实验 JVM中client模式(-client)和s…
初学JAVA,学一门语言不仅仅是学其语法,逻辑思维能力,还有每一门语言都有自己独特的一方面,所以才有那么多语言要学啊 = =,所以想要真的学好语言,其编译机制,运行机制多少也要涉猎一些啊.这是初学JAVA一些机制的理解,如果有哪里不妥当,请指教.…
1. 基础知识点图解 编程语言核心结构:变量.基本语法.分支.循环.数组.…… Java面向对象的核心逻辑:OOP.封装.继承.多态.接口…… 开发Java SE高级应用程序:异常.集合.I/O.多线程.反射机制.网络编程… 2. 各种语言对比 名称 适用对象 C 操作系统.嵌入式领域.数据库.服务器.单片机.编译器.Linux开发 C++  开发桌面软件.操作系统.图形处理.游戏.网站.搜索引擎.数据库 Java  Android平台应用.应用服务器程序.网站.嵌入式领域.大数据技术(包括Ha…
目录 Java 特性和优势 Java应用程序的运行机制 JVM.JRE和JDK Java 特性和优势 跨平台/可移植性 核心优势.比如:Java的int型永远是32位,C++(16,32). 安全性 Java为了适用于网络/分布环境,在安全性方面做足了准备. 面向对象 Java是完全面向对象的语言. 简单性 "C++ -" 高性能 通过 JIT(JUST IN TIME) 即时编译技术提高运行效率. 将一些"热点"字节码编译成本地机器码,并将结果缓存起来,在需要的时…
一.完成一个Java程序的流程:编辑Java源代码→编译Java程序→运行Java程序 1. 在记事本中编写Java程序,然后保存为.java类型文件(Java源文件) 2. 使用javac命令将源文件编译成字节码文件(*.class文件) 3. 使用java命令解释执行字节码文件 [示例] 1. 在路径D:\下创建一个HelloWorld.java文件,并编写如下代码 public class HelloWorld { public static void main(String[] args…
Java基础(二) 接上一讲,我们接着来聊聊Java的一些基础知识,下一讲就会进行流程的控制. 类型转换 首先呢,是类型的转换,接上一个内容的数据类型,类型转换就是数据类型更进一步的应用. 由于Java是强类型语言,所以有些运算是需要进行类型转换的,类型转换分为强制转换跟自动转换. 运算中,不同类型通过转换,成为同一类型. 需注意: 强制转换需要注意内存溢出问题(或者精度问题) 不能对布尔值进行转换(布尔值是按位运算的) 小转大自动转换,大转小需要强制转换 不能把对象类型转化为不相干的类型 补充…
1. Java语言比较特殊, 由Java编写的程序需要经过编译步骤,但这个编译步骤不会产生特定平台的机器码,而是生成一种与平台无关的字节码(也就是.class文件).这种字节码不是可执行性的,必须使用Java解释器来解释执行.因此可以认为: Java语言既是编译型语言,也是解释型语言. 或者说,Java语言既不是纯粹的编译型语言,也不是纯粹的解释型语言. Java程序的执行过程,必须经过先编译,后解释两个步骤.   2. Java语言里,负责解释执行字节码文件的是Java虚拟机,即JVM(Jav…
据我们所知,Java程序是跨平台的.那么Java是如何实现跨平台的呢?看完下面几句话就会恍然大悟! 1.为什么Java语言既是编译型语言又是解释型语言呢? 答:运行Java程序,首先需要经过编译,编译后会生成一种与平台无关的字节码(也就是*.java文件),而这种字节码文件是无法运行的.然后,还需要java解释器来解释执行. 2.Java是如何实现跨平台的呢? 答:关键就在上一个问题中的Java解释器,也就是Java虚拟机,即JVM(Java virtual machine),JVM就是负责解释…
计算机高级编程语言按其程序的执行方式可分为编译型语言和解释型语言. 编译型语言是指使用专门的编译器,针对特定的操作系统将源程序代码一次性翻译成计算机能识别的机器指令.例如C.C++等都属于编译型语言. 解释型语言是指使用专门的解释器,将源程序代码逐条的解释成特定平台的机器指令,解释一句执行一句,类似于“同声翻译”.例如php属于解释型语言. java既不是编译型语言也不是解释型语言,它是两者的结合体.首先采用通用的Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后…
注释,标识符,关键字 注释类似于我们的随手记,并且不会被执行,是写给我们自己看的,书写注释是一个非常好的习惯 重点来了,Java中注释有三种:单行注释,多行注释,文档注释 单行注释 "//" 双斜杠后面的内容都会被注释掉 多行注释 "/* 此内的内容为注释 */" 可以注释一段文字 文档注释 "/** 此内为文档注释 */" 标识符 简单说就是给娃娃起名字,Java所有的组成部分都需要名字,无论是类名,变量名,方法名,都是标识符 标识符命名规则:…
1.高级语言的运行机制 我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序. 翻译,其实翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同. 1.1编译型语言    (如C.C++.Objective-C) 使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性"翻译"成可被该平台硬件执行的机器码(包括机器指令和操作数),并包…
Java语言是一种特殊的高级语言,它既有解释型语言的特性,也具有编译型语言的特征,因为Java要经过先编译后解释两个步骤. 一.高级语言的运行机制 计算机高级语言按程序的执行方式可以分为编译型和解释型两种 . 1.1 编译型语言 编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性"翻译"成可被该平 台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式,这个转换过程称为编译 CCompile ) . 编译生成的可执行性程序…
先来介绍三个概念: JVM----JAVA virtual machine      java虚拟机:对字节码提供相同的接口,对操作系统提供不同的接口,以适应各个OS JRE----JAVA runtime environment java运行时环境 JDK----java SE Development kit java 标准版开发包 这是学习java最基础的三个概念,他们的关系如下     JDK(开发必备) -|-----JAVA 类库        |-----JAVA编译器      …
Java运行机制 Java虚拟机(Java Virtual Machine):Java虚拟机可以理解成一个以字节码为机器指令的CPU:对于不同的运行平台,有不同的虚拟机:Java虚拟机机制屏蔽了底层运行平台的差别,真正实现了“一次编译,随处运行”. Java垃圾回收(Garbage Collection):不用使用的内存空间应该回收:在C/C++等语言中,由程序员负责回收无用的内存:Java语言消除了程序员回收无用内存的职 责,它提供一种系统级线程跟踪存贮空间的分配情况,并在JVM空闲的时候,检…
转自java虚拟机运行机制 首先简单阐述下解释型语言和编译型语言的联系与区别. 编译型语言是通过编译器将程序编译成目标机器所能识别的机器码,而解释型语言不需要编译过程.由该语言的解释器读取脚本,按照语法规则进行解释,然后调用解释器内建的命令(或者库函数).例如,C语言的printf()函数经过静态编译后,printf()所需的所以代码都以机器码的形式写入可执行文件中,shell在执行程序时,在指定路径搜索该文件,然后加载器(Loader)加载该程序的ELF文件到内存中,跳转到程序入口,将控制权交…
1:高级语言的运行机制: 我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序. 翻译,其实翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同. 1.1:编译型语言(c,c++): 使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性”翻译“成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式…
源文件和字节码的组成方式 源文件: 拓展名后跟java的文件即java的源文件. Java 源码编译由以下三个过程组成: 1.分析和输入到符号表 2.注解处理 3.语义分析和生成class文件 流程图如下所示: 字节码:拓展名后跟class的文件即java的字节码文件. 最后生成的class文件由以下部分组成: 结构信息.class文件由class文件格式,版本号以及各部分的数量和大小信息组成. 元数据.java的源码中的声明和常量信息,包含了父类,实现接口,声明,作用域和常量池 方法信息.ja…
课堂要点: 编写第一个java程序以及理解java的运行机制. 1.基本命令介绍: javac命令: 编译java文件得到.class字节码文件 -encoding 参数:指定编译的编码 java命令:执行.class文件,将字节码转为机器码在计算机运行 -version 参数:输出java版本 windows有关命令: 切换盘符: 盘符代号 + : 切换路径: cd 路径名 cd .. 表示切换到上级目录 1.编写第一个java程序 HelloWorld.java: //声明一个类名字叫Hel…
java的运行机制: 计算机高级语言的类型主要有编译型和解释型两种,而java语言是两种类型的结合. java首先利用文本编译器编写java源程序,源文件的后缀名为.java:再利用编译器(javac)将源程序编译成字节码文件(.class);最后利用虚拟机(解释器,java)解释执行. JVM(java virtual machine): JVM 就是一个虚拟的用于执行bytecode字节码的虚拟计算机. JRE(java Runtime Environment ): java虚拟机.库函数.…
估计有很多同学都对C++/JAVA/C#这三大热门语言的运行机制和执行效率有或多或少的困惑,自己也有,但是经过前期的学习,了解了三者在这两方面的区别,就废话不说了,进入主题吧.         一.运行机制        1.JAVA-编译和解释型语言           一个JAVA文件,首先会由JAVA编译器(JAVAC)编译成class(字节码文件)文件,然后由Java虚拟机(JVM)去解释.不同的操作系统只要装有适合不同平台的JDK,JAVA文件都可以被解释运行.JAVA是一种编译和解释…
这次随笔主要记录一下我对Java的平台无关性一些新的理解,以前只知道是Java是一门很容易跨平台的语言,正如 "Compile once, run anywhere" 这句话,也知道Java会先加载class字节码文件的机制,但对此是一知半解,所以我觉得有必要深入的总结一下它的加载机制. 你所了解的Java机制 编写源码 编译为字节码 通过JVM将字节码解释为机器码 这的确是Java代码的基本加载过程,因此有时候我们称"Java是解释执行的",但最近看了一篇相关文章…