zoukankan      html  css  js  c++  java
  • JDK1.7之前的Bug之静态代码块

    程序的主入口是main方法,但是在jdk1.7之前,可以没有main方法也一样能运行,很是不可思议,到底是什么原因呢?,大家都知道在类中定义了静态代码块的话,是首先执行代码块里的语句的,如果把静态代码块放到了主类中,到底是先执行静待代码块呢还是先执行main方法呢?不用纠结,我来做个试验。

    1  static {
    2         System.out.println("运行的比main方法还要早");
    3     }
    4 
    5     public static void main(String[] args) {
    6         System.out.println("main方法输出语句");
    7     }

     运行结果是静态代码块比main方法运行的还要提前,既然是这样那把所有要执行的程序直接放到静态代码块里不就可以了吗,就不需要main方法了吧,说实话,比如下面程序在JDK1.7版本之前确实是可以运行的,无需main方法。这个bug在JDK1.7之前都是存在的,但是在JDK1.7之后的版本却无法运行了,这是由于版本升级所解决的问题,这个Bug从1995年开始一直到2012年都是存在的!

  • 相关阅读:
    三点求圆心坐标(三角形外心)
    半平面交
    旋转卡壳
    平面最近点对(HDU 1007)
    凸包
    ACM做题随做随思
    最短路径——SPFA算法
    树链剖分原理
    生成树的计数——Matrix-Tree定理
    次小生成树
  • 原文地址:https://www.cnblogs.com/lwl80/p/13289989.html
Copyright © 2011-2022 走看看