码迷,mamicode.com
首页 >  
搜索关键字:java内存 jvm调优    ( 2155个结果
2015第27周三Java内存模型
自己写的代码,6个月不看也是别人的代码,自己学的知识也同样如此,学完的知识如果不使用或者不常常回顾,那么还不是自己的知识。要认识java线程安全,必须了解两个主要的点:java的内存模型,java的线程同步机制。特别是内存模型,java的线程同步机制很大程度上都是基于内存模型而设定的。浅谈java内...
分类:编程语言   时间:2015-07-03 00:02:32    阅读次数:179
java内存管理简析
作为java程序员,因为有虚拟机的自动内存管理,所以不需要再向C和C++程序员那样灾区写delete和free方法,但是java中是不是就不存在内存泄露问题呢,答案是否定的,java中一样存在内存泄漏的问题。所以我们需要了解虚拟机是怎样使用内存的。Java虚拟机在执行Java程序的过程中会将管理的内...
分类:编程语言   时间:2015-07-02 20:48:54    阅读次数:140
JVM调优总结
JVM调优总结(一) 一些概念数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,sh...
分类:其他好文   时间:2015-07-02 17:18:40    阅读次数:131
JVM调优系列:(一)什么是JVM
SUN的JDK从1.3.1开始使用HotSpot虚拟机技术,主要使用C++实现,JNI接口部分用C实现. JAVA原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢.而HotSpot编译器将常用的部分代码编译为本地(native)代码,这样显著高了性能. HotSpot包括一个解释器和两个编译器,解释与编译混合执行模式,默认启动解释执行。 编译器:java源代码被编译器编译成class...
分类:其他好文   时间:2015-07-02 10:19:41    阅读次数:124
JVM调优系列:(五)JVM常用调试参数和工具
JVM常用调试用参数: –verbose:gc在虚拟机发生内存回收时在输出设备显示信息 -Xloggc:filename把GC相关日志信息记录到文件以便分析 -XX:-HeapDumpOnOutOfMemoryError当首次遭遇OOM时导出此时堆中相关信息 -XX:OnError=";" 出现致命ERROR之后运行自定义命令 -XX:-PrintClassHistogram遇到Ctrl...
分类:其他好文   时间:2015-07-02 10:18:12    阅读次数:146
JVM调优系列:(三)类加载机制
JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述: 每个ClassLoader加载Class的过程是: 1.检测此Class是否载入过(即在cache中是否有此Class),如果有到8,如果没有到2 2.如果parent classloader不存在(没有parent,那parent一定是bootstrap),到4 3.请求parent c...
分类:其他好文   时间:2015-07-02 10:18:07    阅读次数:244
JVM调优系列:(二)JVM运行时数据区域
1) Method Area 2) Heap 3) Java Stacks 4) PC Registers 5) Native Method Stacks   JAVA的JVM的内存模型大致可分为3个区: 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放...
分类:其他好文   时间:2015-07-02 10:18:05    阅读次数:112
JVM调优系列:(四)GC垃圾回收
跟踪收集算法: 复制(copying): 将堆内分成两个相同空间,从根(ThreadLocal的对象,静态对象)开始访问每一个关联的活跃对象,将空间A的活跃对象全部复制到空间B,然后一次性回收整个空间A。因为只访问活跃对象,将所有活动对象复制走之后就清空整个空间,不用去访问死对象,不需要标记骤,所以遍历空间的成本较小,但需要巨大的复制成本和较多的内存。 标记清除(mark-sweep): ...
分类:其他好文   时间:2015-07-02 10:17:13    阅读次数:263
java内存查看与分析
业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我就不想说了,想说的是,其实java自己就提供了很多内存监控的小工具,下面列举的工具只是一小部分,仔细研究下jdk的工具...
分类:编程语言   时间:2015-07-01 20:46:06    阅读次数:156
Linux与JVM的内存关系分析
引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示。同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了? ...
分类:系统相关   时间:2015-07-01 10:09:29    阅读次数:157
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!