一。内存分布1.默认generation分布2.parallel collector的generation 分布二。 内存划分1. Young Generation1 ) 生命周期很短的对象,归为young generation。由于生命周期很短,这部分对象在gc的时候,很大部分的对象已经成为非活动...
分类:
其他好文 时间:
2014-11-01 14:42:24
阅读次数:
172
Scala语言的潜力不于与groovy,其语法可以说比python还要新,以至于有些人因此难以接受该语法。Scala是一门函数式、命令式的面向对象的基于JVM的编程语言,可以在控制台或者终端直接执行,语法相当简练、屈指。S...
分类:
其他好文 时间:
2014-11-01 12:03:59
阅读次数:
395
今天在书上看到一个作者提出一个问题"怎样通过编写Java代码让Jvm崩溃",我看了之后也不懂。带着问题查了一下,百度知道里面有这样一个答案: 1 package jvm; 2 3 public class Crash { 4 public static void main(String[...
分类:
编程语言 时间:
2014-11-01 06:17:30
阅读次数:
220
学生提问:不是说JVM是运行Java程序的虚拟机吗?那JRE和JVM的关系是怎样的呢?答:简单的说,JRE包含JVM。JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要其他的类加载器、字节码校验器以及大量的基础类库。JRE除了包含JVM之外,还包含运行Java程序的其...
分类:
编程语言 时间:
2014-10-31 23:25:40
阅读次数:
263
竞争锁是造成多线程应用程序性能瓶颈的主要原因区分竞争锁和非竞争锁对性能的影响非常重要。如果一个锁自始至终只被一个线程使用,那么 JVM 有能力优化它带来的绝大部分损耗。如果一个锁被多个线程使用过,但是在任意时刻,都只有一个线程尝试获取锁,那么它的开销要大一些。我们将以上两种锁称为非竞争锁。而对性能影...
分类:
编程语言 时间:
2014-10-31 20:33:56
阅读次数:
231
大家都知道Serializable是一个mark interface,告诉JVM这个对象可以被转换成二进制流来传输.
但是Serializable与Externalizable的转换二进制流的过程是不一样的.
Serializable 在我们实现这个接口的时候,我们可以使用4个私有方法来控制序列化的过程:
我们来看一个例子:
Java代码
pub...
分类:
其他好文 时间:
2014-10-31 15:42:05
阅读次数:
171
引言: JVM分析和优化是Java技术体系中的高大上的内容,其实这个东西没有那么神秘和高深,只是大部分童鞋没有机会真正接触它们,从而对它们有一个深入理解。这里通过一个小题目,来展示如何来看JVM输出的日志信息,并得出JVM几个设置变量的设置信息。...
分类:
其他好文 时间:
2014-10-30 22:44:13
阅读次数:
283
在java中,native方法是指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。native方法的执行依赖于JVM的设计者,比如在sun HotSpot(JVM)中,通过JNI(Java Native Interface...
分类:
编程语言 时间:
2014-10-30 22:28:59
阅读次数:
250
最近去面试一家公司,是做企业级监控的,然后就随便聊聊,说这个东西是怎么实现的,大概意思是说,在jvm 启动的时候,加一个参数,往项目里放一个jar包就可以了,具体的实现是用java反射实现的,当是怕被人说小白...
分类:
编程语言 时间:
2014-10-30 17:27:09
阅读次数:
241
ImportNew注: JVM性能优化系列文章前4篇由ImportNew翻译(第一篇,第二篇,第三篇, 第四篇)。本文由新浪微博:吴杰 (@WildJay) 投稿至ImportNew。感谢吴杰! 如果你希望分享好的原创文章或者译文,欢迎投稿到I...
分类:
编程语言 时间:
2014-10-30 17:26:33
阅读次数:
245