类加载

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: Java中代码块执行顺序为:静态代码块 > 局部代码块 > 构造器。静态代码块随类加载执行,仅一次;局部代码块在方法内执行;构造代码块每次创建对象前调用,优先于构造方法执行,且先于main函数运行。

1.常见加载顺序
Java
运行代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class CodeBlockDemo
{
{
System.out.println("初始化代码");
}

CodeBlockDemo()
{
    System.out.println("构造器");
}   

static
{
    System.out.println("静态代码块");
}

//运行后输出结果?
public static void main(String[] args) 
{   
    {
        int a = 10;
        //10
        System.out.println("局部代码块");
    }

    new CodeBlockDemo();
    new CodeBlockDemo();
    new CodeBlockDemo();
}

}
输出:
Java
运行代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
静态代码块
局部代码块

初始化代码
构造器

初始化代码
构造器

初始化代码
构造器
总结:
静态代码块 > 局部(构造)代码块 > 构造器(构造方法)
随着类的加载而执行,而且只一次, 优先于主函数执行

相关文章
|
4月前
|
负载均衡 Java Nacos
Gateway服务网关
网关是微服务的统一入口,实现请求路由、权限控制与限流。基于Spring Cloud Gateway可快速搭建高性能网关,支持断言与过滤器灵活配置,并解决跨域问题,提升系统安全性和可维护性。
|
4月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强框架,简化单表CRUD操作,内置分页、条件构造器、代码生成等功能,支持逻辑删除、枚举处理与JSON字段映射,提升开发效率。
|
4月前
|
SQL 容灾 Nacos
Seata的部署和集成
本文介绍Seata分布式事务框架的部署与微服务集成。首先下载并解压Seata Server,修改配置文件application.yml,并在Nacos中配置seataServer.properties及数据库信息。创建seata数据库并运行SQL脚本初始化事务表。启动TC服务后,注册至Nacos。各微服务引入Seata依赖,配置application.yml连接TC。为实现高可用,搭建多节点TC集群,通过Nacos统一管理事务组映射,实现异地容灾与动态切换。微服务从Nacos读取client.properties,灵活绑定TC集群,提升系统稳定性与可维护性。(238字)
|
4月前
|
关系型数据库 应用服务中间件 Nacos
Nacos配置中心
本章详解Nacos配置中心实战:实现微服务配置统一管理,支持热更新、配置共享与优先级控制,并搭建高可用集群,提升系统稳定性。
|
4月前
|
存储 安全 Java
1.RememberMe简介及用法
RememberMe功能实现用户关闭浏览器后仍保持登录状态,通过Cookie存储令牌而非明文密码。Spring Security中配置rememberMe()并设置key,登录时生成持久化令牌存于Cookie,后续请求自动携带验证身份。但需防范令牌泄露风险,可通过数据库持久化Token并增加二次校验提升安全性。
|
4月前
|
关系型数据库 MySQL Java
SpringCloud工程部署启动
本教程介绍SpringCloud微服务工程搭建与部署,涵盖完整项目导入或从零创建父/子模块,配置Maven依赖、数据库连接及业务代码。通过RestTemplate实现order-service调用user-service获取用户信息,演示微服务间远程通信原理,帮助理解服务拆分与调用关系,掌握基础分布式架构实践。
|
4月前
|
存储 缓存 安全
1-常用过滤器介绍
Spring Security基于AOP思想,通过一系列过滤器构建安全链。从上下文管理、认证处理到权限校验,各过滤器分工明确,如SecurityContextPersistenceFilter维护安全上下文,UsernamePasswordAuthenticationFilter处理登录,CsrfFilter防范跨站攻击等。实际加载取决于配置,灵活可扩展,是保障Web应用安全的核心机制。(238字)
|
4月前
|
存储 Java 关系型数据库
微服务概述
本文介绍单体与微服务架构区别,阐述微服务定义、特征及优缺点,涵盖技术选型、部署方案与架构演进,帮助理解如何构建高内聚、低耦合的分布式系统,为后续实践奠定理论基础。(238字)
|
4月前
|
安全 Java 数据安全/隐私保护
2.通用权限管理模型
本文介绍了ACL、RBAC等常见权限模型。ACL通过用户/角色与权限直接绑定实现控制;RBAC则基于角色继承、职责分离等机制,提升权限管理的灵活性与安全性,适用于复杂系统。了解模型结构有助于构建清晰的权限体系。
|
4月前
|
缓存 Java Nacos
@RefreshScope热更新原理
@RefreshScope通过组合注解实现配置热更新,核心在于@Scope("refresh")与代理机制。标注该注解的Bean被缓存,配置变更时清空缓存并触发Spring重新创建实例,结合Environment刷新,实现@Value属性动态更新,本质是缓存失效+Bean重建机制。