随笔分类 -  java

摘要:Java垃圾回收精粹分4个部分,本篇是第4部分。在第4部分里介绍了G1收集器、其他并发收集器以及垃圾收集监控和调优。Garbage First (G1) 收集器G1 (-XX:+UseG1GC)收集器是一个新的收集器。G1随Java 6发布,在Java 7U4中得到正式支持。它是一个部分并发的收集算... 阅读全文
posted @ 2015-04-19 14:44 oayx 阅读(432) 评论(0) 推荐(0) 编辑
摘要:Java垃圾回收精粹分4个部分,本篇是第3部分。在第3部分里介绍了串行收集器、并行收集器以及并发标记清理收集器(CMS)。串行收集器(Serial Collector)串行收集器是最简单的收集器,对于单处理器系统真是绝佳上选。当然,它也是所有收集器里面最不常用的。串行收集器使用一个单独的线程进行收集... 阅读全文
posted @ 2015-04-19 14:43 oayx 阅读(201) 评论(0) 推荐(0) 编辑
摘要:Java垃圾回收精粹分4个部分,本篇是第2部分。在第2部分里介绍了Hotspot中的堆结构、对象分配以及次要回收。Hotspot中的堆结构理解不同的收集器的工作方式,是探讨Java堆结构如何支持分代机制的最好的方式。伊甸区(Eden)的大部分对象都是刚刚被分配的。幸存区(survivor)用来临时存... 阅读全文
posted @ 2015-04-19 14:42 oayx 阅读(357) 评论(0) 推荐(0) 编辑
摘要:Java垃圾回收精粹分4个部分,本篇是第1部分。在第1部分里介绍了权衡点、对象生命周期以及全局暂停事件。串行、并行、并发、CMS、G1、年轻代(Young Gen)、新生代(New Gen)、旧生代(Old Gen)、持久代(Perm Gen)、伊甸区(Eden)、年老区(Tenured)、幸存区(... 阅读全文
posted @ 2015-04-19 14:41 oayx 阅读(295) 评论(0) 推荐(0) 编辑
摘要:本文是成为Java GC专家系列文章的第三篇。在第一篇《成为JavaGC专家Part I — 深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的JDK7中的5种GC类型,以及这5种类型对于应用性能的影响。在第二篇《成为JavaGC专... 阅读全文
posted @ 2015-04-19 14:37 oayx 阅读(315) 评论(0) 推荐(0) 编辑
摘要:本文是成为Java GC专家系列文章的第二篇。在第一篇《深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的JDK7中的5种GC类型,以及这5种类型对于应用性能的影响。在本文中,我将解释JVM到底是如何执行垃圾回收处理的。什么是GC监... 阅读全文
posted @ 2015-04-19 14:36 oayx 阅读(261) 评论(0) 推荐(0) 编辑
摘要:对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开... 阅读全文
posted @ 2015-04-19 14:34 oayx 阅读(336) 评论(0) 推荐(0) 编辑
摘要:这些日子,在看一些java的东西,由于刚入手,对java不是很了解,结果对java的一些名词没有一个清晰的脉络,现在稍微整理一下 令我纠结的是jdk,sdk,jre,jvm,ide,adt,跨平台性,j2ee,j2se,这些名词弄的我云里雾里的。 首先,什么是SDK呢? Software Devel... 阅读全文
posted @ 2015-03-17 17:18 oayx 阅读(409) 评论(0) 推荐(0) 编辑
摘要:1.Channelchannel 是负责数据读,写的对象,有点类似于老的io里面的stream。它和stream的区别,channel是双向的,既可以write 也可以read,而stream要分outstream和inputstream。而且在NIO中用户不应该直接从channel中读写数据,而是... 阅读全文
posted @ 2015-03-13 22:16 oayx 阅读(1025) 评论(0) 推荐(0) 编辑
摘要:JDK里面的工具也是用JAVA编写的,它们本身运行的时候也需要一套JRE,如C:/Program Files/Java/jdk1.5.x/目录下的JRE。而C:/Program Files/Java/目录下的JRE是用来执行我们自己编写的JAVA程序。当然,两套JRE中的任何一套都可以用来执行我们自... 阅读全文
posted @ 2015-03-13 10:05 oayx 阅读(283) 评论(0) 推荐(0) 编辑
摘要:以前看过很多次关于垃圾回收相关的文章,都只是看过就忘记了,没有好好的整理一下,发现写文章可以强化自己的记忆。java与C,c++有很大的不同就是java语言开发者不需要关注内存信息,不会显式的直接操作内存,而是通过jvm虚拟机来实现。java虚拟机运行的时候内存分配图如下图:jvm虚拟机栈:一个是线程独有的,每次启动一个线程,就创建一个jvm虚拟机栈,线程退出的时候就销毁。这里面主要保存线程本地变量名和局部变量值。本地方法栈: 调用本地jni方法的时候而创建的。这里分配的jvm之外的内存空间。方法调用结束之后销毁。pc寄存器 : 这个保存线程当前执行的字节码指令堆:主要保存创建的对象。方法区: 阅读全文
posted @ 2013-10-31 17:07 oayx 阅读(610) 评论(0) 推荐(0) 编辑