标签文章:#jvm#

  • JVM语言“三巨头” – Scala Clojure Groovy

    本文作者:ImportNew -储晓颖最近举行了两次大型的JVM编程语言的投票 (投票1, 投票2)。这些投票产生了一些非常有趣的数据。由于投票者来自不同的阵营,两次投票结果之间也稍有不同。在我参与的投票中Clojure进展非常顺利(领先Scala和Groovy),因为投票者中很多来自喜爱LISP的HackerNews团体。另一场DZone的投票也吸引了一长队的投票者......

    随遇而安 随遇而安 2018.01.26 17:21 943浏览 0回复

    阅读更多
  • G1 垃圾收集器之对象分配过程(转载)

    原文出处:占小狼G1的年轻代由edenregion和survivorregion两部分组成,新建的对象(除了巨型对象)大部分都在edenregion中分配内存,如果分配失败,说明edenregion已经被全部占满,这时会触发一次younggc,回收edenregion的垃圾对象,释放空间,满足当前的分配需求。小对象G1默认启用了UseTLAB优化,创建对象(小对象)时,优先从TLAB中分配内存,如......

    随遇而安 随遇而安 2018.01.23 17:24 903浏览 0回复

    阅读更多
  • JVM 堆内存和非堆内存(转载)

    原文出处:xstarcd堆和非堆内存按照官方的说法:“Java虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heapmemory)”。JVM主要管理两种类型的内存:堆和非堆。HeapmemoryCodeCacheEdenSpaceSurvivorSpaceTenuredGenn......

    随遇而安 随遇而安 2018.01.08 19:32 781浏览 0回复

    阅读更多
  • Java虚拟机工作原理

    首先我想从宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。主要介绍下图中的类加载器和运行时数据区两个......

    随遇而安 随遇而安 2017.12.07 19:02 1238浏览 0回复

    阅读更多
  • JVM概要二

    JVM概要二 JVM概要二

    一.JVM概念Java虚拟机,JAVA程序自己独立运行环境; 有自己完善的硬件架构,如类加载器、堆栈、寄存器等,还具有相应的指令系统二.JVM原理Java源文件经javac编译器,编译成字节码程序,通过JVM执行引擎将每一条指令翻译成不同平台机器码,通过特定平台运行。java编译器只需面向JVM,生成JVM能理解的代码或字节码文件。这也是java能跨平台,“一次编译,到处运行”的原因&n......

    CODY CODY 2017.09.01 17:28 1396浏览 4回复

    阅读更多
  • JVM概要一

    JVM概要一 JVM概要一

    一.JVM/JDK/JRE的区别 JDKJavaDevelopmentToolKit(Java开发工具包),JDK是整个JAVA的核心;包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具(javac/java/jdb等)   和Java基础的类库(即JavaAPI包括rt.jar)。三个版本:·SE(J2SE)标准版,是我......

    CODY CODY 2017.09.01 13:02 1119浏览 2回复

    阅读更多
  • 一次 JVM 调优的笔记

    1.JVMTuning基础知识1.1Java堆结构Java堆可以处于物理上不连续的内存空间上,只要逻辑上是连续的即可。Java堆就是各种对象分配和保存的内存空间,线程间共享。Java堆分为Eden区,Survivor区,tenured区和Permanent区,如下图所示。Java堆的分配原则如下:Java堆分布如下图所示,新的类的实例大部分在Eden(之所以用Eden这个词也就是表示初创起始的意思......

    Nemo Nemo 2016.11.27 13:10 2395浏览 0回复

    阅读更多