详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行.本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明. 一.Java源文件的编译.下载.解释和执行 Ja…
Write Once,Run Anywhere. JavaSE:标准版(桌面程序,控制台开发...),是Java的基础和核心. JavaME:嵌入式开发(手机,小家电...),现在基本不用已经过时. JavaEE:企业级开发(web端,服务器开发...),提供了许多企业级开发的完整的解决方案.比如开发一个完整的网站,企业的应用系统.这是Java技术应用最广泛的一个领域了.   JDK.JRE.JVM: JDK: Java Development Kit Java开发者工具 JRE:Java Ru…
现在让你谈谈对Java平台的理解,你是否会感觉内容过于庞大?这个问题是比较宽泛的,Java发展到现在已经不仅仅是语言这么简单了,Java平台涉及的,包括但不仅限于下面提到的这些内容: Java语言本身,包括基础的语言特性,面向对象.放射.范型.lambda等等. Java类库,包括核心类库如IO/NIO.网络.utils.安全.jdk等,以及在生产环境中常用的第三方类库. Java虚拟机,包括java的内存管理机制.垃圾收集器.运行时.动态编译等 Java/JVM生态,包括了Java EE.Sp…
俗话说,温故而知新.本打算用dos回忆一下基础知识,没想到把自己绊倒了. 用Dos,当然就要回归原始,用记事本啦.下面用一个小练习,演示我遇到的绊脚石.之后,解决了简直笑死. 报错: Java文件编译出现“编码 GBK 的不可映射字符” (下图不是我的,我的忘记截图了.但是为了方便演示,我在网上找了相同问题的图片,之后的图都是我自己截我自己的了) 在notepad++里面的代码是在Myeclipse里面粘贴过来的,运行过的. 代码实例: import java.io.BufferedReader…
Java虚拟机JVM的作用: Java源文件(.java)通过编译器编译成.class文件,.class文件通过JVM中的解释器解释成特定机器上的机器代码,从而实现Java语言的跨平台. JVM的体系结构包含三个主要的子系统和一个内存区,分别是: 垃圾回收器:用于回收堆(heap)中无引用的对象. 类装载子系统:定位及导入二进制class文件,校验被导入类的正确性,为类变量分配初始化内存,以及帮助解析符号引用. 执行引擎:执行被转载类中的方法指令. 运行时数据区:又叫做虚拟机内存或Java内存.…
编程语言分为低级语言和高级语言,机器语言.汇编语言是低级语言,C.C++.java.python等是高级语言. 机器语言是最底层的语言,能够直接执行.而我们编写的源代码是人类语言, 计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令. 汇编语言通过汇编器翻译成机器指令后执行,一条汇编指令,对应着一条机器指令. 高级语言编程的程序有三种执行方式: 1.一种是编译执行,源程序先通过编译器(负责将源程序翻译成目标机器指令)翻译成机器指令,通过编译-->链接-->目标可…
学习java以来,都是以语法,类库入手,最基本的也是最基础的java编译过程往往被我遗忘,先解释一下学习java第一课时,都听到过的一句话,"java是半解释语言".什么是半解释语言. Java的编译过程 Java程序从源文件创建到程序运行要经过两大步骤 1.源文件由编译器编译成字节码(ByteCode) 2.字节码由java虚拟机解释运行.因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted"…
平时我们都使用 idea.eclipse 等软件来编写代码,在编写完之后直接点击运行就可以启动程序了,那么这个过程是怎么样的? 总体过程 我们编写的 java 文件在由编译器编译后会生成对应的 class 字节码文件, 然后再将 class 字节码文件转给 JVM .JVM 会处理解析 class 文件,将其内部设置的类.方法.常量等信息全部提取出来,然后找到 main 方法开始一步一步编译成机器码并执行,中间会根据需要调用前面提取的数据. 那为什么不让 JVM 直接编译 java 文件呢?这样…
1 配置环境变量 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.8.0_11 系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib(注意别遗漏当前路径.;) 系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;   2 编译java文件 javac…
一般情况下,在myeclipse中保存java文件后会自动编译成class文件,但是这种情况只能编译当前工程的java文件,但是如果需要编译不是一个工程的java文件,比如在网上拷贝的java文件改如何编译呢,换句话说是在普通文件夹的java文件应该怎么编译呢? 如下: 首先需要配置好java的环境变量(保证javac文件可以执行),不再赘述 1.win+r后输入cmd进入命令输入行: 2.根据地址找到需要编译的文件:如:cd c:\test\ 回车,dir查看文件名比如叫Testjava.ja…