Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机的进程的启动而存在,有些区域则是依赖用户的线程的启动和结束而建立和销毁。Java虚拟机所管理的内存将会包括一下几个运行..
分类:
其他好文 时间:
2014-07-23 21:27:36
阅读次数:
221
上一回对JVM运行时数据区域的组织结构进行了概述,这一回将对各个组成进行详解。程序计数器【ProgramCounterRegister】程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数..
分类:
其他好文 时间:
2014-07-23 21:16:16
阅读次数:
233
直接内存并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,但是这部分内存也被频繁的使用,而且也可能导致OutOfMemoryError异常出现,在JDK1.4中新加入了NIO类,引入了一种基于通道与缓冲区的I/O方式,它可以使用Native函数库直接分配堆外内存,然后..
分类:
其他好文 时间:
2014-07-23 21:15:26
阅读次数:
228
介绍完Java虚拟机的运行时数据区后,我们就可以探讨在Java语言中,对象访问是如何进行的?如下面这句代码:Objectobj=newObject();假设这句代码出现在方法体中,那“Objectobj”这部分的语义将会反映到Java栈的本地变量表中,作为一个reference类型数据出现。而“newObject()”..
分类:
其他好文 时间:
2014-07-23 21:12:56
阅读次数:
281
Gatling作为次时代的性能测试工具,由于其API简洁明了、性能出众,越来越受欢迎。但是运行Gatling脚本却有诸多不便,其提供的默认方式不是很方便。考虑到Gatling脚本本质上是Scala类,运行的时候还是使用的是java虚拟机,我们可以将其脚本的运行与Gradle结合起来。这样子就可以通过...
分类:
其他好文 时间:
2014-07-23 15:20:46
阅读次数:
239
引用自 引自文章: Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。需要注意的是:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,很多人来我公司面试时,我都会问这个问题的,70%以上的人回答的含义是回收对象,实际上....
分类:
编程语言 时间:
2014-07-22 22:46:13
阅读次数:
368
Activex:windows上面的一种技术,在客户端执行程序的一种技术。JVM:java虚拟机,虚拟一个java的运行沙箱;里面能够加载java所需要的类等;java被称为一次编译,到处运行的程序。但是到处运行是有前提的,就是都要有一个JVM。CGI: protocol web进程能够根据对应程序的不同,调..
分类:
Web程序 时间:
2014-07-22 18:24:32
阅读次数:
231
原始类型和值? java虚拟机支持的原始数据类型包括运算类型、布尔类型和返回地址类型。运算类型包括整型和浮点型。 ?? ?整型包括: ?? ?byte,8比特有正负的二进制整数,默认值是0; ?? ?short,16比特位...
分类:
编程语言 时间:
2014-07-21 10:34:42
阅读次数:
254
一、类载入器首先来看一下java程序的运行过程。 从这个框图非常easy大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘其中。然后你在命令行中输入javac YourClassName.java此时,你的java代码就被编译成字节码(.class).假设你是...
分类:
编程语言 时间:
2014-07-21 09:39:38
阅读次数:
335
java类加载器就是将生成的字节码加入到内存中。java类加载器也是类,它们是由最原始的类加载器加入到java虚拟机中,然后再由他们加载其他的类,而最原始的类加载器就是BootStrap,他不是Java类,是由C++编写的在java中有三种类加载器:BootStrap(加载系统类,如System),...
分类:
其他好文 时间:
2014-07-21 00:36:28
阅读次数:
365