static是用来修饰成员变量和成员方法,也可以形成静态static代码块。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在 ...
分类:
编程语言 时间:
2018-11-17 20:55:51
阅读次数:
203
一、概念部分 静态变量:在类中,用static声明的成员变量为静态变量(也叫类变量、类属性)。 二、静态变量的特点 1.它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化 2.对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享 3.可以使用”对象.类属 ...
分类:
其他好文 时间:
2018-11-14 15:36:00
阅读次数:
214
本文转自:https://www.cnblogs.com/shen-hua/p/5440285.html 成员内部类 特征: 1. 作为外部类的一个成员存在,与外部类的属性、方法并列 2. 成员内部类持有外部类的引用(能直接使用外部类的方法、属性) 3. 成员内部类中不能定义static变量和方法 ...
分类:
其他好文 时间:
2018-11-08 12:41:35
阅读次数:
170
1、c++中方法 存储在单独的方法表中,fuction——table,类中有方法指针来指向方法表中方法的实际地址,static和nonstatic 方法都存储在方法表中。 2、c++中类的对象的 成员变量存在class中,static 变量存储在class之外。 3、c++的成员指针式类似slot ...
分类:
编程语言 时间:
2018-10-17 14:54:02
阅读次数:
160
static关键字至少有下列n个作用: (1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问 ...
分类:
其他好文 时间:
2018-10-13 02:25:05
阅读次数:
99
一、内存分配分类 1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 2.在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。 3.从堆上分配,亦称动态内存分配。程序在 ...
分类:
其他好文 时间:
2018-10-04 10:54:37
阅读次数:
120
平台: x86_64 GCC: 7.3 有如下两个文件: b.c: a.c: 然后编译运行: 可以看到,在访问返回的地址时发生了段错误,第一感觉不应该啊,b.c里定义的是static变量,并不是局部变量啊。那么我们把返回的指针具体数值打印出来,看跟b.c中打印的是否一致,修改a.c如下: 运行如下: ...
分类:
其他好文 时间:
2018-09-29 20:31:11
阅读次数:
330
我在写程序的时候想过的以下这些问题,不知道大家是不是都是这样: 1. 类是怎么加载的,存储在哪里?类的对象存储在哪里,类和类对象怎么关联、对应的? 2. 方法存在哪里?子类继承父类之后覆盖父类的方法之后JVM什么机制执行子类or父类方法? 3. static变量和普通变量是放着一起吗? 4. 为什么 ...
分类:
其他好文 时间:
2018-09-29 16:48:52
阅读次数:
163
线程,是我们项目中绕不过的重点领域。提到线程,就常会听到线程安全的术语。那什么是线程安全呢?通俗点说,就是线程访问时不产生资源冲突。其实,这是一个有点难以定义的概念,不是很容易让人一听就懂的概念。“一个类可以被多个线程安全调用就是线程安全的”《Java并发编程实践》。 来说说静态变量、实例变量、局部 ...
分类:
编程语言 时间:
2018-09-20 15:56:52
阅读次数:
314
static总结:根据作用域,存储域,生命周期3点来说 static含义: 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 (1)标准C语言中,static的最主要功能是隐藏,其次因为static变量存放在静态存储区,所以它具备持久性和默认值0。 1、隐藏指的是作用域的区别,如果 ...
分类:
编程语言 时间:
2018-09-15 13:11:27
阅读次数:
219