开始之前
Java 虚拟机有自己完善的硬件架构, 如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 Java 虚拟机上运行的目标代码 (字节码), 就可以在多种平台上不加修改地运行。Java 虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。
注意:本文仅针对 JDK7、HotSPOT Java...
分类:
其他好文 时间:
2015-07-18 22:51:53
阅读次数:
167
/** * 功能:Java读取txt文件的内容 * 步骤:1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline()。 * 备注:需要考虑的是异常情况 * @par...
分类:
编程语言 时间:
2015-07-18 10:48:39
阅读次数:
139
安卓结构(由于不能传图片所以请大家自己搜下吧!!)然后dvm和jvm的区别dalvik是基于寄存器而jvm是内存中2》生成的字节码文件jvm是。class而dalvik是dex格式3》dalvik是可以运行多个而jvm只运行一个!创建一个项目然后分析项目组成的结构:src----编写的源代码gen----自动生成..
分类:
移动开发 时间:
2015-07-18 07:17:13
阅读次数:
130
一、类加载器原理
JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class
对象,作为方法区类数据的访问入口。
二、类缓存
标准的Java SE类加载器可以按要求查找类,但一旦某个类被加载到类加载器中,它将维持加载(缓存)一段时间。不过,JVM垃圾收集器可以回收这些Class过象。
三...
分类:
其他好文 时间:
2015-07-17 19:00:15
阅读次数:
124
静态
如果同步函数被静态修饰后,使用的锁是什么呢?
通过验证,发现不是this
因为静态方法中不可以定义this
静态进内存时,内存中没有本类对象,但是一定有给类对应的字节码文件对象。
类名:class 该对象的类型时Class
class Ticket implements Runnable
{
private int tick=100;
public void r...
分类:
编程语言 时间:
2015-07-17 18:53:39
阅读次数:
119
当Java编译器编译好.class文件之后,我们需要使用JVM来运行这个class文件。那么最开始的工作就是要把字节码从磁盘输入到内存中,这个过程我们叫做【加载】。加载完成之后,我们就可以进行一系列的运行前准备工作了,比如: 为类静态变量开辟空间,将常量池存放在方法区内存中并实现常量池地址解析,初始...
分类:
其他好文 时间:
2015-07-17 18:19:00
阅读次数:
103
了解类加载全过程,有助于了解JVM运行过程,以及更深入了解java动态性(解热部署,动态加载),提高程序灵活性。类加载全过程:JVM将class文件字节码文件加载到内存中,并对数据进行校验解析和初始化,最终形成可以直接使用的java类型的过程。
加载将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象,...
分类:
其他好文 时间:
2015-07-16 20:11:28
阅读次数:
286
脚本解释性语言的内部机制在运行脚本之前,得到结果之后1、python先将脚本编译成字节码(pyc,pyo)2、python虚拟机解释并运行字节码文件编译型语言的内部机制1、先将源代码编译成机器码(机器能读懂的代码),生成可执行文件2、运行可执行文件
分类:
编程语言 时间:
2015-07-16 14:27:47
阅读次数:
141
Java内存区域
1.程序计数器(Program Counter Register)
在虚拟机中一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。 在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指...
分类:
其他好文 时间:
2015-07-16 14:07:33
阅读次数:
189
1:反射(理解) (1)类的加载及类加载器 (2)反射: 通过字节码文件对象,去使用成员变量,构造方法,成员方法 (3)反射的使用 A:通过反射获取构造方法并使用 B:通过反射获取成员变量并使用 C:通过反射获取成员方法并使用 (4)反射案例 A:通过反射运行配置文件的内容 B:通过反射...
分类:
编程语言 时间:
2015-07-16 00:44:36
阅读次数:
137