VisualVM是一个以监控、显示本地或者远程服务器JVM工作情况,进行性能调优的工具。借助VisualVM,我们可以实现对JVM内存各个子池、CPU、垃圾收集器等方面进行监控,从而发现程序代码中潜在的泄露点和配置问题。此外visualvm是jdk里自带的一款比较实用的可视化profiling工具。想..
分类:
编程语言 时间:
2015-06-01 20:52:47
阅读次数:
193
概述
说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远远比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考:
GC需要完成的三件事情:
哪些内存需要回收?
什么时候回收?
如何回收?...
分类:
编程语言 时间:
2015-06-01 16:53:00
阅读次数:
260
程序计数器、JVM栈、本地方法栈这三个内存区域和线程是一一对应的,并且每一个线程的这三个区域相互独立互不干扰。他们都随着线程的产生而产生,线程的灭亡而灭亡。JVM栈和本地方法栈中的栈帧都随着方法的加载而入栈,随着方法的结束而出栈。栈帧的大小是在程序员写类的时候就确定下来的。因此这三种区域的内存大小都具备确定性,当方法结束或线程结束后,这些内存空间就会自动被回收掉,所以JVM无需考虑这些区域的内存回收...
分类:
其他好文 时间:
2015-05-29 10:11:00
阅读次数:
116
本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,J...
分类:
编程语言 时间:
2015-05-28 17:42:49
阅读次数:
167
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。 异常处理Java小应用程序(Applet)SwingJDBC远程方法调用(RMI)Se...
分类:
编程语言 时间:
2015-05-28 17:39:12
阅读次数:
224
理解G1垃圾收集器日志
发表这个文章的目的是为了解释使用了G1垃圾收集器的一些跟踪和诊断选项而生成出来的垃圾收集日志的意义。我们来看一下使用一个提供最详细的信息级别的生产环境选项PrintGCDetails生成的输出日志。同时,我们也会看一下启用的两个诊断选项 -XX:+UnlockDiagnosticVMOptions 、 -XX:G1PrintRegionLivenessInfo 的输出...
分类:
其他好文 时间:
2015-05-27 17:18:30
阅读次数:
172
垃圾收集器(GarbageCollector,GC)对Java程序员来说,基本上是透明的,但是一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的...
分类:
编程语言 时间:
2015-05-27 13:49:42
阅读次数:
175
Java的垃圾回收机制笔记java垃圾回收的意义确保不再被引用的对象的内存空间被回收。确保被引用的对象的内存不被错误回收。再分配内存。java垃圾回收的常用方法引用计数收集器堆中的每个对象(不是对象的引用)都有一个引用计数。当一个对象被创建时,给该对象分配一个变量,该变量计数设置设置为1.当任何其他...
分类:
编程语言 时间:
2015-05-26 23:11:31
阅读次数:
188
并发的标记—清除(Concurrent Mark Sweep,缩写为 CMS)收集器,使得在整个收集的过程中只是很短的暂停应用的执行,可通过在 JVM 参数中设置-XX:UseConcMarkSweepGC 来使用此收集器,不过此收集器仅用于old和Perm(永生)的对象收集,并发的标记—清除较之S...
分类:
其他好文 时间:
2015-05-25 09:52:22
阅读次数:
113