威海住房建设部官方网站注册教育培训机构需要什么条件

张小明 2026/1/19 18:58:59
威海住房建设部官方网站,注册教育培训机构需要什么条件,德阳如何做百度的网站,wordpress自带小工具一、先明确两个 “构造方法” 的核心区别Java 中有两种不同的 “构造方法”#xff0c;二者的作用、执行时机完全无关#xff1a;构造方法类型名称#xff08;字节码层面#xff09;通俗理解手动定义方式核心作用类构造方法clinit()静态构造器、类初始化方法无需手…一、先明确两个 “构造方法” 的核心区别Java 中有两种不同的 “构造方法”二者的作用、执行时机完全无关构造方法类型名称字节码层面通俗理解手动定义方式核心作用类构造方法clinit()静态构造器、类初始化方法无需手动定义编译器自动生成初始化类的静态资源静态变量、静态代码块实例构造方法init()对象构造器、构造函数public 类名(...) { ... }初始化对象的实例资源实例变量、实例代码块二、类加载初始化阶段仅执行类构造方法clinit()不执行实例构造方法init()类加载的「初始化阶段」是类加载流程的第 5 步加载→验证→准备→解析→初始化其核心任务就是执行类构造方法clinit()而实例构造方法init()与类加载无关仅在创建对象new关键字、反射等时执行。1. 类构造方法clinit()的核心特性自动生成由编译器自动收集类中的「静态变量显式赋值语句」和「静态代码块static{}」按书写顺序合并生成无需开发者手动定义仅执行一次JVM 保证一个类的clinit()方法在多线程环境下被同步执行且仅执行一次类初始化的原子性父类优先执行若当前类有父类且父类未初始化JVM 会先执行父类的clinit()方法再执行当前类的clinit()无参数无返回值字节码层面的特殊方法无法通过反射直接调用可通过Class.forName()间接触发可选生成若类中没有静态变量显式赋值也没有静态代码块编译器不会生成clinit()方法初始化阶段无需执行任何操作。2. 实例构造方法init()的执行时机实例构造方法init()是对象实例化阶段的方法与类加载的初始化阶段无关只有通过以下方式创建对象时才会执行new 类名()直接创建对象反射Class.newInstance()已过时、Constructor.newInstance()反序列化从字节流恢复对象时克隆Object.clone()需实现Cloneable接口。三、代码示例验证初始化阶段的执行行为示例 1类初始化阶段执行clinit()静态资源初始化java运行public class ClassInitDemo { // 1. 静态变量显式赋值会被收集到clinit()中 private static int staticVar initStaticVar(); // 2. 静态代码块会被收集到clinit()中按书写顺序执行 static { System.out.println(类初始化执行静态代码块); staticVar 10; } // 静态变量初始化方法 private static int initStaticVar() { System.out.println(类初始化执行静态变量赋值方法); return 5; } // 3. 实例构造方法init()类初始化阶段不执行 public ClassInitDemo() { System.out.println(对象实例化执行实例构造方法); this.instanceVar 20; } // 实例变量与类初始化无关 private int instanceVar; public static void main(String[] args) { System.out.println( 开始执行main方法触发类初始化 ); System.out.println(静态变量值 ClassInitDemo.staticVar); System.out.println(\n 创建对象触发实例构造方法 ); new ClassInitDemo(); } }执行结果plaintext类初始化执行静态变量赋值方法 类初始化执行静态代码块 开始执行main方法触发类初始化 静态变量值15 创建对象触发实例构造方法 对象实例化执行实例构造方法结果分析程序运行时main方法调用ClassInitDemo.staticVar触发类的主动使用进入类初始化阶段初始化阶段自动执行clinit()方法按顺序执行「静态变量赋值」和「静态代码块」输出前两行日志类初始化完成后才执行main方法中的打印语句只有当执行new ClassInitDemo()时才会调用实例构造方法init()输出对象实例化日志这一步与类加载的初始化阶段无关。示例 2验证clinit()仅执行一次java运行public class ClinitOnceDemo { static { System.out.println(类初始化clinit() 执行); } public ClinitOnceDemo() { System.out.println(对象实例化init() 执行); } public static void main(String[] args) { // 第一次创建对象先触发类初始化clinit()执行再执行init() new ClinitOnceDemo(); // 第二次创建对象仅执行init()clinit()不再执行 new ClinitOnceDemo(); // 第三次创建对象仍仅执行init() new ClinitOnceDemo(); } }执行结果plaintext类初始化clinit() 执行 对象实例化init() 执行 对象实例化init() 执行 对象实例化init() 执行结果分析类的clinit()方法仅在第一次主动使用时执行一次后续无论创建多少个对象都不会再执行实例构造方法init()每次创建对象时都会执行与类初始化阶段无关。四、补充类初始化阶段的触发条件主动使用只有满足「主动使用」条件时JVM 才会触发类的初始化执行clinit()常见主动使用场景包括通过new关键字创建类的实例调用类的静态变量非final修饰final静态常量存入常量池属于被动使用调用类的静态方法通过反射Class.forName(类全限定名)主动加载类初始化子类时父类会被优先初始化主动使用子类触发父类主动使用执行包含main()方法的主类程序入口类必然会被初始化。五、总结类加载的初始化阶段不会执行实例构造方法init()即平时写的构造函数仅执行类构造方法clinit()类构造方法clinit()是编译器自动生成的用于初始化静态变量和静态代码块仅执行一次实例构造方法init()用于初始化对象的实例资源仅在创建对象new/ 反射等时执行与类加载流程无关类初始化阶段由「主动使用」触发核心任务是执行clinit()保证类的静态资源完成初始化。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

