`

张龙JVM001中的Singleton

    博客分类:
  • JVM
 
阅读更多
package com.zeph.jvm1;

public class Singleton {

	private static Singleton singleton = new Singleton();
	public static int a;
	public static int b = 0;

	private Singleton() {
		a++;
		b++;
	}

	public static Singleton getSingleton() {
		return singleton;
	}

	public static void main(String[] args) {
		Singleton singleton = Singleton.getSingleton();
		System.out.println(singleton.a);
		System.out.println(singleton.b);
	}
}

  输出1和0,调用类的静态方法,主动加载类,但尚未初始化,然后初始化,首先初始化new Singleton(),此时a=1,b=1,然后初始化b=0,于是输出1和0

package com.zeph.jvm1;

public class Singleton {

	public static int a;
	public static int b = 0;
	private static Singleton singleton = new Singleton();

	private Singleton() {
		a++;
		b++;
	}

	public static Singleton getSingleton() {
		return singleton;
	}

	public static void main(String[] args) {
		Singleton singleton = Singleton.getSingleton();
		System.out.println(singleton.a);
		System.out.println(singleton.b);
	}
}

 输出1和1
反之,最后初始化newSingleton,所以是1和1

引自:http://blog.csdn.net/benw1988/article/details/7606642

分享到:
评论

相关推荐

    圣思园张龙 深入理解jvm

    通过对“圣思园张龙 深入理解jvm”的内容进行梳理,我们了解到Java虚拟机作为Java技术体系的重要组成部分,在软件开发中扮演着极其重要的角色。掌握其内部工作原理和优化技巧对于提升Java应用程序的性能至关重要。...

    圣思园 张龙 深入JVM 共7讲 第2部分(共2部分)

    圣思园 张龙 深入JVM 共7讲 第2部分(共2部分) 圣思园 张龙 深入JVM 共7讲 第2部分(共2部分)

    JVM中文指令手册.pdf

    JVM(Java Virtual Machine,Java虚拟机)是运行所有Java程序的假想计算机,是Java程序的运行环境,负责执行指令、管理数据、内存、寄存器等,是实现Java跨平台特性的关键部分。JVM指令手册详细记录了JVM的所有操作...

    深入理解JVM.

    2. **运行引擎**:执行装载的类或接口中的指令,是JVM的核心。 3. **方法区**:存储解析后的类信息,包括常量池、字段信息、方法信息等。 4. **堆**:所有线程共享的内存区域,用于存储程序运行时创建的对象实例。...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    标题中提到了JVM原理、JVM调优、JVM内存模型和JAVA并发,这些都是Java虚拟机(JVM)相关的核心概念。JVM是运行Java字节码的虚拟计算机,为Java提供了一个跨平台的环境,确保Java程序可以在不同的操作系统上运行而...

    java 查看JVM中所有的线程的活动状况

    在Java编程环境中,了解JVM(Java虚拟机)中所有线程的活动状态对于调试多线程程序至关重要。本文将详细讲解如何查看JVM中的线程活动情况,并提供相关示例代码。 首先,Java提供了`java.lang.management....

    JVM监控实例数 windows监控 线程测试 单例模式下测试JVM实例是否一个

    在Java开发中,JVM(Java Virtual Machine)是运行所有Java程序的核心,它负责解析字节码并执行。为了确保应用程序高效稳定地运行,开发者需要对JVM进行监控,了解其内部状态,如内存使用、线程活动等。本文将探讨...

    jvm中文规范简介

    JVM规范详细定义了Java可执行代码(即字节码)的格式,包括操作码和操作数的语法和数值、标识符的数值表示方式、以及Java类文件中的Java对象和常量缓冲池在JVM中的存储映像。 这些定义为JVM解释器的开发人员提供了...

    对象在jvm中的存储情况

    java对象在jvm中的存储情况 jvm

    jdk,jvm源码

    Java虚拟机(JVM)是Java程序运行的核心,它负责解释和执行字节码,为Java应用程序提供了一个跨平台的运行环境。JDK(Java Development Kit)包含了开发和运行Java程序所需的所有工具,包括JVM。当我们谈论"jdk,jvm...

    JVM实战-JVM类加载机制案例分析

    本次实验的主要目的是深入理解Java虚拟机(JVM)中的类加载机制。通过实践操作,掌握类的加载、连接与初始化过程,了解不同类型的类加载器及其工作原理,学会创建自定义的类加载器,并对类的卸载有所认识。实验将结合...

    jvm 详细介绍,了解jvm各个组成部分和功能

    在典型的 JVM 实现中,存在一个简单的 CPU 架构模型,包括以下几个主要部分: - **PC(Program Counter)**:程序计数器,用于记录当前正在执行的指令的位置。 - **Operand Stack Pointer**:操作数栈指针,用于...

    singleton设计模式java实现及对比

    Singleton设计模式是软件工程中最常用的设计模式之一,它的主要目的是确保一个类只有一个实例,并提供全局访问点。在Java中,Singleton模式的实现有多种方式,每种方式都有其优缺点,我们将详细探讨这些实现方法并...

    java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优

    在现代软件开发中,Java虚拟机(JVM)作为执行Java字节码的核心组件,其性能直接影响到Java应用的运行效率与稳定性。特别是在大数据处理场景下,合理设置JVM内存参数显得尤为重要。本文将深入探讨JVM内存管理的基础...

    jvm 启动过程 JVM 原理

    在JVM的工作过程中,运行时数据区(也称为Java堆内存)是另一个重要的概念。它分为以下区域: - **堆**:存储所有实例对象和数组。Java垃圾收集器负责管理堆内存,进行对象创建和销毁。 - **栈**:每个线程都有...

    java圣思园学笔记+文档(张龙)

    这份“java圣思园学笔记+文档(张龙)”的压缩包文件,很可能包含了张龙老师在圣思园教学过程中的详细笔记和相关文档,这些资料对于正在学习或复习Java编程的学员来说是宝贵的资源。通过这份笔记,你可以系统地学习...

    JVM图解-JVM指令-JVM原型图.rar

    在这个压缩包中,"JVM图解.png"可能是对JVM内部结构的可视化表示,"JVM图解"可能是一个详细的文档,解释了JVM的工作原理,而"JVM指令手册 中文版"则提供了JVM可执行的所有指令的详细信息。下面,我们将深入探讨JVM的...

    metrics-jvm-3.1.5-API文档-中文版.zip

    赠送jar包:metrics-jvm-3.1.5.jar; 赠送原API文档:metrics-jvm-3.1.5-javadoc.jar; 赠送源代码:metrics-jvm-3.1.5-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    尚硅谷jvm整理.md

    尚硅谷jvm课件整理ppt

    jvm优化中文版

    首先,需要理解JVM(Java虚拟机)的基本概念,以及在性能调优中的关键作用。JVM是运行Java程序的核心组件,负责解释Java字节码,并将字节码转换成特定平台的机器码。在性能优化过程中,JVM的配置、监控和调优是确保...

Global site tag (gtag.js) - Google Analytics