一直对jvm看了又忘,忘了又看的。今天做一个笔记整理存放在这里。 我们先看一下JVM的内存模型图: 上面有5个区,这5个区干嘛用的呢? 我们想象一个场景: 我们有一个class文件,里面有很多的类的定义是不是,类的定义放在什么地方呢?类的定义就放在方法区里面。 程序在运行时会产生很多的对象,比如Li ...
分类:
其他好文 时间:
2017-01-08 16:36:16
阅读次数:
230
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) (该知识点引用 http://www.cnblogs.com/dingyingsi/p/3760730.html) 堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目 ...
分类:
其他好文 时间:
2016-12-24 01:45:00
阅读次数:
254
转自: http://www.open-open.com/lib/view/open1432200119489.html 这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助。废话不想讲了.入主题:先了解具体的概念:JAVA的JVM的内存 ...
分类:
其他好文 时间:
2016-12-02 11:55:02
阅读次数:
294
JVM的内存模型,主要分为五部分 1.程序计数器:内存中的一小块区域,主要用来指示当前线程执行的命令行,线程私有的,唯一一个没有异常的 2.java栈:主要存放局部变量、操作栈、动态链接、方法出口等信息,jvm执行方法的过程就是进栈出栈的过程,可能导致的异常为stackoverflowerror和o ...
分类:
其他好文 时间:
2016-11-24 15:53:46
阅读次数:
155
深入Java虚拟机:JVM中的Stack和Heap(转自:http://www.cnblogs.com/laoyangHJ/archive/2011/08/17/gc-Stack.html) 在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识 ...
分类:
其他好文 时间:
2016-11-20 18:41:31
阅读次数:
447
程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 由 ...
分类:
其他好文 时间:
2016-10-31 16:15:43
阅读次数:
139
JVM内存区域 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题。为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识。JVM将内存主要划分为:方法区、虚拟机栈、本地方法栈、堆、程序计数器。JVM运行时数据区如下: 程序计数器 程序计数器是线程私有的区 ...
分类:
编程语言 时间:
2016-10-28 22:48:22
阅读次数:
272
1.内存区域划分 jvm在执行java程序过程中会将管理的内存划分成若干不同的数据区域,他们分别是程序计数器,堆,方法区,虚拟机栈,本地方法栈。 1.1指令计数器 指令计数器是线程私有的,每个线程都有独立的指令计数器,计数器记录着虚拟机正在执行的字节码的指令地址,分支,循环,跳转,异常处理和线程恢复 ...
分类:
其他好文 时间:
2016-10-21 00:26:20
阅读次数:
103
1、Tomcat的优化经验 答:去掉对web.xml的监视,把jsp提前编辑成Servlet。 有富余物理内存的情况,加大tomcat使用的jvm的内存 2、HTTP请求的GET与POST方式的区别 答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由 ...
分类:
编程语言 时间:
2016-09-19 17:44:15
阅读次数:
218
内存、性能是程序永恒的话题,实际开发中关于卡顿、OOM也经常是打不完的两只老虎,关于卡顿、OOM的定位方法和工具比较多,这篇文章也不打算赘述了,本章主要是来整理一下JVM的内存模型以及Java对象的生与死。 生存空间(内存区域) Java程序运行在JVM之上,如果Java对象是一个有血有肉的生灵,那 ...
分类:
移动开发 时间:
2016-09-03 09:48:00
阅读次数:
247