Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the JDK.以 -X 开头的是非标准选项(不能保证被所有的 JVM 实现都支持),如果在后续版本的 JDK 中有变更恕不另行通知. Options tha…
这两天在看java虚拟机,从书上看到可以自己设置java虚拟机的参数,可以方便开发人员进行系统调优和故障排查 Ecplise设置java虚拟机参数: window-->preferences-->Java 双击第三步: 在 Default VM Arguments输入框内输入: -Xms512m -Xmx512m 解释:-Xms是设置java虚拟机的最小分配内存,-Xmx是设置java虚拟机的最大分配内存 但是一般设置为电脑物理内存的1/4,而把-Xms和-Xmx设置为一样的值, 其实你可以设…
java进程命令行使用方式如下: java [-options] class [args...] -options 表示虚拟机的启动参数, class为带有main()函数的java类的全名称 args表示传递给主函数main()的参数 多个用空格 分割即可. 如以下代码,看一下如何设置参数并且获取到参数. package cn.xhgg.test; public class JvmTest { public static void main(String[] args) { for (int…
今天在加载一幅图片时,eclipse报出如下错误: “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ” google了一下原来是图片太大了.可以设置jvm堆的最大值来解决.   首先, 打开Eclipse软件,选择菜单栏run,在二级菜单中选择 Debug Configurations,然后:在弹出的窗口中选择(x)=arguments选项卡,VM arguments中输入所需要的内存最大占…
一.跟踪调试参数 1.1 跟踪垃圾回收-读懂虚拟机日志 Java的一大特色就是支持自动的垃圾回收(GC),但是有时候,如果垃圾回收频繁出现,或者占用了太长的CPU时间,就不得不引起重视.此时,就需要一些跟踪参数来进一步甄别垃圾回收器的效率和效果. 最简单的一个GC参数是-XX:+PrintGC,使用这个参数启动Java虚拟机后,只要遇到GC,就会打印日志. 如果需要更加详细的信息,则可以使用-XX:+PrintGCDetails参数.他的输出可能如下: 从这个输出可以看到,系统经历了3次GC,第…
堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大. Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代(Young Generation).年老代和年轻代的划分对垃圾收集影响比较大. 年轻代 所有新生…
这篇文章解释了Java 虚拟机(JVM)的内部架构.下图显示了遵守Java SE 7 规范的典型的 JVM 核心内部组件. 上图显示的组件分两个章节解释.第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件. 线程 JVM 系统线程 每个线程相关的 程序计数器 栈 本地栈 栈限制 栈帧 局部变量数组 操作数栈 动态链接 线程共享 堆 内存管理 非堆内存 即时编译 方法区 类文件结构 类加载器 更快的类加载 方法区在哪里 类加载器参考 运行时常量池 异常表 符号表 Interned 字符串…
重载与重写 在 Java 程序里,如果同一个类中出现多个名字相同,并且参数类型相同的方法,那么它无法通过编译.也就是说,在正常情况下,如果我们想要在同一个类中定义名字相同的方法,那么它们的参数类型必须不同.这些方法之间的关系,我们称之为重载. 小知识:这个限制可以通过字节码工具绕开.也就是说,在编译完成之后,我们可以再向 class 文件中添加方法名和参数类型相同,而返回类型不同的方法.当这种包括多个方法名相同.参数类型相同,而返回类型不同的方法的类,出现在 Java 编译器的用户类路径上时,它…
主要涉及的知识点: 1.跟踪Java虚拟机的垃圾回收和类加载等信息: 2.配置Java虚拟机的堆空间: 3.配置永久区和Java栈. 4.学习虚拟机的服务器和客户端模式. 1.1 跟踪垃圾回收 Java支持自动垃圾回收(GC),如果垃圾回收频繁出现,或者占用了太长的CPU时间,就必须重视起来. 最简单的一个CG参数是-XX:+PrintGC,使用这个参数启动Java虚拟机后,只要遇到GC,就会打印日志. 使用-XX:+PrintGCDetails参数,打印更加详细的信息. [GC (System…
原文地址:http://blog.csdn.net/kthq/article/details/8618052 堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大. Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New…