何时需要理解Java 虚拟机机制一、排错二、性能优化字节码文件的执行流程、机制。涉及到文件的加载机制(类加载器)、执行机制(执行引擎)、运行时优化(JIT运行时编译)、以及内存分配与垃圾回收。同时涉及到并发访问时的内存模型与线程安全机制。HotSpot的主要参数也主要是涉及上面的几大块:类型加载参数...
分类:
编程语言 时间:
2016-01-23 07:48:53
阅读次数:
141
·定义漂亮的python字节码#/usr/bin/envpython#_*_coding:utf-8_*_·三个内置参数:type,help,dirtype:可以查看出变量是属于哪种类型help:指出参数的使用及方法详细解释dir:列举出参数的使用,未涉及详细解释·import:定义使用某某块·单“="号便是赋值,双”==“号表示..
分类:
编程语言 时间:
2016-01-21 20:13:04
阅读次数:
254
Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。一、JVM原理1、JVM简介:JVM是java的核心和基础,在...
分类:
其他好文 时间:
2016-01-21 13:45:02
阅读次数:
150
1.字节码。所谓的字节码就是当java虚拟机加载某个类的对象时,首先需要将硬盘中该类的源代码编译成class文件的二进制代码(字节码),然后将class文件的字节码加载到内存中,之后再创建该类的对象2.java反射的基础是Class类(注意不是小写的class),Class类实例代表着内存中的一份字...
分类:
编程语言 时间:
2016-01-21 10:36:45
阅读次数:
185
简要介绍Java的内存区域:运行时数据区域HotSpot虚拟机对象一、概览二、运行时数据区域2.1 程序计数器Program Counter Register,代表当前线程所执行的字节码的行号指示器,操作系统中的PC,这两个是一个概念。执行时就是通过改变这个计数器来选取下一条需要执行的字节码指令。J...
分类:
编程语言 时间:
2016-01-20 01:03:44
阅读次数:
211
运行时数据区域程序计数器线程私有程序计数器(Program Counter Regiter,PC)是一块较小的内存空间,它可以看做是当前线程执行的字节码的行号指示器。Java虚拟的多线程是通过轮流切换并分配处理器执行时间的方式来实现的,在任何时间一个处理器只能执行一条线程中的指令。因此为了线程切换后...
分类:
编程语言 时间:
2016-01-19 23:35:57
阅读次数:
140
JVM内存管理 JVM在执行java程序的过程中,会把内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。程序计数器 程序计数器:当前线程所执行字节码的行号指示器。 由于JVM的多线程...
分类:
其他好文 时间:
2016-01-19 19:27:21
阅读次数:
151
在上一篇的博文中,所编辑的Java源文件和编译的字节码文件是保存在E:\Java\develop\jdk1.8.0_25\bin目录下,
如果编辑的Java源文件和字节码文件没有用了或者想要删掉,我们很容易删除bin目录下的其它运行程序文件。还有
如果想要创建很多个Java源文件或者我们开发Java程序,那么bin目录中会存在很多的Java源文件和字节码文件,因
此我们不会将源文件写在bin...
分类:
编程语言 时间:
2016-01-19 12:49:33
阅读次数:
154
cpython:c解释器 .pyc(字节码)——机器码jpython :java解释器 java字节码 ironpython :C#解释器 C#字节码 。。。。上面的:编译完之后是字节码 pypy:自己的解释器 自己的字节码 机器码 编译完直接是机器码 直接运行机器码 快 类似java《pyth.....
分类:
编程语言 时间:
2016-01-15 12:57:18
阅读次数:
167
1.问题:Java的”一次编写,处处运行”是如何实现的?-----通过JVM虚拟机实现(java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台)2.问题:说明一下public static void main(String args[])这段声明里每个关键字的作用-----p...
分类:
编程语言 时间:
2016-01-14 00:55:04
阅读次数:
254