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

正在加载类,静态数据…

“你好,阿米戈!听说里希告诉了你一些新颖而有趣的事情?!”

“不错,金。”

“我的话题也一样有趣。我想告诉你内存中如何加载类。”

Java 中的类是磁盘上包含字节码(即已编译的 Java 代码)的文件。

“是的,我记得。”

如果不需要,Java 机器就不会加载。一旦在代码中的某个地方调用了某个类,Java 机器就会检查是否已加载该类。如果不加载,机器会加载并初始化。

初始化类涉及为所有静态变量赋值并调用所有静态初始化块。

“这似乎类似于在对象上调用构造方法。但是,什么是静态初始化块?”

“如果你要执行复杂的代码(例如,从文件中加载内容)来初始化对象,我们可以在构造方法中完成。不过静态变量可不行。既然仍需要,你可以在类中添加静态初始化块。它们基本上等同于静态构造方法。”

看起来如下所示:

代码实际发生的情况如下
class Cat
{
public static int catCount = 0 ;
public static String namePrefix;static
{
Properties p = new Properties();
p.loadFromFile("cat.properties");
namePrefix = p.get("name-prefix");
}public static int maxCatCount = 50;static
{
Properties p = new Properties();
p.loadFromFile("max.properties");
if (p.get("cat-max") != null)
maxCatCount = p.getInt("cat-max");
}}
class Cat
{
public static int catCount;
public static String namePrefix;
public static int maxCatCount;//Static constructors aren't allowed in Java,
//but if they were, everything
//would look like this
public static Cat()
{
catCount = 0;Properties p = new Properties();
p.loadFromFile("cat.properties");
namePrefix = p.get("name-prefix");maxCatCount = 50;Properties p2 = new Properties();
p2.loadFromFile("max.properties");
if (p2.get("cat-max")!=null)
maxCatCount = p2.getInt("cat-max");
}
}

Repeat the following code:

class Cat
{
public static int catCount = 0;
public static String namePrefix;
static
{
Properties p = new Properties();
p.loadFromFile("cat.properties");
namePrefix = p.get("name - prefix")

}
public static int maxCatcount = 50;
static
{
Properties p = new Properties();
p.loadFromFile("max.properties");
if(p.get("cat-max")!=null)
maxCatCount = p.getInt("cat-max");

}
}

这很像调用构造方法时发生的事情。我甚至将其编写为(不存在的)静态构造方法。

“嗯,我明白了。”

“非常好。”

http://www.dtcms.com/a/470681.html

相关文章:

  • Python语言基础入门:从零开始掌握Python编程
  • Dioxus hot-dog 总结
  • 罗湖网站 建设深圳信科学编程入门
  • 大语言模型出现幻觉的本质
  • Windows安装RabbitMQ消息队列
  • Linux中kfree内存回收函数的实现
  • 北京网站开发飞沐如何做网站的教程二维码
  • 6自由度模拟地震振动台试验系统
  • 东莞官方网站温州seo收费
  • 千亿级赛道,Robobus 赛道中标新加坡自动驾驶巴士项目的“确定性机会”
  • 滴滴自动驾驶张博:坚持负责任的科技创新,积极探索新型就业空间
  • 建设公司怎么做网站运营模拟建筑2022手机版
  • 网站设计价格网站建设与管理专业
  • (六) Dotnet在AI控制台案例启用遥测数据与工具函数调用
  • 生产线操作工行为识别方案
  • Windows下快速安装Composer教程
  • 游戏交易网站开发莱芜网红
  • 静态网站怎么更新哪些网站是用织梦做的
  • (项目管理系列课程)项目规划阶段:项目范围管理-创建WBS
  • app的制作流程图苏州优化件
  • 图生3D技术解析:从二维平面到立体世界的智能飞跃
  • 东莞黄江建设银行网站做wordpress总结
  • 网站 pinghei做爰全过程免费狐狸网站
  • 网站常用的优化方法有哪些网页设计模板html代码ie
  • 国内如何升级GitHub Copilot到专业版
  • 小说网站开发流程具体火车头wordpress免登录发布
  • 济南中建设计院 官方网站米课wordpress建站
  • 从指令遵循到价值对齐:医疗大语言模型的进阶优化、对齐与工具集成综合技术白皮书
  • 个人商城网站备案医院网站源码php
  • 基于螳螂虾优化的LSTM深度学习网络模型(MShOA-LSTM)的一维时间序列预测算法matlab仿真