jvm
麦晓宇
个人从事程序化交易、ios,android开发,逆向
展开
-
Understanding JVM Internals
Every developer who uses Java knows that Java bytecode runs in a JRE (Java Runtime Environment). The most important element of the JRE is Java Virtual Machine (JVM), which analyzes and executes Java b转载 2017-05-01 16:15:02 · 633 阅读 · 0 评论 -
在运行时开启GC日志
我们经常会遇到JVM运行时出错的情况。若能在启动时加入一些启动选项(startup option),便可以获取与bug相关的重要线索,从而有希望根治它们。但在实际操作时,我们总是忘记添加-XX:+HeapDumpOnOutOfMemoryError 或-XX:+PrintGCDetails这样必要的flag。每当面对如此窘境,我们只能关闭JVM,修改启动参数(startup par转载 2017-09-03 11:59:00 · 993 阅读 · 0 评论 -
java Hotspot 内存管理白皮书
1引言一个健壮的 Java™2平台,Standard Edition (J2SE™)拥有一个自动内存管理机制,它为开发者们屏蔽了复杂的内存管理步骤。本文提供了一个关于java Hotspot 虚拟机中内存管理机制的简单概述,它描述了一个可用于垃圾回收的内存管理器,并且提供了关于选择和配置一个回收器以及设置内存区域大小的回收操作。它同样可以作为一个参考书,本文列举了与垃圾回收器行为相转载 2017-09-10 00:42:56 · 435 阅读 · 0 评论 -
HotSpot C2编译器
可以先看看前同事Vladimir Ivanov讲解JIT编译器: JIT-compiler in JVM seen by a Java developer, Vladimir Ivanov, JavaOne 2013 Moscow, 2013Charles Nutter的系列演讲也OK: JVM JIT for Dummies, JavaOne 2012, 2012转载 2017-09-03 19:51:43 · 4956 阅读 · 1 评论 -
JVM性能调优监控工具hprof使用详解
一、问题现状 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消耗CPU过高...... 这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题转载 2017-07-31 17:30:24 · 6071 阅读 · 0 评论 -
JVM(8):JVM知识点总览-高级Java工程师面试必备
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑刺过来,别人一掌打断你的剑,你还怎么使剑法,你一掌打到一个武功高的人身上,那人没什么事,却把你震伤了,你还怎么转载 2017-06-18 23:16:45 · 361 阅读 · 0 评论 -
JVM(7):JVM调优-工具篇
16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,长长可以到达事半功倍的效果来。jvm监控分析工具转载 2017-06-18 23:06:54 · 491 阅读 · 0 评论 -
JVM源码分析之SystemGC完全解读
概述JVM的GC一般情况下是JVM本身根据一定的条件触发的,不过我们还是可以做一些人为的触发,比如通过jvmti做强制GC,通过System.gc触发,还可以通过jmap来触发等,针对每个场景其实我们都可以写篇文章来做一个介绍,本文重点介绍下System.gc的原理或许大家已经知道如下相关的知识system.gc其实是做一次full gcsystem.gc会暂停整个进程sy转载 2017-05-01 17:31:32 · 460 阅读 · 0 评论 -
JVM源码分析之堆外内存完全解读
摘要: 概述 广义的堆外内存 说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:MaxPermSize来指定持久概述广义的堆外内存说到堆外内存,那大家肯定想到堆内内存,这也是我们大转载 2017-05-01 17:25:08 · 924 阅读 · 0 评论 -
深入探究JVM | klass-oop对象模型研究
最近对JVM兴趣大增(其实是想回归C艹的怀抱了)~当我们在写Java代码的时候,我们会面对着无数个接口,类,对象和方法。但我们有木有想过,Java中的这些对象、类和方法,在HotSpot JVM中的结构又是怎么样呢?HotSpot JVM底层都是C++实现的,那么Java的对象模型与C++对象模型之间又有什么关系呢?今天就来分析一下HotSpot JVM中的对象模型:oop-klass原创 2017-09-03 16:04:13 · 4243 阅读 · 0 评论