一:Java技术体系模块图二:JVM内存区域模型1.方法区 也称"永久代” 、“非堆” ,"perm", 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方....
分类:
其他好文 时间:
2014-09-12 11:31:43
阅读次数:
191
java类对象jvm在加载.class的时候会创建该类唯一的class对象以后无论创建多少个实例,该class对象是不变的。每一个class对象getClass()都会获得同一个class对象classjava.lang.Class,该对象是唯一不变的。publicvoidtest(){
System.out.println("这是test...方法....");
}
pri..
分类:
编程语言 时间:
2014-09-12 10:22:04
阅读次数:
204
今天拿到复印到75页概述,估计很少讲解细节的,准备在网上订的《深入JAVA虚拟机 原书第二版》,看来需要2天时间,京东和亚马逊还没有,嗨,毕竟是2000年的书籍,基于jdk1.4的。据说2002年出现一本《java虚拟机规范 1.7SE》,还是比较不错的。2010之后出现了2本国人写的《深入理解Java虚拟机++JVM高级特性与最佳实践》,书的内容比较新,剧很多人反应,学习虚拟机还是要从00年的那本看看。面对正义,所以先找了概述看看。总结几张图,看完基本上了解了。很多细节的白天补上去。毕竟深夜在寝室敲文字会...
分类:
其他好文 时间:
2014-09-11 23:51:02
阅读次数:
309
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。Class loader子系统的作用:根据给定的全限定名类名(如 java.lan...
分类:
其他好文 时间:
2014-09-11 20:55:32
阅读次数:
218
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Exception:表示...
分类:
编程语言 时间:
2014-09-11 15:07:42
阅读次数:
220
一、Tomcat安装安装JVM1.安装JDK[root@allentunssrc]#rpm-ivhjdk-7u45-linux-x64.rpm2.配置JDK的环境变量[root@allentunssrc]#find/-namejava#查看jdk的安装路径var/lib/alternatives/java
/etc/java
/etc/pki/java
/etc/alternatives/java
/usr/lib/jvm/java-1.7.0-openjdk-1...
分类:
其他好文 时间:
2014-09-11 11:24:34
阅读次数:
228
其实对于我们一般理解的计算机内存,它算是CPU与计算机打交道最频繁的区域,所有数据都是先经过硬盘至内存,然后由CPU再从内存中获取数据进行处理,又将数据保存到内存,通过分页或分片技术将内存中的数据再flush至硬盘。那JVM的内存结构到底是如何呢?JVM做为一个运行在操作系统上,但又独立于os运行的...
分类:
其他好文 时间:
2014-09-11 09:35:31
阅读次数:
346
1:程序执行是有顺序的,如果没有流程控制语句,执行顺序是从上到下,2:对象没有引用指向他的时候,jvm虚拟机就会在合适的时候去清理内存垃圾3:对象的引用就相当于方向盘,操作对象4:java8大基本数据类型:byte short int long , char ,boolean , float do....
分类:
编程语言 时间:
2014-09-10 23:48:31
阅读次数:
223
阻塞
非竞争的同步可以完全在JVM中处理,竞争的同步则可能需要操作系统的介入,从而增加开销。当在锁上发生竞争时,竞争失败的线程肯定会阻塞。JVM在实现阻塞行为时,可以采用自旋等待,就是通过循环不断的尝试获取锁。直到成功。或者通过操作系统挂起被阻塞的线程。这两种方式的效率高低取决于上下文切换的开销以及在成功获取锁之前需要等待的时间。如果等待时间较短,采用自旋等待的方式,如果时间较长,则采用操作系统...
分类:
编程语言 时间:
2014-09-10 22:30:41
阅读次数:
230
内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。 引起内存溢出的原因有很多种,常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; ...
分类:
其他好文 时间:
2014-09-10 21:04:31
阅读次数:
401