# Java中的静态代码块
在Java中,静态代码块是一种特殊的代码块,在类加载时执行,仅执行一次。静态代码块是用来初始化静态成员变量或执行静态方法的地方。但是,在某些特定情况下,静态代码块可能没有执行的情况。
## 静态代码块的基本用法
在Java中,我们可以使用静态代码块来初始化静态成员变量,或进行一些静态操作。下面是一个简单的示例:
```java
public class Stat            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-11 04:59:16
                            
                                24阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              找出代码中已有的缺陷,提高代码质量,排除潜在隐患是每个程序员的责任,不管是入门者还是资深者都被这个问题困扰着。实际开发中会有特别多的伪问题存在,伪问题就是一些不是问题的问题,也可理解成误报。 本来不是问题的地方被当作成问题,无疑会耽误大量时间去发现和排除。由此可见所以静态代码分析尤为重要。   这里推荐一款我正在使用的工具: Findbugs&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-07 06:46:59
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、静态代码块:在方法区类加载的时候执行;如果一个类需要在加载的时候执行一段代码,可以在静态块中写入逻辑。代码块是自动执行的2、构造方法:在对象实例化的时候执行。3、静态方法:在类进行方法调用的时候执行。代码是被动调用执行的 它们在代码中具体的执行过程如下:对象的初始化顺序:首先执行父类静态的内容,父类静态的内容执行完毕后,接着去执行子类的静态的内容,当子类的静态内容执行完毕之后,再去看            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-18 12:19:10
                            
                                1135阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们知道,一个类的方法从调用方式上可以分为“静态方法”与“非静态方法”(实例方法)。在.net框架中,也有很多这种公共静态方法。现在我想讨论一下,一个类为什么要提供静态方法以及在什么时候应该提供静态方法。静态方法与非静态方法最明显的区别就是如果某个方法是公共静态的,那么可以直接 通过类名.方法名的方法来调用,而公共实例方法则需要事先实例化对象,然后才能调用。很多人认为静态方法来速度上、在内存占用比            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-11 10:53:05
                            
                                26阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java中内部类加载时间:一般是只有运到了才会初始化,而不是外部内加载的时候(不管是静态还是非静态内部类)。注意到一个问题:内部类只有是静态的,其内部类中才能有静态属性和静态方法;如果内部类非静态的,其内部类不能有静态属性和静态方法。例子:public class OutClass {
<span style="white-space:pre">	</span>stati            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-23 10:04:40
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Java静态代码块什么时候执行
在Java中,静态代码块是一种特殊的代码块,它在类被加载时执行,并且只执行一次。静态代码块通常用于初始化静态变量或执行一些初始化操作。那么静态代码块究竟什么时候执行呢?本文将详细介绍Java静态代码块的执行时机,并提供相应的代码示例。
### 静态代码块的执行时机
静态代码块在类被加载时执行,而类的加载时机有以下几种情况:
1. 创建对象实例:当我们通            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-08 00:03:36
                            
                                486阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java静态代码块什么时候执行
在Java中,静态代码块是一种特殊的代码块,它在类加载时执行,并且只会执行一次。它主要用于在类加载时进行一些初始化操作,比如初始化静态变量或加载静态资源。
## 静态代码块的定义和使用
静态代码块通过`static`关键字和花括号`{}`来定义,在类的声明中可以有多个静态代码块,它们的执行顺序与声明的顺序一致。
```java
public class            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-31 14:30:38
                            
                                518阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、概述        我们在谈到java里面static代码块的执行时机的时候,我们都知道是它在类被加载的时候被执行,这种说法没有毛病,但是有误区,因为一个类的加载过程并不是一步就可以完成的。        如果从大的整体上来说这句话没有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-02 07:11:40
                            
                                302阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、简单认为JAVA静态代码块在类被加载时就会自动执行  是错误的class MyClass1 {
    static {//静态块
        System.out.println("static block ");
    }
}
public class Main {
 
    Class[] classArray = {
            MyClass1.cla            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-22 11:49:24
                            
                                210阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            静态的属于类的,非静态属于对象的!### 1、先执行静态代码块publicclassOrderTest{
static{
System.out.println("static code execute");
}
publicstaticvoidmain(String[]args) {
System.out.println("main() execute");
}
}执行结果:staticcodee            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-03 22:27:06
                            
