JVM全称是java Virtual Machine(java虚拟机),JVM屏蔽了与各个计算机平台相关的软件和硬件差异。
在接下来的日子里,通过写博客的形式学习JVM,让自己更懂得Java!
本系列文章是对《深入分析javaweb技术内幕》和《深入理解java虚拟机》的总结,欢迎大家一起吐槽,一起进步。
《JVM解读》第一篇:JVM体系结构
《JVM解读》第二篇:JVM类加载器ClassL...
分类:
编程语言 时间:
2015-06-26 23:49:48
阅读次数:
161
类执行机制JVM基于栈体系结构来执行class字节码,线程被创建后,产生程序计数器(PC)和栈(Stack)PC存放下一条执行的指令在方法内的偏移量,Stack存放一个栈帧,每个栈帧对应每个方法的每次调用,栈帧中存放局部变量和操作数栈 栈的结构如下图: JVM内存结构Java虚拟机规范规定的ja.....
分类:
其他好文 时间:
2015-06-23 21:32:09
阅读次数:
240
堆内存:新域+旧域设置堆内存初始化大小java -Xms128m 设置堆内存初始化大小128MB设置堆内存最大大小java -Xmx256m 设置堆内存最大256MB通常将堆内存的初始化大小与最大大小设置成一样,这样就避免了在内存不足的时候动态增加堆内存的大小设置新域大小java -Xms256.....
分类:
其他好文 时间:
2015-06-21 15:40:48
阅读次数:
117
作为一个程序员,仅仅知道怎么用是远远不够的。起码,你需要知道为什么可以这么用,即我们所谓底层的东西。
那到底什么是底层呢?我觉得这不能一概而论。以我现在的知识水平而言:对于Web开发者,TCP/IP、HTTP等等协议可能就是底层;对于C、C++程序员,内存、指针等等可能就是底层的东西。那对于Java开发者,你的Java代码运行所在的JVM可能就是你所需要去了解、理解的东西。
我会在接下来的一段时间,和读者您一起去学习JVM,所有内容均参考自《深入理解Java虚拟机:JVM高级特性与最佳实践》(第二版),感谢...
分类:
编程语言 时间:
2015-06-21 11:56:36
阅读次数:
214
从Java视台的逻辑结构,我们能够从图中学习JVM:您可以从图表清楚地看到Java该平台包括各种逻辑模块,还可以学习JDK与JRE差异于JVM它们的物理结构。我们可以看一下从图计划:为JVM学习,所以,在我看来,最重要的部分:Java整个过程的代码被编译并运行JVM内存管理和垃圾收集下面具体的学习这...
分类:
其他好文 时间:
2015-06-20 15:37:17
阅读次数:
104
从Java视台的逻辑结构。我们能够从图中学习JVM:您可以从图表清楚地看到Java该平台包括各种逻辑模块,还可以学习JDK与JRE差异于JVM它们的物理结构,我们可以看一下从图计划:为JVM学习,所以,在我看来,最重要的部分:Java整个过程的代码被编译并运行JVM内存管理和垃圾收集下面具体的学习这...
分类:
其他好文 时间:
2015-06-20 11:46:21
阅读次数:
98
当我们在IDE控制台发现:
说明我们给jvm的持久代设置的值太小,此时你需要打开eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 “Default VM Arguments ”选项中,将-XX:PermSize及 -XX:MaxPermSize的值加大。
如果你懂jvm性能调优的话,...
分类:
系统相关 时间:
2015-06-17 16:37:43
阅读次数:
225
JVM内存溢出常见的有一下两种: 第一种:java.lang.OutOfMemoryError: PermGen space 第二种:java.lang.OutOfMemoryError: Java heap space 第一种异常原因是因为我们项目中需要加载的文件太多所导致,项目发布时...
分类:
其他好文 时间:
2015-06-14 20:08:53
阅读次数:
126
1、堆:所有对象实例存放地,垃圾管理的主要对象,被所有java线程所共享2、栈:线程私有、存储局部变量表、操作栈、动态链接、方法出口3、方法区:线程共享的内存区域、存储类信息、常是、静态变量、即时编译器编译后的代码3、本地方法框:为虚拟机使用到的Native方法服务4、程序计数器:线程私有、指向下一...
分类:
其他好文 时间:
2015-06-10 18:54:01
阅读次数:
160
在安装目录下找到运行程序,一个64位一个32位,找到64位的配置文件studio64.exe.vmoptions进行配置-Xms800m-Xmx800m-XX:MaxPermSize=350m-XX:ReservedCodeCacheSize=225m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-ea-Djna.nosys=true-Djna.boot.library.path=-Dj..
分类:
移动开发 时间:
2015-06-10 15:57:51
阅读次数:
275