个人理解,单例模式就是创建一个独一无二的对象,在我们需要时才创建,如果用全局静态变量代替的话,就必须在程序一开始就创建,可能造成资源浪费。 单例模式确保一个类只有一个实例,并提供一个全局的访问点。 先来看看一个经典的单例模式代码: 但是如果是多线程的话,会出问题。以下是改进后的代码。 具体使用哪种, ...
分类:
其他好文 时间:
2017-05-30 22:02:30
阅读次数:
163
01.Main函数是什么?在程序中使用Main函数有什么需要注意的地方?02.CLR是什么?程序集是什么?当运行一个程序集的时候,CLR做了什么事情?03.值类型的默认值是什么?(情况一:字段或全局静态变量变量;情况二:局部变量)04.声明一个变量时在内存中做了什么事情?初始化一个变量的时候又在内存 ...
分类:
Web程序 时间:
2017-04-13 12:58:15
阅读次数:
245
程序的内存分为四个部分: 代码区 全局栈 堆 局部栈 代码区存放执行代码,以及一些全局常量,宏定义等内容。 全局栈存放着全局静态变量。 局部静态变量存放在局部栈中。 malloc,new等对象存放在堆当中。 堆的本质上是一种连表结构,里面存放着分配的空间,下一个分配空间的地址,上一个分配空间的地址, ...
分类:
其他好文 时间:
2017-04-07 01:05:37
阅读次数:
142
脏读一个常见的概念。在多线程中,难免会出现在多个线程中对同一个对象的实例变量或者全局静态变量进行并发访问的情况,如果不做正确的同步处理,那么产生的后果就是"脏读",也就是取到的数据其实是被更改过的。注意这里 局部变量是不存在脏读的情况多线程线程实例变量非线程安全看一段代码:public class ... ...
分类:
编程语言 时间:
2017-03-23 18:56:20
阅读次数:
281
回顾 自定义函数:返回值,参数传值(值传递和引用传递),作用域(全局和局部,超全局),静态变量(函数计数器:static 变量 = 值;)。 匿名函数:变量+() 伪类型:告诉用户当前数据的类型 可变函数:通过变量构造函数访问 数据类型判断:is_数据类型 数据类型转换:强制转换和自动转换,sett... ...
分类:
编程语言 时间:
2017-02-22 19:59:16
阅读次数:
309
在说Xcode自带测试方法前先讲下程序在内存中的空间划分, 一般可分为5个部分: #1. BSS段, 存放未初始化的全局变量. BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 #2. 数据段, 存放已初始化的全局变量和全局静态变量. 数据段属于静态内存分 ...
分类:
移动开发 时间:
2017-02-07 01:18:32
阅读次数:
296
一、程序方面 01、务必删除脚本中为空或不需要的默认方法; 02、只在一个脚本中使用OnGUI方法; 03、避免在OnGUI中对变量、方法进行更新、赋值,输出变量建议在Update内; 04、同一脚本中频繁使用的变量建议声明其为全局变量,脚本之间频繁调用的变量或方法建议声明为全局静态变量或方法; 0 ...
分类:
编程语言 时间:
2017-02-06 16:47:50
阅读次数:
229
常量存储总结局部变量、静态局部变量、全局变量、全局静态变量、字符串常量以及动态申请的内存区 1、局部变量存储在栈中2、全局变量、静态变量(全局和局部静态变量)存储在静态存储区3、new申请的内存是在堆中4、字符串常量也是存储在静态存储区 补充说明:1、栈中的变量内存会随着定义所在区间的结束自动释放; ...
分类:
编程语言 时间:
2016-09-18 10:08:32
阅读次数:
161
Android code wiki Tip1: 类的全局静态变量的使用,这样可以静态变量只分配一次内存,可以不通过类的对象也就是可以通过类名直接使用该变量。(使用场景:Request_Code ,Result_Code,Log Tag,权限名字,Activity之间传递参数Name eg:bundl ...
分类:
移动开发 时间:
2016-08-23 14:57:26
阅读次数:
393
一个计时器,同时开启100个线程,每个线程休眠1ms钟后,将全局静态变量count加1,这100个线程创建完之后,休眠500ms,计算总耗时,程序如下: 运行结果: Counter.count=96耗时:506 Counter.count不等于100是因为count++线程不安全。 加上同步代码块: ...
分类:
编程语言 时间:
2016-05-13 18:44:16
阅读次数:
342