小学网站建设方案2014网站建设

想要在雀魂游戏中拥有所有角色皮肤和装扮,却苦于高昂的获取成本和漫长的等待时间?今天为您详细介绍一款能够彻底改变游戏体验的开源工具,让您轻松解锁所有游戏内容,享受更加丰富的雀魂世界。 【免费下载链接】MajsoulMax 项目地…

张小明 2026/1/17 23:09:57 网站建设

电子商务网站开发平台图网站空间域名购买

系统自带的仓库服务器在国外,有时更新下载速度比较慢,软件包也不全,我们可以采用第三方,本文以中国科技大学提供的库为例进行配置。 配置前先把系统自带的所有库文件进行备份。 cd /etc/yum.repos.d cp centos-addons.repo cent…

张小明 2026/1/17 23:09:58 网站建设

思帽网站建设常州网站推广软件厂家

Bootstrap Icons字体生成终极指南:从SVG到WOFF2的完整实践 【免费下载链接】icons Official open source SVG icon library for Bootstrap. 项目地址: https://gitcode.com/gh_mirrors/ic/icons 在现代前端开发中,图标管理一直是开发者面临的重要…

张小明 2026/1/17 23:09:58 网站建设

对网站和网页的认识百度搜索网页

EmotiVoice能否生成动物拟人化语音?卡通角色发声尝试 在动画电影中,一只傲娇的猫咪翻着白眼说“哼!我才不是关心你呢”,声音里带着鼻音和微微颤抖的高音调;森林深处的狼人低沉地咆哮:“这片领地不容侵犯&a…

张小明 2026/1/17 23:09:57 网站建设

企业网站多少钱一年网站仿制可用于商业吗

一、引言 网络钓鱼攻击现状分析 CNNIC公共互联网反网络钓鱼工作组简介 “网络钓鱼攻防演练”的目标与意义 dnstwist工具介绍及其在网络钓鱼防御中的作用 二、准备工作 安装环境准备 操作系统要求 Python版本需求 必要的Python库安装 获取dnstwist-master源码 GitHub仓库地址 下…

张小明 2026/1/17 23:10:00 网站建设

网站建设专业导航网站wordpress安卓源码分析

Samba故障排查全攻略 1. 网络基础测试 在排查Samba问题时,首先要确保网络基础正常。这涉及到多个方面的测试,下面将详细介绍。 1.1 测试本地名称服务 在Samba服务器的shell中尝试ping本地主机名 localhost 。 localhost 是回环接口 127.0.0.1 的传统主机名,应该能…

张小明 2026/1/17 23:09:59 网站建设