当前位置: 首页 > wzjs >正文

网页的制作教程西安区seo搜索排名优化

网页的制作教程,西安区seo搜索排名优化,浙江网站设计 site,wordpress怎么获取在线ip一、代码块分类概览 Java代码块分为三类,用于控制代码执行时机和变量生命周期: 代码块类型声明位置执行时机核心作用​​局部代码块​​方法内部方法调用时控制变量作用域(已淘汰)​​构造代码块​​类内部(非static…

一、代码块分类概览

Java代码块分为三类,用于控制代码执行时机和变量生命周期:

代码块类型声明位置执行时机核心作用
​局部代码块​方法内部方法调用时控制变量作用域(已淘汰)
​构造代码块​类内部(非static)对象实例化时抽取构造方法重复代码
​静态代码块​类内部(static修饰)类加载时(仅一次)初始化静态资源(重点)

二、局部代码块(淘汰技术)

1. 基本语法

public void demoMethod() {// 普通代码{ // 局部代码块开始int temp = 10;System.out.println(temp);} // 局部代码块结束// System.out.println(temp); // 编译错误:temp不可访问
}

2. 历史作用

  • ​变量生命周期控制​​:手动限制变量作用域(JVM优化后已无必要)
  • ​内存管理​​:早期帮助回收临时对象(现代JVM自动优化)

3. 淘汰原因

  • 现代IDE智能提示变量作用域
  • JVM自动优化变量存储
  • 代码可读性降低(推荐使用小方法代替)

三、构造代码块(谨慎使用)

1. 基本语法

public class User {// 构造代码块(每次new对象执行){System.out.println("对象初始化开始");}public User() {} // 构造方法1public User(String name) {} // 构造方法2
}

 2. 核心作用

public class DatabaseConnection {private String url;// 构造代码块抽取重复逻辑{loadConfig(); // 公共初始化方法}public DatabaseConnection() {// 自动执行构造代码块}public DatabaseConnection(String customUrl) {this.url = customUrl;// 仍然自动执行构造代码块}private void loadConfig() {// 加载配置逻辑}
}

3. 使用限制

  • ​执行顺序​​:先于构造方法执行
  • ​灵活性缺陷​​:所有构造方法强制执行代码块
  • ​替代方案​​:推荐使用init()方法显式调用

四、静态代码块(重点掌握)

1. 基本语法

public class ConfigLoader {// 静态代码块(类加载时执行一次)static {System.out.println("加载全局配置");loadDatabaseConfig(); // 静态方法调用}private static void loadDatabaseConfig() {// 初始化数据库连接池}
}

2. 典型应用场景

​场景1:驱动注册(JDBC标准做法)​

public class JdbcUtil {static {try {Class.forName("com.mysql.cj.jdbc.Driver"); // 驱动注册} catch (ClassNotFoundException e) {throw new ExceptionInInitializerError(e);}}
}

场景2:复杂静态数据初始化​

public class MathConstants {public static final Map<String, Double> CONSTANTS;static {Map<String, Double> tempMap = new HashMap<>();tempMap.put("PI", 3.141592653589793);tempMap.put("E", 2.718281828459045);CONSTANTS = Collections.unmodifiableMap(tempMap); // 创建不可变集合}
}

3. 高级特性

  • ​执行顺序控制​​:多个静态块按声明顺序执行
public class ExecutionOrder {static { System.out.println("静态块1"); }static { System.out.println("静态块2"); }
}
// 输出顺序:静态块1 → 静态块2
  • ​异常处理​​:静态块异常导致类加载失败
public class ErrorDemo {static {int result = 1 / 0; // 抛出ArithmeticException}
}
// 类加载时报ExceptionInInitializerError

五、对比总结与最佳实践

1. 核心区别总结

特性局部代码块构造代码块静态代码块
执行次数每次方法调用每次new对象类加载一次
存储位置栈内存堆内存方法区
是否可抛异常可处理可处理需捕获或终止加载
访问权限仅限方法内部可访问实例变量仅访问静态成员

2. 工程实践建议

​局部代码块​

  • 避免在新项目中使用
  • 重构为独立方法提升可读性

​构造代码块​

  • 优先使用构造方法链(this()调用)
  • 复杂初始化建议使用建造者模式

​静态代码块​

  • 资源初始化需添加异常处理
static {try {// 初始化代码} catch (Exception e) {throw new ExceptionInInitializerError(e);}
}

  • 多线程环境注意线程安全
public class Singleton {private static volatile Singleton instance;static {instance = new Singleton(); // 饿汉式单例}
}

结语

掌握三类代码块的特性和适用场景是编写高质量Java代码的基础:

  • 理解静态代码块的 ​​一次性初始化​​ 机制
  • 避免构造代码块的 ​​滥用风险​
  • 认识局部代码块的 ​​历史局限性​

在实际开发中,建议结合IDE的代码分析工具(如IntelliJ IDEA的Analyze → Inspect Code)检查代码块使用合理性,遵循“静态资源用静态块,对象初始化用构造方法”的原则,构建高可维护性的Java应用。

http://www.dtcms.com/wzjs/148162.html

相关文章:

  • 进一步提高政府网站建设水平安徽seo团队
  • 做网站论文研究方法怎么写谷歌搜索引擎下载安装
  • wordpress一键 centos太原网站优化公司
  • 广东上海专业网站建设公司哪家好营销app
  • 做网站服务器多大的好网页制作代码模板
  • 深圳电商网站制作企业网站制作教程
  • 做一级域名网站多少钱阿里巴巴seo排名优化
  • 上海网站建设制作公商品推广软文800字
  • 网站用的是什么字体收录网站的平台有哪些
  • 国家企业信息管理系统官网深圳seo关键词优化
  • 三亚市住房与城乡建设局网站衡水网站seo
  • 幼儿园网站设计代码google免费入口
  • 邓州市网站建设seo搜索引擎优化到底是什么
  • 阿里云 企业网站做网站需要什么技术
  • 专业的论坛网站建设简述网络营销与传统营销的整合
  • 平台推广网站排名十八未成年禁用免费app
  • 网站过程建设太原seo关键词优化
  • 域名怎么解析到服务器上济南网站优化
  • 将自己做的网站入到阿里云域名上推广营销
  • 如何把jQuery特效做网站背景邯郸网站建设优化
  • 免费网站下载app软件获客软件排名前十名
  • 计算机网络技术出来干什么安卓优化大师旧版本下载
  • 网站建设实施方案站长工具seo综合查询引流
  • 海南省建设执业资格注册管理中心网站如何创建微信小程序
  • 北京网站建设 shwl百度客服
  • 临沭县哪里有建网站的重庆百度关键词推广
  • fiverr找人做网站靠谱吗大亚湾发布
  • 网站开发仓库管理系统需求分析sem竞价托管费用
  • 陇南建设网站精准粉丝引流推广
  • 怎样给网站做 站内搜索宜兴百度推广公司