                                113阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言:  在看单例模式的时候,在网上找帖子看见其中有一种(IoDH) 实现单例的方式,其中用到了静态内部类,文章中有写到当jvm加载外部类的时候,并没有加载静态内部内这和之前自己想的不一样,特意在网上找了一些帖子总结一下。一、学习前千的疑问:  稍微了解Java虚拟机内的加载过程的步骤,都很清楚,一个类的静态资源、一些常量都是在类加载的时候就被加载金内存中分配空间了,所以我一开始理所当然的以为静态            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-16 09:49:23
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             (一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-16 15:16:43
                            
                                51阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            闲暇之余,总结并撸码测试了一下静态代码块、构造代码块、构造方法的执行顺序及需要注意的问题当然,首先大家得知道静态代码块是跟着类的加载而加载的,而构造代码块和构造方法是随着对象的加载而加载的,相比这个问题大家都已经很熟悉了。以下是测试用的一个小Demo,便于更清楚的说明事实: package com.test;
public class Test {
	
	private int num            
                
         
            
            
            
            我们知道java中类的生命周期为装载、连接、初始化、使用和卸载五个过程,如下图所示:1.加载我们编写一个java类的代码,经过编译之后生成一个后缀名为.class的文件,java虚拟机就能识别这种文件。java的生命周期就是class文件从加载到消亡的过程。 关于加载,其实,就是将源文件的class文件找到类的信息将其加载到方法区中,然后在堆区中实例化一个java.lang.Class对象,作为方            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-31 17:40:10
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言在上一篇文章中给大家讲解了 static静态关键字,以及静态变量、静态常量和静态方法等内容。 但是关于static,还有其他的一些内容,比如静态类、静态代码块和静态导入等,接下来给大家继续分析讲解。我们一起来看看这些内容都是怎么用吧。全文大约 【3300】字 ,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富的案例及配图,可以让你更好地理解和运用文中的技术概念,并可以给你带来具有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-20 22:14:00
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在 Java 编程中,静态代码块是一种特殊的代码块,通常用于在类加载时初始化一些静态资源或执行一些操作。了解“Java静态代码块什么时候会运行”这一问题,能够帮助开发者更好地掌握类的加载机制和静态初始化流程。本文围绕这一主题,详细描述静态代码块的执行时机及其相关技术细节。
在 Java 中,静态代码块会在以下情况下执行:
1. **类被加载时**:当 JVM 加载这个类时,类的静态代码块会被执            
                
         
            
            
            
            目录1.static:静态的2.static可以用来修饰:属性、方法、代码块、内部类3.使用static修饰属性:静态变量(或类变量)4.使用static修饰方法:静态方法4.1 Java中静态方法能否被重写5.static注意点:6.开发中的使用:练习题: 1.static:静态的2.static可以用来修饰:属性、方法、代码块、内部类3.使用static修饰属性:静态变量(或类变量)3.1            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-01 01:14:19
                            
                                98阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。  类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有5种情况必须立即对类进行初始化:第一种:遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没有进行过初始            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-14 17:33:32
                            
                                115阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一, 静态变量在类加载时被加载加载指的是将类的class文件读入到内存,类加载器会读取class文件,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。二,静态变量在类卸载时被销毁当Sample类被加载、连接和初始化后,它的生命周期就开始了。当代表Sample类的Class对象不再被引用,即不可触及时,Clas            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-17 07:00:49
                            
                                96阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            【java面试题】java开发什么时候用到static变量(方法)一、什么时候用到static变量 1、静态变量: 当数据是对象特有的数据,必须由对象本身保存在对象中,就是非静态的。例如:张三李四都是姓名,姓名是属性,数据是值-》张三李四,值不一样不能共享,只能是对象特有数据 当数据是共享的,对象不需要修改,只需要使用,不用存储在对象中,就可以定义为静态的 2、静态函数: 该功能如果需要访问非静态            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-09 12:04:05
                            
                                402阅读