- 浏览: 1428462 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (363)
- oracle (43)
- 缓存策略 (4)
- 数据库设计 (7)
- IntelliJ IDEA (8)
- freemarker (3)
- JSP (12)
- java基础 (75)
- tomcat (14)
- 服务器 (10)
- maven (3)
- linux (21)
- e-learning (2)
- 手机开发 (1)
- 设计模式 (6)
- 技术之外 (2)
- 工具的使用 (8)
- HTML 5 (5)
- 网站前台 (38)
- 网站后台 (11)
- 项目管理 (12)
- 面试题 (5)
- 幽默 (0)
- 系统架构 (8)
- 创业 (10)
- div-css (5)
- 诗词歌赋 (1)
- 网络课堂组知识库 (4)
- 杂家 (3)
- android (12)
- 框架 (14)
- 读书笔记 (1)
- 孙子兵法 (1)
- mysql (3)
- 小人书 (0)
- Jquery (6)
- eclipse (2)
- 正则表达式 (1)
最新评论
-
a98709474:
写的很详细,看完了,明白了这种概念了
数据库水平切分(拆库拆表)的实现原理解析(转) -
a98709474:
MYSQL分库分表总结 -
CatchU:
7年前的招聘要求,厉害厉害
面试要求 -
luozhixiong:
<table class="bbcode&qu ...
MYSQL分库分表总结 -
沈寅麟:
好用
freemarker格式化
java发展历程
java平台
java虚拟机列表
HotSpot是Oracle(Sun)的JVM实现,默认解析执行(InterPreter),对执行频率高(热点)的代码做动态编译(JIT编译)。主要用C++实现,2006年开源。
HotSpot三种执行模式
HotSpot包括
内存管理
Tenured:
终身代存放SurvivorSpace中经过多次垃圾回收后依然存活的对象。
Perm:
持久代 (也叫 方法区)存放每个类的结构,如静态常量,字段和方法包括构造函数。对于spring,hibernate这些需要动态类型支持的框架,这个区域需要足够的空间
分代回收的过程
1、新创建的对象在伊甸园中诞生(Eden Space)。
2、当Eden Space中对象占用内存达到一定比例,则垃圾回收器开始对Eden Space进行垃圾回收,清除掉生命周期结束的对象,并将仍然在生命周期中的对象移动到幸存区(Survivor Space )。
3、当Eden Space经过多次垃圾回收后,依然存活在幸存区(Survivor Space)中的对象,被移动到老年代中(Old Generation)。
4、当老年代中的空间占用达到一定比例,则执行老年代的垃圾回收(Full GC)。
在年轻代(Young Generation)中发生的GC被称为Young GC,Young GC发生的频率远大于Full GC
老年区中的GC被称为Full GC,由于Full GC涉及到所有的存活对象,所以远较Young GC慢。
在我们这种实时系统中应该减少Full GC的发生。
几种内存溢出
1、gc机制导致的内存溢出:
java内存分配过少或者各代比例分配不恰当导致,可以根据实际情况调整内存参数解决。
2、永久区的内存溢出:
在使用动态生成class的一些框架中可能导致java.lang.OutOfMemoryError: PermGen space 启动参数添加-XX:MaxPermSize=128m可以设定永久区的上限
3、高并发导致的内存溢出:
如在session中保持较大的数据,在高并发的情况下,session将占用很大的内存。
4、应用泄漏:向集合类中无限制加入大量对象
垃圾回收
java平台
java虚拟机列表
HotSpot是Oracle(Sun)的JVM实现,默认解析执行(InterPreter),对执行频率高(热点)的代码做动态编译(JIT编译)。主要用C++实现,2006年开源。
HotSpot三种执行模式
HotSpot包括
内存管理
Tenured:
终身代存放SurvivorSpace中经过多次垃圾回收后依然存活的对象。
Perm:
持久代 (也叫 方法区)存放每个类的结构,如静态常量,字段和方法包括构造函数。对于spring,hibernate这些需要动态类型支持的框架,这个区域需要足够的空间
分代回收的过程
1、新创建的对象在伊甸园中诞生(Eden Space)。
2、当Eden Space中对象占用内存达到一定比例,则垃圾回收器开始对Eden Space进行垃圾回收,清除掉生命周期结束的对象,并将仍然在生命周期中的对象移动到幸存区(Survivor Space )。
3、当Eden Space经过多次垃圾回收后,依然存活在幸存区(Survivor Space)中的对象,被移动到老年代中(Old Generation)。
4、当老年代中的空间占用达到一定比例,则执行老年代的垃圾回收(Full GC)。
在年轻代(Young Generation)中发生的GC被称为Young GC,Young GC发生的频率远大于Full GC
老年区中的GC被称为Full GC,由于Full GC涉及到所有的存活对象,所以远较Young GC慢。
在我们这种实时系统中应该减少Full GC的发生。
几种内存溢出
1、gc机制导致的内存溢出:
java内存分配过少或者各代比例分配不恰当导致,可以根据实际情况调整内存参数解决。
2、永久区的内存溢出:
在使用动态生成class的一些框架中可能导致java.lang.OutOfMemoryError: PermGen space 启动参数添加-XX:MaxPermSize=128m可以设定永久区的上限
3、高并发导致的内存溢出:
如在session中保持较大的数据,在高并发的情况下,session将占用很大的内存。
4、应用泄漏:向集合类中无限制加入大量对象
垃圾回收
发表评论
-
打印IP 来源
2014-10-16 22:07 937<% String userAgent = reques ... -
java 写文本换行
2014-08-08 18:34 1950import org.apache.commons.io.Fi ... -
DBCP连接池配置示例
2014-06-17 11:44 1238<bean id="dataSourceOra ... -
CGLIB与asm
2014-05-05 14:42 1340“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言 ... -
201404转成 2014.04
2014-03-31 17:45 983public static void main(Str ... -
取出 字符串中的 网址
2013-10-15 17:47 1254public static void main(Str ... -
java反国际化
2013-09-23 18:10 1002public static String fromEn ... -
AtomicInteger与Volatile修饰
2013-02-05 11:50 6039今天写代码,尝试使用了AtomicInteger这个类,感觉 ... -
ExecutorService线程池
2013-02-05 11:40 1617http://blog.sina.com.cn/s/blog ... -
web.xml中load-on-startup的作用
2012-12-24 10:06 1657如下一段配置,熟悉DWR的再熟悉不过了: <servle ... -
最新版本
2012-09-13 09:28 1004Java SE 7u7 apache-tomcat-7.0. ... -
格式化数字
2012-09-10 20:12 900public static void main(Str ... -
用apache common io包获得文件扩展名
2012-09-09 23:11 1362apache common io包包含了很多非常实用的工具类, ... -
值传递,引用传递
2012-07-28 23:29 1133java 对于 8种基本类型 和 他们的包装类型 , 外 ... -
代码之丑
2012-07-07 22:01 2323原文:http://www.infoq.com/cn/news ... -
Memcache
2012-06-27 09:36 1038Memcache是一个高性能的分布式的内存对象缓存系统,通过在 ... -
ActiveMQ
2012-06-14 15:09 15149ActiveMQ 是Apache出品,最流行的,能力强劲的开源 ... -
proxool配置
2012-06-12 11:43 1177项目结构 所需jar包 proxool.prope ... -
各种文件的注释
2012-04-23 10:44 997<%-- comment --%> JSP注释,也称为“隐藏注 ... -
List排序
2012-03-27 20:18 1192集合类List存放的数据,默认是按照放入时的顺序存放的,比如依 ...
相关推荐
### JVM基础知识精讲 #### 一、JVM概述与HotSpot简介 Java虚拟机(JVM)是Java技术的核心组成部分之一,它为Java程序提供了运行时环境。本节将详细介绍JVM的基本概念及其核心技术——HotSpot。 **HotSpot VM** 是...
本资料《JVM基础-超清文字版.pdf》将深入探讨JVM的基础知识,包括其架构、内存模型、类加载机制以及性能优化等方面。 1. **JVM架构** - 类装载器:负责加载类文件到JVM中,分为引导类加载器、扩展类加载器和应用类...
### JVM基础知识详解 #### HotSpot简介 HotSpot作为Oracle(原属SUN)的主要Java虚拟机实现,自2006年起开源,并成为OpenJDK项目的核心组成部分。它主要使用C++编写,支持多种操作系统和硬件架构。HotSpot的一个...
JVM基础部分通常会涵盖以下几个关键知识点: 1. **JVM结构**:JVM由类加载器、运行时数据区、执行引擎、本地方法接口和本地库组成。理解这些组成部分的功能对于理解JVM如何工作至关重要。 2. **类加载机制**:包括...
### JVM基础知识及性能调优 #### 一、JVM架构概览 Java虚拟机(JVM)作为Java程序运行的基础环境,其内部结构复杂且高效。理解JVM的基础知识对于优化Java应用程序至关重要。JVM主要由以下几个关键部分组成: 1. **...
了解并掌握这些JVM基础知识对于编写高性能、低内存消耗的Java程序至关重要。开发者可以通过理解JVM的工作原理,优化代码,避免内存溢出,提升应用的运行效率。此外,对JVM的深入研究也能帮助我们更好地理解Java平台...
JVM基础内存模型调优了解 JVM基础内存模型是Java虚拟机(JVM)中的一种内存组织方式,主要包括程序计数器、Java虚拟机栈、本地方法栈、堆区和方法区五个部分。这五个部分都是JVM中非常重要的组成部分,分别承担着...
### JVM基础系列——深入了解Java虚拟机的重要性 #### 一、引言 随着Java技术的不断发展,Java虚拟机(JVM)已成为软件开发人员不可或缺的核心技能之一。对于初学者而言,掌握JVM的基础知识不仅可以帮助深入理解Java...
JVM基础知识与调优是每一个Java开发者都需要掌握的重要技能。这个“jvm-training”资料包涵盖了JVM的核心概念、内存管理、垃圾回收机制、性能优化等方面的知识。 1. **JVM架构** - 类加载器:JVM通过类加载器将....
"JVM 基础知识点" JVM(Java Virtual Machine)是 Java 语言的运行环境,负责执行 Java 字节码。 JVM 的主要组件包括类加载器、字节码验证器、执行引擎和垃圾回收器等。 1. JVM 参数分类 JVM 参数可以分为三类:...
### JVM基础 #### 1. JVM概述 - **定义**:Java虚拟机(JVM)是一种用于执行Java字节码的虚拟机。它为运行Java应用程序提供了一个平台无关的环境。 - **作用**:JVM的主要职责是将编译后的Java代码转换成平台特定的...
### JVM基础知识详解 #### JVM加载类的过程与机制 JVM(Java虚拟机)在加载类的过程中,遵循了一系列明确且有序的步骤。对于开发者而言,理解这些步骤有助于更好地掌握类加载的内部工作原理。 ##### 类加载的过程...
java virtual machine JVM基础概念和垃圾回收原理,jvm调优的基本指南
JVM基础理解,以做成xmind欢迎分享
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在...
### JVM基础原理详解 #### 什么是JVM? Java虚拟机(JVM)是一种运行环境,它为Java程序提供了一个统一的平台,使Java程序能够跨平台运行。JVM的主要功能包括执行字节码、管理内存、处理异常以及提供平台独立性。 ...
JVM的基础知识涵盖了其内存模型、垃圾回收机制、线程模型等多个方面,下面将详细总结这些基础知识。 ### JVM内存模型 JVM内存模型主要可以分为线程共享区域和线程私有区域。 **线程共享区域** 1. 堆(Heap):...