zoukankan      html  css  js  c++  java
  • java面试题(1):

    最近准备面一家新的公司。总结了一下之前的java面试题,具体内容如下,大家共同学习。

    class A{

      static int id0;  //静态成员变量id0;

      int  id1 ;    //非静态成员变量id1

      //静态代码块

      static{

      }

      //构造代码块

      {

      }

      //静态方法

      static void xxx(){

      }

      //非静态方法

      void xxxxx(){

      }

      //构造函数

      public A(){

      ....

      }  

    }

    对于一个java类,类加载的时候,首先是将字节码文件加载进入JVM虚拟机中去。静态代码块是在类加载的时候就进行初始化调用了,静态成员变量在加载的时候也是对所有的字段进行赋默认值。

    public class SingleTon{

      private static SingleTon singleTon = new SingleTon();

      private static int count1 ;

      private static int count2= 0 ;

      private SingleTon(){

      count1++;

      count2++;

      }

      public static SingleTon getInstance(){

        return singleTon;

      }

    }

    1.加载到虚拟机的时候,第一阶段是对静态成员变量赋默认值

    -----------------------------------------

      singleTon = null;

      count1=0;

      count2=0;

    2.静态代码块和静态成员变量的赋值操作,整个执行过程从上到下执行

    --------------------------------------------------------------------------------------------

      private static SingleTon singleTon = new SingleTon();

      上面这句话分为两个动作:1.static {  singleTon = new SingleTon();

        }

      [singleTon=new SingleTon();]

      count1=1;//调用了构造函数,所以count1=1;

      count2=1;//同样的调用了构造函数,所以count2=1

      [count2=0]

      count2=0;

    最后返回值为1,0

      

  • 相关阅读:
    CDH 6.0.1 集群搭建 「Process」
    CDH 6.0.1 集群搭建 「Before install」
    利用 Docker 搭建单机的 Cloudera CDH 以及使用实践
    vue2.x学习笔记(十七)
    vue2.x学习笔记(十六)
    vue2.x学习笔记(十五)
    vue2.x学习笔记(十四)
    vue2.x学习笔记(十三)
    vue2.x学习笔记(十二)
    vue2.x学习笔记(十一)
  • 原文地址:https://www.cnblogs.com/stone-learning/p/9257296.html
Copyright © 2011-2022 走看看