头痛头痛之一: java里面,本质上来说,一个类是一个程序员定义的类型,类是一种引用类型(reference type),这意味着该类类型的变量都可以引用该类的一个实例。从表面上,对象引用变量中似乎存放了一个对象,但事实上,它只是包含了对该对象的引用。严格来讲,对象引用变量和对象是不同的,对象(ne ...
分类:
编程语言 时间:
2017-11-10 20:31:28
阅读次数:
193
内存管理管理的是哪的内存?其实我们要管理的就是堆区的内存空间和任何继承NSObject的对象 1.首先要明确的一点是内存总共分为五大区,分别是栈区,堆区,BSS段,数据区和代码区; 2.BSS段,数据区和代码区这三大区是随着程序的启动加载到内存空间的,我们熟知的全局变量就存储在这里,不过分为两种情况 ...
分类:
移动开发 时间:
2017-11-01 15:00:45
阅读次数:
142
内存四区包括静态区,代码区,堆区,栈区存储地址一次下降静态区:全局变量和静态变量存储在静态区。堆区malloc的变量放在堆区,堆区一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。堆的增长方式由低..
分类:
其他好文 时间:
2017-10-26 22:50:57
阅读次数:
124
1.管道chan吞吐极限10,000,000,单次Put,Get耗时大约100ns/op,无论是采用单Go程,还是多Go程并发(并发数:100, 10000, 100000),耗时均没有变化,Go内核这对chan进行优化。 解决之道:在系统设计时,避免使用管道chan传递主业务数据,避免将业务流程处 ...
分类:
其他好文 时间:
2017-10-23 21:38:05
阅读次数:
281
Day1:第一个python小程序与开发工具Pycharm 一、Hello World 直接在windows的命令行下敲 二、开发工具:Pycharm 优势明显,开发效率高,自动补全,可调试 建项目(S14)-目录(day1)-python文件 1.默认模版 #!/usr/bin/env pytho ...
分类:
编程语言 时间:
2017-10-15 14:33:12
阅读次数:
161
内存 :code segment(代码区 二进制代码),data segment(数据区),stack(栈),heap(堆) 静态变量(类级别)/字符串常量 数据区(基本类型,final,static) 局部变量(string s = "Hello world!";函数参数) 栈 new/动态分配内 ...
分类:
其他好文 时间:
2017-10-13 10:14:17
阅读次数:
137
下面的示例来至于阿里巴巴Java开发手册的集合处理部分的第7条: 运行如下代码,会发现正确运行。 但是运行如下代码,则异常:java.util.ConcurrentModificationException(和1中的代码区别是上面移除判断条件是1,下面的判断条件是2) 再看如下代码示例,运行结果见注 ...
分类:
编程语言 时间:
2017-10-11 18:17:13
阅读次数:
233
lock 的目的很明确:就是不想让别人使用这段代码,体现在多线程情况下,只允许当前线程执行该代码区域,其他线程等待直到该线程执行结束;这样可以多线程避免同时使用某一方法造成数据混乱。 一般定义如下: private static readonly object obj = new object(); ...
C内存管理 存储时: 执行程序在存储时(没有调入到内存)分为代码区(text)、数据区(data)和未初始化数据区(bss)3个部分。 1 代码区(text segment) 存放CPU执行的机器指令(machine instructions)。通常,代码区是可共享的(即另外的执行程序可以调用它), ...
分类:
编程语言 时间:
2017-10-10 13:03:27
阅读次数:
164
首先是操作系统将代码程序加载到内存中 然后将内存分为4个区 栈区,程序的局部变量区,函数传递的参数,由编译器自动进行内存资源的释放。 堆区,动态内存申请,如果不手动释放内存,则这块内存不会进行析构。 全局区,静态区,常量区(字符串存放的位置),程序结束后,有操作系统释放 代码区,存放函数体的二进制代 ...
分类:
编程语言 时间:
2017-10-06 20:37:11
阅读次数:
159