is
zhou

jvm

GC算法简介

zhouchong阅读(24)评论(0)

概述 在开始之前,需要明确的一点是,这里谈到的垃圾回收算法针对的是JVM的堆内存,栈基本上不存在垃圾回收方面的困扰。 标记-清除算法(Mark-Sweep) 最基础的收集算法是“标记-清除”(Mark-Sweep)算法,如同它的名字一样,算...

多态性实现机制——静态分派与动态分派

zhouchong阅读(25)评论(0)

方法解析 Class 文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在 Class 文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给 Java 带来了更强大的动态扩展能力,使得可以在类运行期间才...

GC简介

zhouchong阅读(28)评论(0)

关于GC Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战...

类的加载

zhouchong阅读(32)评论(0)

类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,...

类初始化

zhouchong阅读(29)评论(0)

类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的 Java 程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化: 遇到 new、getstatic、putstatic、invokestatic 这四条...

JVM内存管理——杂谈(借此也论一论obj=null)

zhouchong阅读(24)评论(0)

各位园友好,LZ是从某网站转战过来的博主,看到这里很多博主都称看友们为园友,LZ斗胆模仿一下,不过以前,LZ其实都是称看友们为猿友的。之前LZ在某网站已经写了一系列文章,已经全部复制到了园内的新博客,主要是设计模式的内容,各位有兴趣的也可以...

两个对象相互引用会不会被GC?

zhouchong阅读(28)评论(0)

两个对象相互引用会不会被GC?   两个对象相互引用,与会不会被GC没有直接关系。判断某个对象是否被GC采用的是GC Roots可达性来决定是否会被GC回收。 如果其他所有对象都没有引用这两个对象,即时这两个对象相互引用,也会被G...

Java对象的创建及访问

zhouchong阅读(24)评论(0)

对象的创建 Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出 来。 在语言层面上,创建对象(例如克隆、 反序列化)通常仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包...

java中,堆的运行速度为什么比栈慢

zhouchong阅读(25)评论(0)

第二块:JVM栈 JVM栈是线程私有的,每个线程创建的同时都会创建JVM栈,JVM栈中存放的为当前线程中局部基本类型的变量(java中定义的八种基本类型:boolean、char、byte、short、int、long、float、doub...

java是如何实现跨平台的

zhouchong阅读(27)评论(0)

Java要想实现Write Once and Run Anywhere(WORA)的根本原因是jvm的存在。 Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平台有不同的版本。 我们编写的...