static块的执行机制

原创 2015年07月10日 09:21:26

今天在学JDBC的时候遇到类似于“static{}”,表示很不解,在网上查了很多资料,遂将其记下。

“static{}”就是代码块的意思。它可以保证无论所属类被加载多少次,static块中的语句只被执行一次。话不多说,代码验证:

package com.jdbc;

public class staticdemo {
    
    
     public static void main(String args[]){
            try {
                Class.forName("com.jdbc.stac");
                Class.forName("com.jdbc.stac");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
}

class stac{
    
    public static int ss=1;
    
    stac(){
       system.out.println("static块被执行")
    }
    
     public static void show(){
        System.out.println("静态方法");
    }
}

从主类中我们可以知道stac类被加载了两次,但是只输出一次“static{}“中的语句。。。。


static代码块何时执行

之前一直纠结类中static代码块什么时候执行,很多java开发者都回答在类装载时执行,也有人认为是在类第一次被使用时执行,直到看到了这篇文章: http://www.cnblogs.com/ivan...
  • BranStark
  • BranStark
  • 2015年10月11日 20:32
  • 1593

static 块以及代码块执行顺序

static块,普通代码块,构造代码块执行顺序
  • u013238950
  • u013238950
  • 2016年03月16日 16:17
  • 2700

java的static块执行时机

一、误区:简单认为JAVA静态代码块在类被加载时就会自动执行。证错如下:   [java] view plain copy print? class MyClass1 {      stat...
  • zmx729618
  • zmx729618
  • 2016年06月03日 17:06
  • 532

java的static块执行时机

一、误区:简单认为JAVA静态代码块在类被加载时就会自动执行。证错如下:   class MyClass1 { static {//静态块 System.out.printl...
  • berber78
  • berber78
  • 2015年06月12日 16:09
  • 10996

static块什么时候执行

为了搞清楚这个我们首先要知道一个类想要运行JVM会做哪些事情。 1、类装载       采用双亲委派模式加载类,子类会交给父类的classloader去加载,如果父类加载不到自己才会尝试加载。最终...
  • havarduniv
  • havarduniv
  • 2015年03月18日 17:49
  • 1297

static 静态变量和静态代码块的执行顺序

众所周知 在android中static 修饰的会被称之为 静态常量, 静态变量, 静态方法 ,还有就是静态代码块,用static{ // 代码块 非static修饰的方法,变量,常量, 是不能再静态...
  • a22422931
  • a22422931
  • 2017年01月22日 16:55
  • 4115

java static块执行机制

java 类运行的机制及static执行机制
  • sunjinshengli
  • sunjinshengli
  • 2017年04月19日 00:27
  • 214

java 静态变量和静态块底层原理

Java静态变量的初始化(static块的本质) 在网上看到了下面的一段代码: public class Test {       static {            _i = 20;  ...
  • h70614959
  • h70614959
  • 2013年11月04日 15:57
  • 2290

Java和Android中,代码块、static静态代码块的执行顺序

Java和Android中,代码块、static静态代码块的执行顺序有没有什么区别呢。
  • marktheone
  • marktheone
  • 2015年08月28日 11:11
  • 2502

java 理解static代码块的作用

static代码块一般用于初始化类中的静态变量,该静态代码块在类加载过程中的初始化阶段执行,并且只执行一次。 使用static静态代码块进行初始化与直接在定义变量的时候初始化效果是一样的,但...
  • lxyzhu
  • lxyzhu
  • 2014年11月12日 12:05
  • 2863
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:static块的执行机制
举报原因:
原因补充:

(最多只允许输入30个字)