JAVA运行时数据区域 1、程序计数器:当前线程所执行的字节码的行号指示器。一个处理器只会执行一条线程中的指令,为了线程切换后能回复到正确的执行位置,所以每条线程都需要一个独立的计数器。各条线程之间互不影响,独立存储,属于‘线程私有’内存。 2、java虚拟机栈:描述的是JAVA方法执行的内存模型....
分类:
其他好文 时间:
2014-12-25 18:19:59
阅读次数:
170
今天尝试在window8上安装Eclipse,用来搞Andriod开发就去Android Developers下载adt-bundle-windows-x86。 结果刚刚解压完 运行Eclipse 就发现了这个 翻译成中文就是“未能创建java虚拟机”当时还以为是我的环境变...
分类:
编程语言 时间:
2014-12-24 10:10:25
阅读次数:
129
第8章 虚拟机字节码执行引擎8.2 运行时栈帧结构 栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构。 每一个栈帧包括了局部变量表、操作数栈、动态连接、方法返回地址和一些额外的附加信息。 在活动线程中,只有位于栈顶的栈帧才是有效的,称为当前栈帧 Current S...
分类:
编程语言 时间:
2014-12-23 22:31:15
阅读次数:
225
最近对java感了兴趣,学了点点东西,记录下一些笔记。1、编译型语言 解释性语言解释性语言不会生出可直接执行的目标程序编译新语言会生成相应的机器码和目标程序2、java反射机制3、源码 编译 中间代码 Obj 连接 整合obj文件 和库文件 形成可执行的exe文件java虚拟机 ...
分类:
编程语言 时间:
2014-12-23 20:48:56
阅读次数:
233
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃...
分类:
编程语言 时间:
2014-12-23 15:29:07
阅读次数:
120
1.java跨平台原因java字节码文件能够在不同的系统上运行是依赖java虚拟机,但是java虚拟机是不跨平台的原理:java编辑--->java编译--->java运行-------编写代码--编译成字节码文件--在虚拟机运行2.安装jdk通过环境变量配置好JAVA路径指向java bin文件然...
分类:
编程语言 时间:
2014-12-23 09:01:32
阅读次数:
214
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏...
分类:
编程语言 时间:
2014-12-22 22:40:14
阅读次数:
324
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”...
分类:
其他好文 时间:
2014-12-22 19:29:36
阅读次数:
147
java跨平台性java字节码文件能够在不同的系统上运行是依赖java虚拟机,但是java虚拟机是不跨平台的原理:java编辑--->java编译--->java运行-------编写代码--编译成字节码文件--在虚拟机运行Java目录分类1. bin目录 存放是开发java程序常用的工具。(以后会...
分类:
编程语言 时间:
2014-12-21 23:21:13
阅读次数:
187
这两天在看周志明的《深入理解java虚拟机》,受益颇多,根据书中的启示,对java中‘==’和‘equals()’方法的区别做了一些探索:1、为什么值为3两个Integer对象使用==比较时返回true,而同为321的Integer对象在==时却为false?2、为什么value相同的Long和Integer对象使用==比较返回了false?...
分类:
编程语言 时间:
2014-12-21 18:02:09
阅读次数:
224