常见加载顺序

简介: 该程序演示Java代码块执行顺序:静态代码块最先执行,仅一次;随后是实例初始化块,每次创建对象时执行;接着调用构造器。局部代码块位于方法内,用于限制变量作用域。运行结果依次输出:静态、初始化、构造器,重复三次。

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();
}

}

相关文章
|
10月前
|
存储 NoSQL Linux
2.4 Linux系统中的安装启动和连接
本文介绍在Linux系统部署单机MongoDB用于生产环境的完整步骤,包括下载、解压、目录配置、日志与数据路径设置、配置文件编写及服务启停方法。操作类似Windows,通过配置`mongod.conf`实现后台运行,支持命令行与图形工具连接,并提供防火墙处理与安全关闭服务方案,确保稳定运行。
|
10月前
|
存储 Java
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,仅保留原始类型。例如`List<String>`和`List<Integer>`在运行时都变为`List`,导致`getClass()`结果相同。通过反射可绕过泛型限制添加非指定类型元素,证明泛型信息在运行期不可见,仅为编译期检查机制。
|
10月前
|
XML NoSQL Java
5.3 技术选型
本节介绍MongoDB的Java连接驱动mongodb-driver及SpringDataMongoDB持久层框架,通过搭建文章微服务工程,配置Spring Boot整合MongoDB,实现项目初始化与启动。
|
10月前
5.5 文章评论实体类的编写
创建实体类Comment,位于cn.itcast.article.po包中,包含评论的ID、内容、发布时间、用户信息、点赞数、回复数、状态及关联文章ID等属性,并提供getter/setter及toString方法,用于封装评论数据。
|
10月前
|
Java 调度
ThreadPoolExecutor解析
本文深入分析Java线程池ThreadPoolExecutor的实现原理,通过类图与源码解析,揭示其核心组件与工作流程。重点探讨任务提交、线程创建、任务调度及拒绝策略等机制,剖析Worker如何通过runWorker循环消费任务队列,从而掌握线程池高效运行的内在逻辑。(238字)
|
10月前
|
存储 NoSQL 关系型数据库
4-MongoDB索引知识
MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段和复合索引,前者适用于单一字段排序与查询,后者按字段顺序构建,优化多条件查询与排序操作,显著提升大数据量下的查询性能。
|
10月前
|
JSON NoSQL MongoDB
3.4.2 文档的基本查询
MongoDB使用`find()`查询数据,支持条件筛选与投影。`find({})`查所有文档,`_id`字段默认存在;可指定条件如`{userid:'1003'}`查询匹配记录,用`findOne()`返回第一条。投影参数控制字段显示,如`{userid:1,nickname:1,_id:0}`仅显指定字段,省略 `_id`。
|
10月前
|
存储 NoSQL MongoDB
4.2.3 其他索引
MongoDB提供地理空间索引支持平面与球面查询,文本索引实现高效字符串搜索并提取词干,哈希索引则用于散列分片,仅支持等值匹配,提升数据分布随机性。
|
10月前
|
Java 调度
ScheduledThreadPoolExecutor解析
ScheduledThreadPoolExecutor继承自ThreadPoolExecutor,支持延时及周期性任务调度。其核心在于ScheduledFutureTask和DelayedWorkQueue:前者通过重设执行时间实现周期性,后者基于延迟队列实现任务的定时触发,结合addWorker机制确保线程池持续运行,从而完成精准调度。
|
10月前
|
Java 开发者
线程池
线程池通过复用预先创建的线程,避免频繁创建和销毁带来的开销,提升性能。它统一管理线程生命周期,减少资源消耗,防止线程过度切换,简化多线程编程,使开发者更专注于业务逻辑。

热门文章

最新文章