- 浏览: 148888 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (110)
- CoreJava (18)
- 待解决 (1)
- 数据结构 (3)
- 科普 (2)
- 网站 (1)
- DataBase (8)
- Access (1)
- Asp (1)
- JSP (1)
- 操作系统 (8)
- Tech (1)
- Linux (11)
- Career (5)
- MongoDB (1)
- Embedded (1)
- JavaScript (1)
- UltraIso (1)
- Linux命令 (1)
- DesignPattern (1)
- Ruby (13)
- Vim (1)
- 自考 (2)
- Github (5)
- zrProject (1)
- Emacs (4)
- Math (3)
- Ajax (1)
- 没看懂 (1)
- HTML (1)
- Philosophy (1)
- 软件 (1)
- 面试 (1)
- 考试报名 (3)
- Regex (1)
- 日语 (1)
- 生活 (1)
最新评论
标准规定static变量保证在第一次使用前初始化,但是并不保证一定会在程序开始运行前初始化。
对于简单类型,一般是放在bss段里,程序载入的时候已经被设定好了初值,但是对于对象来说,并没有规定对象的构造函数一定要在某个时刻调用,只是保证在第一次使用前会被调用。
考虑一个极端情况,假设系统上有一个动态库,其中实现了一个类,并且定义了该类的一个static/global实例,如果这个OS做得够聪明,很可能在程序没有使用这个动态库前根本就不载入它,此时这个static对象根本就不存在,直到程序使用了这个动态库,OS将其载入,并通过特定的手段对这个动态库进行初始化(比如Win32中的DllEntryPoint),直到这个初始化过程结束后,该对象才被真正的建立。
发表评论
-
利用反射实现ORM
2012-03-28 13:37 987http://royzhou1985.iteye.com ... -
Eclipse插件安装
2012-03-28 09:29 907装载:http://gooss.org/are-two- ... -
Date & Calendar 类的使用
2012-03-27 14:19 665Java 语言的Calendar(日历),Date(日期 ... -
Java文件流 编码问题 - 读取文件时指定字符编码
2012-03-25 22:04 11536折磨了一天的问题,终于在黄昏的时候解决了,现在一吐为 ... -
打jar包
2012-02-04 17:12 747其实JAR文件的格式是ZIP ... -
JavaBean - Bound属性
2012-02-04 15:54 9994.4.3 Bound属性 Bound属性表示当该种 ... -
怎样在程序里获得一个空指针?
2012-01-28 15:56 6696.2 怎样在程序里获 ... -
制作可执行的Jar包
2012-01-22 16:35 737通常有两种,一种是制 ... -
Thread Local
2012-01-22 10:28 754What is Thread Local? Threa ... -
Jni介绍
2011-10-26 19:33 590http://baike.baidu.com/view/127 ... -
获取外网IP地址
2011-10-26 18:47 905访问 http://checkip.dyndns.org/ -
this 与 getSource() 细节
2011-10-14 19:33 702一个对象实例化之后,在它的方法体中出现的this就是指自身。a ... -
String 引用类型与基本类型区别
2011-10-13 22:20 809String a="A"; Stri ... -
为什么会有serialVersionUID
2011-10-13 21:17 623java文件中为什么会有s ... -
抽象类与接口的区别
2011-10-09 11:30 550首先,我们来看一下抽象类的概念,java编程思想中说“万物皆对 ... -
transient用法
2011-09-19 11:16 804Java的serialization提供了一种持久化对象实例的 ... -
例1.1 TextFileTest
2011-07-06 23:19 668package SectionIO; import java ...
相关推荐
### C语言中static变量使用方法详解 在C语言编程中,`static`关键字扮演着一个非常重要的角色,尤其是在处理变量的存储方式、作用域以及生命周期方面。本文将深入探讨C语言中`static`变量的使用方法,包括静态局部...
- **外部静态变量**(全局变量前加上`static`):作用域限于声明它的源文件内,生命周期同样贯穿整个程序运行过程。 - **特点**: - 内部静态变量在每次函数调用时保留上次的值。 - 外部静态变量只在定义它的...
- **静态变量(Static Variables)**:使用`Static`关键字声明的局部变量,即使过程执行结束,其值也会保留,下一次再调用该过程时,它仍保持上一次的值。 - **持久变量(Persistent Variables)**:如模块级变量...
绝对过期会在特定时间后移除缓存项,滑动过期则是在最近访问后的一段时间内有效,而依赖性过期则可以根据其他资源(如数据库表)的状态来决定缓存的生命周期。 在"LookUpDataCacheExample"示例中,我们可以预见到...
在编程领域,变量的作用域和生存周期是理解程序行为的关键因素。全局变量、局部变量、静态全局变量、静态局部变量这四种变量类型,各自拥有不同的作用域和生命周期,它们之间的区别对于编写高效、可维护的代码至关...
2. 生命周期:静态变量生存周期为应用程序的存在周期,而非静态变量的生存周期取决于实例化的类的存在周期。 3. 调用方式:静态变量只能通过“类.静态变量名”调用,类的实例不能调用;非静态变量当该变量所在的类被...
如果在函数内部定义,`static`变量的作用域仍限于该函数,但其生命周期会持续到程序结束。而在函数外部定义的`static`变量则是全局的,但仅在定义它的文件内可见。`extern`用于声明全局变量或在其他文件中定义的`...
`static`关键字在C/C++中提供了强大的功能,从控制变量和函数的作用域,到管理数据的生存周期,再到面向对象编程中的类级资源共享,它都是不可或缺的编程工具。理解`static`的不同用法和特性,对于编写高效、健壮和...
在函数外使用`static`声明的变量具有内部链接,而在函数内部使用的`static`变量则具有无链接,但是它们的共同点是都有静态生存周期。 - **extern**:`extern`关键字用于声明一个变量或函数具有外部链接,这意味着...
3.1.1 示例3-1展示了全程生存期和动态生存期的区别,通过for循环打印变量值,可以直观地看到全局变量和局部变量在生命周期上的差异。 3.1.2 变量的作用域: 作用域决定了变量在哪部分代码中可以被访问。全局作用域...
变量生存期是指变量从创建到销毁的时间段。变量的生存期与作用域密切相关,但它们并不是同一个概念。根据变量的存储类型不同,其生存期也有所不同。 1. **自动变量**: - 生存期:从变量定义处到函数结束。 - ...
【变量的作用域与生存期】在C语言中是编程中非常关键的概念,它涉及到变量的定义、使用范围以及生命周期。作用域决定了变量在程序中的可见性,而生存期则决定了变量何时被创建以及何时被销毁。 1. **作用域**: - ...
- `static`:静态存储类别,可以用于局部变量(使它在函数调用之间保留值)和全局变量(限制其作用域)。 - `extern`:用于在其他地方声明全局变量,使得它们在整个程序中可见。 4. 变量的存储属性: 除了存储...
- 静态全局变量:在文件作用域中声明的`static`变量,只在当前文件可见,不会污染全局命名空间,避免了同名变量冲突的问题。 - 静态局部变量:在函数内部声明的`static`变量,仅在该函数内部可见,但其值在函数多...
在PHP编程语言中,理解和掌握变量、常量以及它们的作用域和生存周期是至关重要的。本文将深入浅出地分析这些概念。 首先,PHP中的变量是动态类型,意味着你无需在声明时指定变量的类型。变量以"$"符号开头,如 `$...
- **全局性:** 局部静态变量的生存期覆盖整个程序的运行周期。 **示例程序一:** ```cpp #include using namespace std; void staticLocalVar() { static int a = 0; // 运行期时初始化一次,下次再调用时不...
变量的作用域和生存期是编程语言中的核心概念,它们决定了变量在程序中的可见性和生命周期。在C语言等静态类型的编程语言中,理解这些概念对于编写高效、无误的代码至关重要。 1. **变量的作用域(空间特性)** - ...
- 生存周期仅在函数执行过程中。 - **静态的 (static)**: - 局部静态变量在整个程序运行期间存在。 - 即使函数调用结束,其值也会保留。 - **寄存器 (register)**: - 提示编译器将该变量存储在CPU寄存器中,以...
- `static`用于控制变量的作用域和生命周期,可以使变量具有文件内部作用域或使局部变量具有全局生存期。 理解这两个关键字对于编写高效、模块化的代码至关重要。希望本文能帮助读者更好地掌握`extern`和`static`的...