摘要: 如果你想理解Java垃圾回收如果工作,那么理解JVM的内存模型就显的非常重要。今天我们就来看看JVM内存的各不同部分及如果监控和实现垃圾回收调优。1、Stop the World Event所有的垃圾回收都是“阻塞”事件(“Stop the World” events),因为所有应用程序线程必须... 阅读全文
posted @ 2015-09-14 23:29 沐风山 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 我们可以使用Java命令行和UI工具来监控应用程序的垃圾收集活动。下面的例子中,我使用Java SE Downloads 中一个演示程序。 如果你想使用同样的程序,前往Java SE Downloads页面下载JDK 7 and JavaFX Demos and Samples。我使用的和序示例是... 阅读全文
posted @ 2015-09-14 23:15 沐风山 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 1、JVM堆设置-Xmx3550m设置JVM最大堆内存 为3550M。-Xms3550m设置JVM初始堆内存 为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xss128k设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K... 阅读全文
posted @ 2015-09-14 22:53 沐风山 阅读(1157) 评论(0) 推荐(1) 编辑
摘要: 虚拟机的堆内存共划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和持久代(PermanentGeneration)。其中持久代主要存放的是Java类的类信息,与垃圾收集器要收集的Java对象关系不大。所以,年轻代和年老代的划分才是对垃圾收集影响比较大的... 阅读全文
posted @ 2015-09-14 22:37 沐风山 阅读(868) 评论(0) 推荐(0) 编辑
摘要: JDK提供的几种线程池newFixedThreadPool创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。newCachedThreadPool创建一个可缓存的线程池。这种类型的线程池特点是: 1).工作线程... 阅读全文
posted @ 2015-09-14 13:50 沐风山 阅读(5360) 评论(0) 推荐(0) 编辑
摘要: documentCountDownLatchA synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads complet... 阅读全文
posted @ 2015-09-14 13:19 沐风山 阅读(312) 评论(0) 推荐(0) 编辑