用代码例子看一个数据区中常量区: #include <stdio.h>#include <stdlib.h> char *getStr1(){ char *pstr1 = "adfag";//pstr1是局部变量,在声明时入栈,函数结束后出栈 return pstr1;} char *getStr2 ...
分类:
其他好文 时间:
2019-01-04 22:00:14
阅读次数:
246
变量的生命周期是怎么管理的? 一 内存四区 C/C++程序占用的内存分为四个区: 栈区,堆区,数据区,代码区。 1 栈区 存放函数的参数值,局部变量的值等。如 int a; int *p; 这儿的a和p都存放在栈中。 由编译器自动分配释放。 2 堆区 存放由程序员动态申请的变量。(malloc, n ...
分类:
其他好文 时间:
2019-01-04 21:59:49
阅读次数:
193
原文连接:https://www.cnblogs.com/ityouknow/p/5603287.html 类加载机制的奥妙。 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用 ...
分类:
编程语言 时间:
2019-01-03 18:10:04
阅读次数:
191
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区 ...
分类:
其他好文 时间:
2018-12-26 20:06:05
阅读次数:
125
这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助。 先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信 ...
分类:
其他好文 时间:
2018-12-26 15:55:13
阅读次数:
128
功能快捷键功能快捷键 加粗Ctrl + B斜体Ctrl + I 引用Ctrl + Q插入链接Ctrl + L 插入代码Ctrl + K插入图片Ctrl + G 提升标题Ctrl + H有序列表Ctrl + O 无序列表Ctrl + U横线Ctrl + R 撤销Ctrl + Z重做Ctrl + Y 2 ...
分类:
其他好文 时间:
2018-12-23 16:59:23
阅读次数:
148
虽然是hard,但是意外的不是很难和56题相类似 有一堆区间,这些区间相互没有交集,且顺序按照start从小到大排列,现在插入一个新的区间,求合并后的区间列表 将原来的区间分为三种,一种在插入区间之前的,一种和插入区间有交集的,一种在插入区间之后的,分别处理即可 ...
分类:
其他好文 时间:
2018-12-23 16:57:40
阅读次数:
109
JavaScript 系列博客(三) 前言 本篇介绍 JavaScript 中的函数知识。 函数的三种声明方法 function 命令 可以类比为 python 中的 def 关键词。 function 命令声明的代码区块,就是一个函数。命令后面是函数名,函数名后面的圆括号里面是要传入的形参名。函数 ...
分类:
编程语言 时间:
2018-12-21 01:01:02
阅读次数:
222
2018/12/18 周二 1. C++内存布局分为几个区域,每个区域有什么特点? 主要可以分为 5 个区域, (1) 栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 (2) 堆区:由程序员分配释放。 (3) 全局/静态区:全局变量和静态变量的存储是放 ...
分类:
编程语言 时间:
2018-12-21 01:00:28
阅读次数:
215
当一个程序运行时,其RAM存储方式是按照一定的区域划分的,以C为例 内存中的栈区处于相对较高的地址向较低的地址拓展,由操作系统决定的最高地址,所以它是一块连续的内存空间。 栈中分配局部变量空间,堆区是低地址向高地址拓展,用于分配程序员申请的内存空间。另外还有静态区是分配静态变量,全局变量空间的;只读 ...
分类:
Web程序 时间:
2018-12-20 21:07:42
阅读次数:
391