首先感谢强大的网络资源,本博文是根据网络上的各种资源进行整合,然后加入自己的理解而成,可能会与其它网络资源有重复,望其他作者多多包涵。由于初学java,如有不准确的描述还请读者指正。下面正式切入正题:众所周知,java和C++都是面向对象的编程语言,但是与C++相比,jav..
分类:
编程语言 时间:
2015-03-17 16:04:04
阅读次数:
129
程序计数器
指令执行的指示器.
每个线程都有独立的程序计数器,互无影响,我们称这类区域为线程私有的内存.
执行Java方法,计数器记录的是正在执行的虚拟机字节码指令地址;如果执行的是native方法,这个计数器为空.
此内存区域唯一一个没有规定任何OutOfMemoryError的区域.
虚拟机栈
Java虚拟机栈也是线程私有的,它的生命周期与线程相同.
虚拟机栈描述的是Java方法执行的内存模型:...
分类:
编程语言 时间:
2015-03-17 10:27:53
阅读次数:
176
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下...
分类:
其他好文 时间:
2015-03-15 21:16:01
阅读次数:
141
一、JVM调优基本流程
1、划分应用程序的系统需求优先级
2、选择JVM部署模式:单JVM、多JVM
3、选择JVM运行模式
4、调优应用程序内存使用
5、调优应用程序延迟
6、调优应用程序吞吐量
二、选择JVM部署模式:单JVM、多JVM
1、单JVM
优点:不需要管理多个JVM,降低管理成本; 应用程序消耗内存数量较少
缺点:存在单点故障,一个JVM失效时,整个系统...
分类:
其他好文 时间:
2015-03-14 11:07:26
阅读次数:
153
Java虚拟机运行时数据区
运行时数据区主要包括:方法区、堆、虚拟机栈、本地方法栈、程序计数器。
其中方法区和栈是线程共享的区域,另外三块区域是每个线程私有的区域。各个数据区的功能简单说明如下:
程序计数器:当前线程所执行的字节码的行号指示器。
虚拟机栈:描述Java方法执行的内存模型——每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法...
分类:
编程语言 时间:
2015-03-13 22:24:59
阅读次数:
223
http://www.cnblogs.com/preftest/archive/2011/12/08/2281322.htmljava内存溢出分析工具:jmap使用实战 在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap。 1 使用命令 在环境是linux+jdk1.5以....
分类:
编程语言 时间:
2015-03-13 12:32:21
阅读次数:
177
1:在java中,所有实例域、静态域和数组元素存储在堆内存中,堆内存在线程之间共享。 2:局部变量、方法定义参数和异常处理器参数不会在线程之间共享 3:java线程之间的通信由Java内存模型(本文简称为JMM)控制,...
分类:
编程语言 时间:
2015-03-12 22:46:47
阅读次数:
211
此篇用于收藏大神们关于JVM原理及调优通俗易懂的文章链接,用于随时查看JVM调优总结JVM参数配置大全JVM调优:选择合适的GCcollector
分类:
Web程序 时间:
2015-03-12 15:25:34
阅读次数:
118
对于中小公司使用tomcat作为java容器,没有经过系统的调优很容易出现tomcat在运行过程中出现服务宕掉,并且在tomcat的日志中一般无法看出有用的信息,而此次实例中对tomcat宕机后调优,是由公司的构架进行调整,他是对JVM调优有着非常深的理解,而作者对JVM调优的理解比较浅薄..
分类:
系统相关 时间:
2015-03-12 15:23:07
阅读次数:
288
深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间...
分类:
编程语言 时间:
2015-03-12 09:45:41
阅读次数:
202